o
    ˷e                     @   s|   d dl Z d dlZdd Zdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd ZdS )    Nc                  C   sP   t dd} tdd |  D }t | d}|tdd |  D ks&J d S )N      c                 s       | ]\}}|V  qd S N .0ndr   r   Z/var/www/ideatree/venv/lib/python3.10/site-packages/networkx/algorithms/tests/test_swap.py	<genexpr>       z(test_double_edge_swap.<locals>.<genexpr>(   c                 s   r   r   r   r   r   r   r   r      r   nxbarabasi_albert_graphsorteddegreedouble_edge_swapgraphdegreesGr   r   r   test_double_edge_swap	   s   "r   c                  C   sT   t dd} tdd |  D }t j| ddd}|tdd |  D ks(J d S )Nr   r   c                 s   r   r   r   r   r   r   r   r      r   z-test_double_edge_swap_seed.<locals>.<genexpr>r   seedc                 s   r   r   r   r   r   r   r   r      r   r   r   r   r   r   test_double_edge_swap_seed   s   "r   c                  C   sb   t dd} tdd |  D }t j| ddd}t | s J |tdd |  D ks/J d S )Nr   r   c                 s   r   r   r   r   r   r   r   r      r   z2test_connected_double_edge_swap.<locals>.<genexpr>r   r   c                 s   r   r   r   r   r   r   r   r      r   r   r   r   r   connected_double_edge_swapis_connectedr   r   r   r   test_connected_double_edge_swap   s
   "r    c                  C   sd   t dd} tdd |  D }t j| dddd}t | s!J |tdd |  D ks0J d S )	Nr   r   c                 s   r   r   r   r   r   r   r   r   !   r   zGtest_connected_double_edge_swap_low_window_threshold.<locals>.<genexpr>r   r   _window_thresholdr   c                 s   r   r   r   r   r   r   r   r   $   r   r   r   r   r   r   4test_connected_double_edge_swap_low_window_threshold   s
   "r#   c                  C   s`   t d} tdd |  D }t j| ddd}t | sJ |tdd |  D ks.J d S )Nr   c                 s   r   r   r   r   r   r   r   r   *   r   z7test_connected_double_edge_swap_star.<locals>.<genexpr>r      r   c                 s   r   r   r   r   r   r   r   r   -   r   r   
star_graphr   r   r   r   r   r   r   r   $test_connected_double_edge_swap_star'   s
   
"r'   c                  C   sb   t d} tdd |  D }t j| dddd}t | s J |tdd |  D ks/J d S )	Nr   c                 s   r   r   r   r   r   r   r   r   3   r   zLtest_connected_double_edge_swap_star_low_window_threshold.<locals>.<genexpr>r   r   r$   r!   c                 s   r   r   r   r   r   r   r   r   6   r   r%   r   r   r   r   9test_connected_double_edge_swap_star_low_window_threshold0   s
   
"r(   c                  C   B   t tj ttd} W d    d S 1 sw   Y  d S N   pytestraisesr   NetworkXErrorr   
path_graphr   r   r   r   test_double_edge_swap_small9      "r2   c                  C   H   t tj tjtdddd} W d    d S 1 sw   Y  d S )N
   r   r   nswap	max_triesr,   r1   r   r   r   test_double_edge_swap_tries>      "r9   c                  C   sN   t ddg} tjt jdd t | }W d    d S 1 s w   Y  d S )N)r   r   )   r+   z not defined for directed graphs.)match)r   DiGraphr-   r.   r/   r   )r   r   r   r   r   test_double_edge_directedC   s   "r>   c                  C   r4   )Nr$   r      r6   )r-   r.   r   NetworkXAlgorithmErrorr   complete_graphr1   r   r   r   test_double_edge_max_triesI   r:   rB   c                  C   r)   r*   )r-   r.   r   r/   r   r0   r1   r   r   r   %test_connected_double_edge_swap_smallN   r3   rC   c                  C   sV   t tj td} t| g d t| } W d    d S 1 s$w   Y  d S )Nr+   )r5         )r-   r.   r   r/   r0   add_pathr   r1   r   r   r   -test_connected_double_edge_swap_not_connectedS   s
   
"rG   c                  C   sP   t d} tdd |  D }t | dd} |tdd |  D ks&J d S )Nr$   c                 s   r   r   r   r   r   r   r   r   \   r   z%test_degree_seq_c4.<locals>.<genexpr>r   d   c                 s   r   r   r   r   r   r   r   r   ^   r   )r   cycle_graphr   r   r   )r   r   r   r   r   test_degree_seq_c4Z   s   
"rJ   )r-   networkxr   r   r   r    r#   r'   r(   r2   r9   r>   rB   rC   rG   rJ   r   r   r   r   <module>   s    		