
    Vh^                     8    d dl Z d dlZd dlmZmZ  G d d      Zy)    N)FORWARDREVERSEc                   |    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d Zy)TestEdgeBFSc                 (    g d| _         g d| _        y )N)r            )r   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_edgebfs.pysetup_classzTestEdgeBFS.setup_class   s     	D	    c                 v    t        j                         }t        t        j                  |            }|g k(  sJ y )N)nxGraphlistedge_bfs)selfGr   s      r   
test_emptyzTestEdgeBFS.test_empty   s+    HHJR[[^${{r   c                     t        j                  | j                        }|j                  dd       t	        t        j
                  |dg            }g d}||k(  sJ y )N      r   r   )r   r	   r   r	   )r   r
   )r   r   r   add_edger   r   r   r   xx_s       r   test_graph_single_sourcez$TestEdgeBFS.test_graph_single_source   sI    HHTZZ 	

1aQ$%-Bwwr   c                     t        j                  | j                        }t        t        j                  || j
                              }g d}||k(  sJ y )Nr!   )r   r   r   r   r   r   r$   s       r   
test_graphzTestEdgeBFS.test_graph   s=    HHTZZ Q

+,-Bwwr   c                     t        j                  | j                        }t        t        j                  || j
                              }g d}||k(  sJ y )Nr   r   r   r   r   r   DiGraphr   r   r   r   r$   s       r   test_digraphzTestEdgeBFS.test_digraph   s=    JJtzz"Q

+,5Bwwr   c                     t        j                  | j                        }t        j                  || 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,TestEdgeBFS.test_digraph_orientation_invalid%   s@    JJtzz"AtzzwGb&&m<r   c                     t        j                  | j                        }t        t        j                  || j
                  d             }g d}||k(  sJ y )Nr1   r+   r,   r$   s       r   test_digraph_orientation_nonez)TestEdgeBFS.test_digraph_orientation_none*   s?    JJtzz"Q

=>5Bwwr   c                     t        j                  | j                        }t        t        j                  || j
                  d            }ddt        fddt        fddt        fddt        fddt        fg}||k(  sJ y )Noriginalr1   r   r   r	   r
   )r   r-   r   r   r   r   r   r$   s       r   !test_digraph_orientation_originalz-TestEdgeBFS.test_digraph_orientation_original0   sp    JJtzz"Q


CD7O7O7O7O7O
 Bwwr   c                     t        j                         }t        j                  |t        d             t	        t        j
                  |dg            }g d}||k(  sJ y )Nr   r   )r   r"   )r	   r
   )r   r-   add_pathranger   r   r$   s       r   test_digraph2zTestEdgeBFS.test_digraph2<   sF    JJL
AuQx Q$%%Bwwr   c                     t        j                  | j                        }t        t        j                  || j
                  d            }ddt        fddt        fddt        fddt        fddt        fg}||k(  sJ y Nreverser1   r   r   r	   r
   )r   r-   r   r   r   r   r   r$   s       r   test_digraph_revzTestEdgeBFS.test_digraph_revC   sp    JJtzz"Q

	BC7O7O7O7O7O
 Bwwr   c                     t        j                         }t        j                  |t        d             t	        t        j
                  |dgd            }ddt        fddt        fddt        fg}||k(  sJ y )Nr   r
   rC   r1   r	   r   r   )r   r-   r>   r?   r   r   r   r$   s       r   test_digraph_rev2zTestEdgeBFS.test_digraph_rev2O   sa    JJL
AuQx Q;<!Wo1gAw@Bwwr   c                     t        j                  | j                        }t        t        j                  || j
                              }g d}||k(  sJ y )N)r   r   r   )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TestEdgeBFS.test_multigraphV   s?    MM$**%Q

+,O Bwwr   c                     t        j                  | j                        }t        t        j                  || j
                              }g d}||k(  sJ y )N)rH   )r   r   r   )r   r   r   )r	   r   r   )r	   r   r   )r
   r   r   )r   MultiDiGraphr   r   r   r   r$   s       r   test_multidigraphzTestEdgeBFS.test_multidigraphb   s=    OODJJ'Q

+,OBwwr   c           	         t        j                  | j                        }t        t        j                  || 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dddt        fg}||k(  sJ y rB   )r   rL   r   r   r   r   r   r$   s       r   test_multidigraph_revz!TestEdgeBFS.test_multidigraph_revh   s    OODJJ'Q

	BC1g1g1g1g1g1g
 Bwwr   c                     t        j                  | j                        }t        t        j                  || j
                  d            }ddt        fddt        fddt        fddt        fddt        fg}||k(  sJ y Nignorer1   r   r   r	   r
   )r   r-   r   r   r   r   r   r   r$   s       r   test_digraph_ignorezTestEdgeBFS.test_digraph_ignoreu   sp    JJtzz"Q

AB7O7O7O7O7O
 Bwwr   c                     t        j                         }t        j                  |t        d             t	        t        j
                  |dgd            }ddt        fddt        fddt        fg}||k(  sJ y )Nr   r   rR   r1   r   r	   r
   )r   r-   r>   r?   r   r   r   r$   s       r   test_digraph_ignore2z TestEdgeBFS.test_digraph_ignore2   sa    JJL
AuQx Q:;!Wo1gAw@Bwwr   c           	         t        j                  | j                        }t        t        j                  || 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dddt        fg}||k(  sJ y rQ   )r   rL   r   r   r   r   r   r   r$   s       r   test_multidigraph_ignorez$TestEdgeBFS.test_multidigraph_ignore   s    OODJJ'Q

AB1g1g1g1g1g1g
 Bwwr   N)__name__
__module____qualname__classmethodr   r   r'   r)   r.   r7   r9   r<   r@   rD   rF   rJ   rM   rO   rS   rU   rW    r   r   r   r      sf    E E
=




r   r   )r3   networkxr   %networkx.algorithms.traversal.edgedfsr   r   r   r\   r   r   <module>r_      s      BL Lr   