o
    ˷eY                     @   s^   d dl Zd dlmZmZmZ G dd dZG dd deZG dd deZG d	d
 d
eZ	dS )    N)assert_edges_equalassert_graphs_equalassert_nodes_equalc                   @   s$   e Zd Zedd Zedd ZdS )_GenericTestc                 C   s   |  || d S )N)_assert_func)clsab r
   X/var/www/ideatree/venv/lib/python3.10/site-packages/networkx/testing/tests/test_utils.py_test_equal   s   z_GenericTest._test_equalc                 C   s0   z|  || d}W td ty   Y d S w )NTz#a and b are found equal but are not)r   AssertionError)r   r   r	   passedr
   r
   r   _test_not_equal   s   z_GenericTest._test_not_equalN)__name__
__module____qualname__classmethodr   r   r
   r
   r
   r   r      s
    
r   c                   @   s0   e Zd ZeZdd Zdd Zdd Zdd Zd	S )
TestNodesEqualc                 C       g d}g d}|  || d S )N            )r   r   r   r   r   selfr   r	   r
   r
   r   test_nodes_equal      zTestNodesEqual.test_nodes_equalc                 C   r   )Nr   )r   r   r      r   r   r
   r
   r   test_nodes_not_equal   r   z#TestNodesEqual.test_nodes_not_equalc                 C   sT   t  }|jg ddd t  }|jg ddd | |jdd|jdd d S )Nr   r   r    redcolorTdata)nxGraphadd_nodes_fromr   nodesr   GHr
   r
   r   test_nodes_with_data_equal$   
    z)TestNodesEqual.test_nodes_with_data_equalc                 C   sT   t  }|jg ddd t  }|jg ddd | |jdd|jdd d S )Nr#   r$   r%   blueTr'   )r)   r*   r+   r   r,   r-   r
   r
   r   test_edges_with_data_not_equal+   r1   z-TestNodesEqual.test_edges_with_data_not_equalN)	r   r   r   r   r   r   r"   r0   r3   r
   r
   r
   r   r      s    r   c                   @   s`   e Zd Ze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 )TestEdgesEqualc                 C   s    ddg}ddg}|  || d S )Nr   r   r   r   r   r   r   r   r
   r
   r   test_edges_equal6   r   zTestEdgesEqual.test_edges_equalc                 C   s    ddg}ddg}|  || d S )Nr5   r6   r7   )r   r    r!   r   r
   r
   r   test_edges_not_equal;   r   z#TestEdgesEqual.test_edges_not_equalc                 C   s\   t  }t j|g ddd t  }t j|g ddd | |jddd|jddd d S )Nr   r   r   r   weightTr(   keys)r)   
MultiGraphadd_pathr   edgesr-   r
   r
   r   test_edges_with_data_equal@   s
   $z)TestEdgesEqual.test_edges_with_data_equalc                 C   s\   t  }t j|g ddd t  }t j|g ddd | |jddd|jddd d S )Nr:   r   r;   r   Tr=   )r)   r?   r@   r   rA   r-   r
   r
   r   r3   G   s   z-TestEdgesEqual.test_edges_with_data_not_equalc                 C   s4   t  }t  }| |jddd|jddd d S )NTr=   )r)   r?   r   rA   r-   r
   r
   r   test_no_edgesP   s   $zTestEdgesEqual.test_no_edgesc                 C   s    g d}ddg}|  || d S )N)r5   r6   r5   r7   r5   r!   r   r
   r
   r   test_duplicate_edgesU   r   z#TestEdgesEqual.test_duplicate_edgesc                 C   sB   ddddifdddddifg}ddddddifg}|  || d S )Nr   r   r<   
   r6   r7   r5   r!   r   r
   r
   r   test_duplicate_edges_with_dataZ   s   z-TestEdgesEqual.test_duplicate_edges_with_datac                 C   sH   ddddifddddifg}ddddifddddifg}|  || d S )Nr   r   r<   rE   r   r   r
   r
   r   test_order_of_edges_with_data_   s   z,TestEdgesEqual.test_order_of_edges_with_datac                 C   sX   ddi}ddi}dd|fdd|fdd|fg}dd|fdd|fdd|fg}|  || d S )Nr<   r   r   r!   )r   wt1wt2r   r	   r
   r
   r   test_order_of_multiedgesd   s
   z'TestEdgesEqual.test_order_of_multiedgesc                 C   s   dddddifdddddifdg}dddddifddddddifg}|  || dddddifdddddifdg}dddddifddddddifg}| || d S )Nr   r   r   r<   rE   )r   r   r   )r   r   r   r
   r
   r   test_order_of_edges_with_keysk   s   """"z,TestEdgesEqual.test_order_of_edges_with_keysN)r   r   r   r   r   r8   r9   rB   r3   rC   rD   rF   rG   rJ   rK   r
   r
   r
   r   r4   3   s    	r4   c                   @   sH   e Zd ZeZdd Zdd Zdd Zdd Zd	d
 Z	dd Z
dd ZdS )TestGraphsEqualc                 C   2   t d}t  }t |td | || d S Nr   )r)   
path_graphr*   r@   ranger   r-   r
   r
   r   test_graphs_equalw      
z!TestGraphsEqual.test_graphs_equalc                 C   :   t jdt  d}t  }t |td | || d S Nr   )create_using)r)   rO   DiGraphr@   rP   r   r-   r
   r
   r   test_digraphs_equal}      z#TestGraphsEqual.test_digraphs_equalc                 C   rS   rT   )r)   rO   r?   r@   rP   r   r-   r
   r
   r   test_multigraphs_equal   rX   z&TestGraphsEqual.test_multigraphs_equalc                 C   rS   rT   )r)   rO   MultiDiGraphr@   rP   r   r-   r
   r
   r   test_multidigraphs_equal   rX   z(TestGraphsEqual.test_multidigraphs_equalc                 C   rM   rN   )r)   rO   r*   	add_cyclerP   r   r-   r
   r
   r   test_graphs_not_equal   rR   z%TestGraphsEqual.test_graphs_not_equalc                 C   s2   t d}t  }t |td | || d S )Nr   r    )r)   rO   r*   r@   rP   r   r-   r
   r
   r   test_graphs_not_equal2   rR   z&TestGraphsEqual.test_graphs_not_equal2c                 C   s8   t d}t  }t |td d|_| || d S )Nr   zpath_graph(4))r)   rO   r*   r@   rP   namer   r-   r
   r
   r   test_graphs_not_equal3   s
   
z&TestGraphsEqual.test_graphs_not_equal3N)r   r   r   r   r   rQ   rW   rY   r[   r]   r^   r`   r
   r
   r
   r   rL   t   s    rL   )
networkxr)   networkx.testingr   r   r   r   r   r4   rL   r
   r
   r
   r   <module>   s    A