a
    1bY                     @   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_graphs_equalassert_edges_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
   @lib/python3.9/site-packages/networkx/testing/tests/test_utils.py_test_equal   s    z_GenericTest._test_equalc                 C   s4   z|  || d}W n ty&   Y n
0 tdd S )NTz#a and b are found equal but are not)r   AssertionError)r   r   r	   Z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   s    g d}g d}|  || d S )N            )r   r   r   r   r   selfr   r	   r
   r
   r   test_nodes_equal   s    zTestNodesEqual.test_nodes_equalc                 C   s    g d}g d}|  || d S )Nr   )r   r   r      r   r   r
   r
   r   test_nodes_not_equal   s    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ZcolorTdata)nxGraphadd_nodes_fromr   nodesr   GHr
   r
   r   test_nodes_with_data_equal$   s
    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"   ZblueTr#   )r%   r&   r'   r   r(   r)   r
   r
   r   test_edges_with_data_not_equal+   s
    z-TestNodesEqual.test_edges_with_data_not_equalN)	r   r   r   r   r   r   r   r,   r-   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   s    zTestEdgesEqual.test_edges_equalc                 C   s    ddg}ddg}|  || d S )Nr/   r0   r1   )r   r   r   r   r
   r
   r   test_edges_not_equal;   s    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 )Nr4   r   r5   r   Tr7   )r%   r9   r:   r   r;   r)   r
   r
   r   r-   G   s    z-TestEdgesEqual.test_edges_with_data_not_equalc                 C   s4   t  }t  }| |jddd|jddd d S )NTr7   )r%   r9   r   r;   r)   r
   r
   r   test_no_edgesP   s    zTestEdgesEqual.test_no_edgesc                 C   s    g d}ddg}|  || d S )N)r/   r0   r/   r1   r/   r   r   r
   r
   r   test_duplicate_edgesU   s    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   r6   
   r0   r1   r/   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   r6   r?   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 )Nr6   r   r   r   )r   Zwt1Z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   r6   r?   )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   r2   r3   r<   r-   r=   r>   r@   rA   rB   rC   r
   r
   r
   r   r.   3   s   	r.   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   s2   t d}t  }t |td | || d S Nr   )r%   
path_graphr&   r:   ranger   r)   r
   r
   r   test_graphs_equalw   s    
z!TestGraphsEqual.test_graphs_equalc                 C   s:   t jdt  d}t  }t |td | || d S Nr   )Zcreate_using)r%   rF   ZDiGraphr:   rG   r   r)   r
   r
   r   test_digraphs_equal}   s    z#TestGraphsEqual.test_digraphs_equalc                 C   s:   t jdt  d}t  }t |td | || d S rI   )r%   rF   r9   r:   rG   r   r)   r
   r
   r   test_multigraphs_equal   s    z&TestGraphsEqual.test_multigraphs_equalc                 C   s:   t jdt  d}t  }t |td | || d S rI   )r%   rF   ZMultiDiGraphr:   rG   r   r)   r
   r
   r   test_multidigraphs_equal   s    z(TestGraphsEqual.test_multidigraphs_equalc                 C   s2   t d}t  }t |td | || d S rE   )r%   rF   r&   Z	add_cyclerG   r   r)   r
   r
   r   test_graphs_not_equal   s    
z%TestGraphsEqual.test_graphs_not_equalc                 C   s2   t d}t  }t |td | || d S )Nr   r   )r%   rF   r&   r:   rG   r   r)   r
   r
   r   test_graphs_not_equal2   s    
z&TestGraphsEqual.test_graphs_not_equal2c                 C   s8   t d}t  }t |td d|_| || d S )Nr   zpath_graph(4))r%   rF   r&   r:   rG   namer   r)   r
   r
   r   test_graphs_not_equal3   s
    
z&TestGraphsEqual.test_graphs_not_equal3N)r   r   r   r   r   rH   rJ   rK   rL   rM   rN   rP   r
   r
   r
   r   rD   t   s   rD   )
Znetworkxr%   Znetworkx.testingr   r   r   r   r   r.   rD   r
   r
   r
   r   <module>   s
   A