
    h.?                     H    S r SSKrSSKrSSKJr  SSKJrJr   " S S5      r	g)zOriginal NetworkX graph tests    N)convert_node_labels_to_integers)edges_equalnodes_equalc                       \ rS rSr\S 5       rS rS rS rS r	S r
S rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S  r#S! r$S" r%S# r&S$ r'S%r(g&)'HistoricalTests
   c                    [         R                  " 5       U l        [        [         R                  " S5      SS9U l        [        [         R                  " S5      SS9U l        [        [         R                  " S5      SS9U l        [        [         R                  " S5      SS9U l	        [        [         R                  " S5      SS9U l
        [        [         R                  " S5      SS9U l        [        [         R                  " S5      SS9U l        [        [         R                  " S5      SS9U l        [         R                  U l        g )N   )first_label   r         )nx
null_graphnullcnlti
path_graphP1P3P10complete_graphK1K3K4K5K10GraphG)clss    Y/var/www/html/env/lib/python3.13/site-packages/networkx/classes/tests/historical_tests.pysetup_classHistoricalTests.setup_class   s    ==?r}}Q'Q7r}}Q'Q7b)q9r((+;r((+;r((+;r((+;))"-1=    c                     U R                  SS9nUR                  S:X  d   eU R                  5       nUR                  S:X  d   eg )Ntest)name )r   r&   selfr   Hs      r    	test_nameHistoricalTests.test_name   s?    FFFvvFFHvv||r#   c                     U R                  5       nUR                  S5        UR                  S5      (       d   eUR                  S5        UR                  S5      (       a   eg )NA)r   add_nodehas_noderemove_noder)   r   s     r    test_add_remove_node$HistoricalTests.test_add_remove_node    sK    FFH	

3zz#	c::c??""?r#   c                     U R                  5       nUR                  S/5      (       a   eUR                  SS05      (       a   eg Nr.   r
   )r   r0   r2   s     r    test_nonhashable_node%HistoricalTests.test_nonhashable_node'   sB    
 FFH::se$$$$::sAh'''''r#   c                 H   U R                  5       nUR                  [        S5      5        UR                  S5      (       d   eUR	                  / SQ5        UR                  / SQ5        [        UR                  5       [        S9/ SQ:X  d   e[        U[        S9/ SQ:X  d   eg )NABCDEFGHIJKLL)r*   IJKr;   )r
      r   r   key)r
   r?   r   r   r.   BCDEFr   )r   add_nodes_fromlistr0   remove_nodes_fromsortednodesstrr2   s     r    test_add_nodes_from#HistoricalTests.test_add_nodes_from0   s    FFH	n-.zz#	56	&aggiS) .
 
 	
 
 aS!%TTTTr#   c                 z    U R                  5       nUR                  S5        SU;   d   e/ U;  d   eSS0U;  d   eg r6   )r   r/   r2   s     r    test_containsHistoricalTests.test_containsF   s?    FFH	

3axx{{1vQr#   c                 <   U R                  5       nUR                  S5        UR                  S5      (       d   eUR                  S5        [        R                  " [
        R                  UR                  S5        UR                  S5        [        U5      / :X  d   eg )Nmj)	r   r/   r0   pytestraisesr   NetworkXErrorr1   rH   r2   s     r    test_add_removeHistoricalTests.test_add_removeM   sk    FFH	

3zz#	

3b&&s;	cAw"}}r#   c                 T   U R                  5       nUR                  [        S5      5        UR                  U R                  5        [	        UR                  5       [        S9/ SQ:X  d   eUR                  U R                  5        [	        UR                  5       [        S9/ SQ:X  d   eg )NABCDr@   )r
   r?   r   r.   rB   rC   rD   r.   rB   rC   rD   )r   rG   rH   r   rJ   rK   rL   rI   r2   s     r    test_nbunch_is_list#HistoricalTests.test_nbunch_is_listW   s{    FFH	f&	!aggiS)-JJJJ	DGG$aggiS)-AAAAr#   c                     U R                  5       n[        S5      nUR                  U5        UR                  S5      (       d   eg )Nr:   r;   )r   setrG   r0   r)   r   nbunchs      r    test_nbunch_is_set"HistoricalTests.test_nbunch_is_set_   s7    FFH^$	 zz#r#   c                     U R                  5       n[        S5      nUR                  U5        SSSSS.nUR                  U5        [	        UR                  5       [        S9(       d	   / SQ5       eg )	Nr:   foor?   Tspam)r<   r=   r>   r;   r@   r.   rB   rC   rD   rE   rF   r   r*   )r   r`   rG   rI   rJ   rK   rL   ra   s      r    test_nbunch_dict HistoricalTests.test_nbunch_dicte   s]    FFH^$	 14f=	F#aggiS)S+SS)r#   c                    U R                  5       nUR                  / SQ5        U R                  R                  5       nUR                  U5        [	        UR                  5       [
        S9/ SQ:X  d   eU R                  R                  5       nUR                  U5        [	        UR                  5       [
        S9/ SQ:X  d   eg Nrh   r@   r
   r?   r   r.   rB   rC   rD   rE   rF   r   r*   )r   rG   r   rK   rJ   rL   rI   )r)   r   n_iters      r    test_nbunch_iterator$HistoricalTests.test_nbunch_iteratorn   s    FFH	AB	 aggiS) .
 
 	
 
 	F#aggiS)-UUUUr#   c                     U R                  5       nUR                  / SQ5        U R                  nUR                  U5        [        UR	                  5       [
        S9(       d	   / SQ5       eg rl   )r   rG   r   rJ   rK   rL   ra   s      r    test_nbunch_graph!HistoricalTests.test_nbunch_graph   sU    FFH	AB	 aggiS) 	
 ,
 	
)r#   c                    U R                  5       n[        R                  " [        UR                  S5        UR	                  SS5        UR	                  SS5        UR                  SS5      (       d   eUR                  SS5      (       a   eUR
                  " S6 (       d   eUR                  5       (       a  UR                  SS5      (       a   eOUR                  SS5      (       d   eUR	                  SS5        UR	                  SS5        UR                  SS5        UR                  5       (       a  UR                  SS5      (       d   eOUR                  SS5      (       a   eUR                  SS5      (       a   eg )Nr.   rB   rC   r.   rB   )r   rU   rV   	TypeErroradd_edgehas_edgeis_directedremove_edger2   s     r    test_add_edgeHistoricalTests.test_add_edge   s8   FFHiS1	

3	

3zz#s####::c3''''zz:&&&==??zz#s+++++ ::c3''''	

3	

3	c3==??::c3''''zz#s++++::c3'''''r#   c                 h   U R                  5       nUR                  SS5        UR                  SS5      (       d   eUR                  SS5        UR                  SS5        UR	                  S5      (       d   eUR                  S5        UR                  SS5        UR	                  S5      (       d   eg )Nr.   XZ)r   rw   rx   rz   r0   r1   r2   s     r    test_self_loopHistoricalTests.test_self_loop   s    FFH	

3zz#s####	c3	

3zz#	c	

3zz#r#   c                 $   U R                  5       nUR                  S/5        UR                  SS5      (       d   eUR                  5       (       a  UR                  SS5      (       a   eOUR                  SS5      (       d   eUR                  SS/5        UR                  SS5      (       d   eUR                  SS5      (       d   eUR                  5       (       a  UR                  SS5      (       a   eg UR                  SS5      (       d   eg )NrB   rC   rB   rC   )rD   rF   rB   rD   rD   rF   )r   add_edges_fromrx   ry   r2   s     r    test_add_edges_from#HistoricalTests.test_add_edges_from   s    FFH	*&zz#s####==??zz#s+++++::c3''''	*j12zz#s####zz#s####==??zz#s+++++::c3''''r#   c                    U R                  5       nUR                  [        S5      [        S5      [        S5      /5        UR                  " S6 (       d   eUR                  " S6 (       d   eUR                  " S6 (       d   eUR                  5       (       a  UR                  " S6 (       a   eg UR                  " S6 (       d   eg )NIJKKJK)r<   r=   )r>   r>   )r=   r>   )r>   r=   )r   r   tuplerH   rx   ry   r2   s     r    test_add_edges_from2$HistoricalTests.test_add_edges_from2   s    FFH	%+tDz5;?@zz:&&&zz:&&&zz:&&&==??zz:....::z***r#   c                     U R                  5       nUR                  [        [        S5      [        S5      5      5        UR	                  SS5      (       d   eUR	                  SS5      (       a   eg )NACDCDErD   rE   rC   )r   r   ziprH   rx   r2   s     r    test_add_edges_from3$HistoricalTests.test_add_edges_from3   s[    FFH	T%[$u+67zz#s####::c3'''''r#   c                    U R                  5       nUR                  / SQ5        UR                  [        [	        S5      [	        S5      5      5        UR                  SS5      (       d   eUR                  SS5      (       d   eUR                  S5        UR                  SS5      (       a   e[        R                  " [        UR                  S5        UR                  SS5        UR                  SS5      (       d   eUR                  SS5        UR                  SS5      (       a   eUR                  [	        S5      [	        S	5      [        S
5      [        S5      /5        UR                  SS5      (       a   eUR                  SS5      (       a   eUR                  [	        S5      [	        S
5      [	        S5      /5        UR                  SS5      (       a   eUR                  [        S5      5        UR                  SS5        g )Nrm   MNOPNOPMOPMNHIDFr   r   r*   r<   r=   r>   r   ZEFHIMNO)r   rG   r   r   rH   rx   r1   rU   rV   rv   rz   rw   remove_edges_fromr   rI   r`   r2   s     r    test_remove_edge HistoricalTests.test_remove_edge   s   FFH	JK	T&\4<89zz#s####zz#s####	c::c3''''i4	

3zz#s####	c3::c3'''' 	
T$ZdU4[%+NO::c3''''::c3''''	T$ZdT$Z@A::c3''''	C
O,	

3r#   c                    U R                  5       nUR                  / SQ5        [        R                  " [        R
                  UR                  S5        [        UR                  S5      5      / :X  d   e[        UR                  / 5      5      / :X  d   eUR                  5       (       a  / SQnO/ SQn[        [        UR                  SS/5      5      U5      (       d   e[        UR                  SS15      U5      (       d   eU R                  5       nUR                  S5        [        UR                  U5      U5      (       d   eS	S
S.n[        UR                  U5      U5      (       d   e[        [        UR                  S5      5      SS/5      (       d   e[        [        U5      / SQ5      (       d   e[        [        UR                  5       5      / SQ5      (       d   eg )Nru   r.   rC   r   )rC   rB   )rC   rD      r   )ru   r   r   ru   r   r   r   r.   rB   ABthing1thing2ru   r   r\   )r   r   rU   rV   r   rW   edgesrH   ry   r   rG   r   rJ   )r)   r   elistG1ndicts        r    test_edges_nbunch!HistoricalTests.test_edges_nbunch   s   FFH	UVb&&3AGGCL!R'''AGGBK B&&&==??8EDE4c
 34e<<<<177C:.6666VVX
$1772;....X.1775>511114-
J/GHHHH6!9&:;;;; OH
 
 	
 
r#   c                 b   U R                  5       nUR                  / SQ5        UR                  S5      S:X  d   e[        UR                  S/5      5      S/:X  d   e[	        S UR                  SS/5       5       5      SS/:X  d   e[	        S UR                  5        5       5      / S	Q:X  d   eg )
Nr   r.   r?   r.   r?   c              3   *   #    U  H	  u  pUv   M     g 7fN .0nds      r    	<genexpr>.HistoricalTests.test_degree.<locals>.<genexpr>"  s     9$8DAa$8   rB   r   c              3   *   #    U  H	  u  pUv   M     g 7fr   r   r   s      r    r   r   #       /JDAaJr   )r?   r?   r   r   )r   r   degreerH   rJ   r2   s     r    test_degreeHistoricalTests.test_degree  s    FFH	UVxx}!!! AHHcUO$
2229AHHc3Z$899aVCCC/AHHJ//<???r#   c                     U R                  5       nUR                  SS/5        [        S UR                  SS/5       5       5      SS/:X  d   eg )N)r
      r
   r?   c              3   *   #    U  H	  u  pUv   M     g 7fr   r   r   s      r    r   /HistoricalTests.test_degree2.<locals>.<genexpr>(  s     6$5DAa$5r   r
   r   r?   )r   r   rJ   r   r)   r*   s     r    test_degree2HistoricalTests.test_degree2%  sJ    FFH	'6*+6AHHaW$5661a&@@@r#   c                    [         R                  " S5      n[         R                  " S5      n[        S UR                  SS/5       5       5      0 :X  d   e[	        S UR                  U5       5       5      / SQ:X  d   e[	        S UR                  U5       5       5      / S	Q:X  d   e[        UR                  / 5      5      / :X  d   e[        UR                  / 5      5      0 :X  d   eg )
Nr   r   c              3   *   #    U  H	  u  pUv   M     g 7fr   r   r   s      r    r   4HistoricalTests.test_degree_graph.<locals>.<genexpr>.  s     8"7$!A"7r   r.   rB   c              3   *   #    U  H	  u  pUv   M     g 7fr   r   r   s      r    r   r   0       2MDAaMr   )r
   r?   r?   c              3   *   #    U  H	  u  pUv   M     g 7fr   r   r   s      r    r   r   2  r   r   )r
   r
   r?   )r   r   dictr   rJ   rH   )r)   r   P5s      r    test_degree_graph!HistoricalTests.test_degree_graph*  s    ]]1]]18"))S#J"788B>>>2BIIbM22i???2BIIbM22i???BIIbM"b(((BIIbM"b(((r#   c                     [         R                  " 5       n[        UR                  5       5      / :X  d   e[	        UR                  5       5      0 :X  d   eg r   )r   r   rH   r   r   )r)   r   s     r    	test_nullHistoricalTests.test_null6  s?    }}DKKM"b(((DKKM"b(((r#   c                 .   U R                  5       nUR                  / SQ5        UR                  5       S:X  d   eUR                  5       S:X  d   eUR	                  5       S:X  d   eUR	                  SS5      S:X  d   eUR	                  SS5      S:X  d   eg )	Nr   r   r   r.   rB   r
   rD   r   )r   r   ordersizenumber_of_edgesr2   s     r    test_order_sizeHistoricalTests.test_order_size;  s    FFH	UVwwyA~~vvx1}}  "a'''  c*a///  c*a///r#   c                     U R                  5       nUR                  5       nUR                  UR                  :X  d   eUR                  UR                  :X  d   eX!Ld   eg r   )r   copyadjr&   r(   s      r    	test_copyHistoricalTests.test_copyD  sL    FFHFFHuu~~vvzzr#   c                    U R                  5       nUR                  / SQ5        UR                  / SQ5      n[        [	        U5      / SQ5      (       d   e[        [	        UR                  5       5      SS/5      (       d   eg )Nr   )r.   rB   rD   ru   r   )r   r   subgraphr   rH   r   r   )r)   r   SGs      r    test_subgraphHistoricalTests.test_subgraphK  sd    FFH	UVZZ(48_55554
+j*-EFFFFr#   c                    U R                  5       nUR                  5       (       d  UR                  / SQ5        UR                  5       nX!Ld   eUR                  5       (       d   eUR                  UR                  :X  d   eUR
                  UR
                  :X  d   e[        UR                  [        S5      5      5      / SQ:X  d   eUR                  SS5        UR                  SS5      (       d   eUR                  SS5      (       a   eg g )Nr   r   )ru   r   )rB   r.   r   r   r.   rB   )r   ry   r   to_directedr&   r   rJ   	out_edgesrH   rz   rx   )r)   r   DGs      r    test_to_directed HistoricalTests.test_to_directedR  s    FFH}}L B;;>>####77aff$$$66QUU?"?",,tDz23 8    NN3$;;sC(((({{3,,,,,) r#   c                    U R                  5       nUR                  5       (       Ga#  UR                  / SQ5        UR                  5       nX!Ld   eUR                  5       (       a   eUR                  5       (       d   eUR                  UR                  :X  d   eUR
                  UR
                  :w  d   e[        UR                  [        S5      5      5      / SQ:X  d   e[        UR                  SS/5      5      / SQ:X  d   eUR                  SS5        UR                  SS5      (       a   eUR                  SS5      (       a   eg g )Nr   r   r   r.   rB   )r   ry   r   to_undirectedr&   r   rJ   r   rH   rz   rx   )r)   r   UGs      r    test_to_undirected"HistoricalTests.test_to_undirectedj  s(   FFH==??L "B;;~~''''==??"?77aff$$$66QUU?"?"((4:./ 4    "((C:./ 4    NN3${{3,,,,{{3,,,,,1 r#   c                    U R                  5       nUR                  / SQ5        UR                  S5        [        US   5      SS/:X  d   e[        UR	                  S5      5      SS/:X  d   e[        UR	                  S5      5      SS/:X  d   e[        UR	                  S5      5      / :X  d   e[
        R                  " [        R                  UR                  S5        g )Nr   GJKr.   rB   rC   r   rT   )	r   r   rG   rJ   	neighborsrU   rV   r   rW   r2   s     r    test_neighborsHistoricalTests.test_neighbors  s    FFH	UV	af~#s+++akk#&'C:555akk#&'C:555akk#&'2---b&&S9r#   c                    U R                  5       nUR                  / SQ5        UR                  S5        [        UR	                  5       5      / SQ:X  d   e[        UR                  5       / SQ5      (       d   e[        S UR                  5        5       5      / SQ:X  d   e[        UR                  5       [        S9/ SQ:X  d   e[        UR                  S5      5      S	S
/:X  d   e[        R                  " [        R                  UR                  S5        UR                  5         [        R                  " U5      S:X  d   e[        R                   " U5      S:X  d   eg )Nr   r   )r.   rB   rC   rD   r   r=   r>   c              3   *   #    U  H	  u  pUv   M     g 7fr   r   )r   kvs      r    r   1HistoricalTests.test_iterators.<locals>.<genexpr>  r   r   )r   r   r   r?   r?   r   r   r@   )r   )rB   r   )rC   r   )rD   r?   )r   r   )r=   r   )r>   r   r.   rB   rC   r~   r   )r   r   rG   rJ   rK   r   r   r   rL   r   rU   rV   r   rW   clearnumber_of_nodesr   r2   s     r    test_iteratorsHistoricalTests.test_iterators  s$   FFH	UV	aggi $GGGGGGIS
 
 	
 
 /AHHJ//3HHHHahhjc* /
 
 	
 
 akk#&'C:555b&&S9		!!!$)))!!!$)))r#   c                     [         R                  " 5       n[         R                  " 5       nUR                  / 5      n[         R                  " X15      (       d   eg r   )r   r   r   is_isomorphic)r)   	nullgraphr   r*   s       r    test_null_subgraph"HistoricalTests.test_null_subgraph  s<    MMO	MMOJJrN----r#   c                 B   [         R                  " 5       n[         R                  " S5      n[         R                  " S5      nUR                  / 5      n[         R                  " XA5      (       d   eUR                  / SQ5      n[         R                  " XB5      (       d   eg )Nr   r   )r
   r?   r   r   r   )r   r   empty_graphr   r   )r)   r  E5E10r*   s        r    test_empty_subgraph#HistoricalTests.test_empty_subgraph  ss    MMO	^^AnnR LL----LL)&&&&r#   c                     [         R                  " S5      n[         R                  " S5      n[         R                  " S5      nUR                  / SQ5      n[         R                  " XB5      (       d   eg )Nr
   r   r   )r
   r?   r   )r   r   r   r   )r)   r   r   r   r*   s        r    test_complete_subgraph&HistoricalTests.test_complete_subgraph  sW    q!q!q!KK	"&&&&r#   c                    [         R                  " 5       n[         R                  " S5      n[         R                  " S5      n[         R                  " S5      nUR                  S5      n[         R                  " XR5      (       d   eUR                  S15      n[         R                  " XR5      (       d   eUR                  [        U5      5      n[         R                  " XS5      (       d   eUR                  U5      n[         R                  " XS5      (       d   eUR                  S/5      n[         R                  " XQ5      (       d   eg )Nr
   r   r   	   )r   r   r   r   r   iter)r)   r  r   r   r   r*   s         r    test_subgraph_nbunch$HistoricalTests.test_subgraph_nbunch  s    MMO	q!q!q!KKN&&&&KK&&&&KKR!&&&&KKO&&&&KK----r#   c                    U R                  5       n[        R                  " [        R                  UR
                  S5        UR                  S/5        [        R                  " [        R                  UR                  S5        g )Nr   )r   rU   rV   r   rW   r1   rI   r   r   s     r    test_node_tuple_issue%HistoricalTests.test_node_tuple_issue  sQ    FFHb&&v>	VH%b&&V<r#   r   N))__name__
__module____qualname____firstlineno__classmethodr!   r+   r3   r7   rM   rP   rX   r]   rc   ri   ro   rr   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  __static_attributes__r   r#   r    r   r   
   s    
 
#(U,BTV,
*(0	($
+(2 
D@A

))
0G-0-8:*2.''.(=r#   r   )
__doc__rU   networkxr   r   r   networkx.utilsr   r   r   r   r#   r    <module>r     s     #   = 3Q= Q=r#   