
    Vh                     D    d dl Z d dlZd dlmZ d dlmZmZ  G d d      Zy)    N)edge_dfs)FORWARDREVERSEc                   v    e Zd Zed        Zd Zd Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zy)TestEdgeDFSc                 (    g d| _         g d| _        y )N)r            )r   r	   r	   r   r   r
   r	   r   r	   )nodesedges)clss    `/home/dcms/DCMS/lib/python3.12/site-packages/networkx/algorithms/traversal/tests/test_edgedfs.pysetup_classzTestEdgeDFS.setup_class   s     	<	    c                 b    t        j                         }t        t        |            }|g k(  sJ y )N)nxGraphlistr   )selfGr   s      r   
test_emptyzTestEdgeDFS.test_empty   s'    HHJXa[!{{r   c                     t        j                  | j                        }t        t	        || j
                              }g d}||k(  sJ y )N)r   r	   r
   )r	   r   )r   r   r   r   r   r   r   r   xx_s       r   
test_graphzTestEdgeDFS.test_graph   s9    HHTZZ !TZZ()%Bwwr   c                     t        j                  | j                        }t        t	        || j
                              }g d}||k(  sJ y )Nr   r   r   r   r   DiGraphr   r   r   r   r   s       r   test_digraphzTestEdgeDFS.test_digraph#   s9    JJtzz"!TZZ()-Bwwr   c                     t        j                  | j                        }t        || j                  d      }t        j                  t         j                  t        |       y )Nhelloorientation)	r   r&   r   r   r   pytestraisesNetworkXErrorr   )r   r   edge_iterators      r    test_digraph_orientation_invalidz,TestEdgeDFS.test_digraph_orientation_invalid)   s<    JJtzz" DJJGDb&&m<r   c                     t        j                  | j                        }t        t	        || j
                  d             }g d}||k(  sJ y )Nr*   r$   r%   r   s       r   test_digraph_orientation_nonez)TestEdgeDFS.test_digraph_orientation_none.   s;    JJtzz"!TZZT:;-Bwwr   c                     t        j                  | j                        }t        t	        || j
                  d            }ddt        fddt        fddt        fddt        fg}||k(  sJ y )Noriginalr*   r   r	   r
   r   )r   r&   r   r   r   r   r   r   s       r   !test_digraph_orientation_originalz-TestEdgeDFS.test_digraph_orientation_original4   s\    JJtzz"!TZZZ@A!Wo1gAw!QQBwwr   c                     t        j                         }t        j                  |t        d             t	        t        |dg            }g d}||k(  sJ y )N   r   )r   r   )r
   r   )r   r&   add_pathranger   r   r   s       r   test_digraph2zTestEdgeDFS.test_digraph2:   sB    JJL
AuQx !aS!"%Bwwr   c                     t        j                  | j                        }t        t	        || j
                  d            }ddt        fddt        fddt        fddt        fg}||k(  sJ y Nreverser*   r	   r   r
   r   )r   r&   r   r   r   r   r   r   s       r   test_digraph_revzTestEdgeDFS.test_digraph_revA   s\    JJtzz"!TZZY?@!Wo1gAw!QQBwwr   c                     t        j                         }t        j                  |t        d             t	        t        |dgd            }ddt        fddt        fddt        fg}||k(  sJ y )Nr7   r   r=   r*   r
   r	   r   )r   r&   r8   r9   r   r   r   r   s       r   test_digraph_rev2zTestEdgeDFS.test_digraph_rev2G   s]    JJL
AuQx !aSi89!Wo1gAw@Bwwr   c                     t        j                  | j                        }t        t	        || j
                              }g d}||k(  sJ y )N)r   r	   r   r	   r   r	   )r   r	   r
   )r	   r
   r   )r	   r   r   )r   
MultiGraphr   r   r   r   r   s       r   test_multigraphzTestEdgeDFS.test_multigraphN   s;    MM$**%!TZZ()D Bwwr   c                     t        j                  | j                        }t        t	        || j
                              }g d}||k(  sJ y )N)rB   )r	   r   r   rC   )r
   r	   r   )r   r	   r   )r   MultiDiGraphr   r   r   r   r   s       r   test_multidigraphzTestEdgeDFS.test_multidigraphZ   s9    OODJJ'!TZZ()DBwwr   c                     t        j                  | j                        }t        t	        || j
                  d            }dddt        fdddt        fdddt        fdddt        fdddt        fg}||k(  sJ y r<   )r   rG   r   r   r   r   r   r   s       r   test_multidigraph_revz!TestEdgeDFS.test_multidigraph_rev`   s{    OODJJ'!TZZY?@1g1g1g1g1g
 Bwwr   c                     t        j                  | j                        }t        t	        || j
                  d            }ddt        fddt        fddt        fddt        fg}||k(  sJ y Nignorer*   r   r	   r
   r   )r   r&   r   r   r   r   r   r   r   s       r   test_digraph_ignorezTestEdgeDFS.test_digraph_ignorel   s\    JJtzz"!TZZX>?!Wo1gAw!QQBwwr   c                     t        j                         }t        j                  |t        d             t	        t        |dgd            }ddt        fddt        fddt        fg}||k(  sJ y )Nr7   r   rM   r*   r	   r
   r   )r   r&   r8   r9   r   r   r   r   s       r   test_digraph_ignore2z TestEdgeDFS.test_digraph_ignore2r   s]    JJL
AuQx !aSh78!Wo1gAw@Bwwr   c                     t        j                  | j                        }t        t	        || j
                  d            }dddt        fdddt        fdddt        fdddt        fdddt        fg}||k(  sJ y rL   )r   rG   r   r   r   r   r   r   r   s       r   test_multidigraph_ignorez$TestEdgeDFS.test_multidigraph_ignorey   s{    OODJJ'!TZZX>?1g1g1g1g1g
 Bwwr   N)__name__
__module____qualname__classmethodr   r   r"   r'   r0   r2   r5   r:   r>   r@   rE   rH   rJ   rN   rP   rR    r   r   r   r      s_    = =
=



r   r   )	r,   networkxr   networkx.algorithmsr   %networkx.algorithms.traversal.edgedfsr   r   r   rW   r   r   <module>r[      s      ( Bq qr   