
    hYI                         S SK Jr  S SKrS SKrS SKJr  SSKJr  SSKJ	r
   " S S\5      r " S	 S
\\
5      r " S S5      r " S S\5      r " S S\R                  5      r " S S\5      rg)    )UserDictN)edges_equal   )BaseAttrGraphTester)	TestGraphc                   h    \ 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)BaseMultiGraphTester   c                     U R                   nUR                  SS5      (       d   eUR                  SS5      (       a   eUR                  SSS5      (       d   eUR                  SSS5      (       a   eg )Nr   r   )K3has_edgeselfGs     X/var/www/html/env/lib/python3.13/site-packages/networkx/classes/tests/test_multigraph.pytest_has_edge"BaseMultiGraphTester.test_has_edge   sn    GGzz!Q::a$$$$zz!Q""""::aA&&&&&    c                     U R                   nUR                  SS5      S0 0:X  d   eUS   S   S0 0:X  d   eUS   S   S   0 :X  d   eUR                  SS5      b   eUR                  SSS5      0 :X  d   eg )Nr   r   
      )r   get_edge_datar   s     r   test_get_edge_data'BaseMultiGraphTester.test_get_edge_data   s    GGq!$B///tAw1b'!!!tAwqzRr2&...q!Q'2---r   c                     U R                   n[        UR                  5       5      S0 0S0 0S.S0 0S0 0S.S0 0S0 0S.S.:X  d   eg )Nr   r      r   r   r   r   r   r   r   )r   dict	adjacencyr   s     r   test_adjacency#BaseMultiGraphTester.test_adjacency   s]    GGAKKM"r72w'r72w'r72w''
 
 	
 
r   c                     US   S   S   S   US   S   S   S   :X  d   eUS   S   S   S   R                  S5        US   S   S   S   US   S   S   S   :w  d   eg Nr   r   r   fooappendr   Hr   s      r   deepcopy_edge_attr'BaseMultiGraphTester.deepcopy_edge_attr$       tAwqz% AaDGAJu$5555	!Q
5  #tAwqz% AaDGAJu$5555r   c                     US   S   S   S   US   S   S   S   :X  d   eUS   S   S   S   R                  S5        US   S   S   S   US   S   S   S   :X  d   eg r'   r)   r+   s      r   shallow_copy_edge_attr+BaseMultiGraphTester.shallow_copy_edge_attr)   r/   r   c                    UR                   UR                   :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR	                  5       (       dp  UR	                  5       (       d[  UR                   S   S   S   UR                   S   S   S   L d   eUR                   S   S   S   UR                   S   S   S   L d   eg UR	                  5       (       d"  UR                   Ul        UR                   Ul        UR	                  5       (       d"  UR                   Ul        UR                   Ul        UR
                  UR
                  :X  d   eUR                  UR                  :X  d   eUR                  S   S   S   UR
                  S   S   S   L d   eUR                  S   S   S   UR
                  S   S   S   L d   eg )Nr   r   r   )_adj_nodegraphnameis_directed_pred_succr+   s      r   graphs_equal!BaseMultiGraphTester.graphs_equal.   s   vvww!''!!!ww!''!!!vv}}q}}66!9Q<?affQil1o55566!9Q<?affQil1o555==??&&&&==??&&&&77agg%%%77agg%%%771:a=#qwwqz!}Q'7777771:a=#qwwqz!}Q'7777r   c                    US   S   S   S   nSUR                   S   S   S   S'   UR                  UR                  :X  d   eX1R                   S   S   S   S'   UR                  UR                  :X  d   eUR                  S   S   nSUR                  S   S'   UR                  UR                  :X  d   eX1R                  S   S'   UR                  UR                  :X  d   eg Nr   r   r   r(   bazadjr4   nodesr5   r   r,   r   old_foos       r   same_attrdict"BaseMultiGraphTester.same_attrdictB       A$q'!*U# %aAuvv 'aAuvv''!*U#!
5ww!''!!!#
5ww!''!!!r   c                    US   S   S   S   nSUR                   S   S   S   S'   UR                  UR                  :w  d   eX1R                   S   S   S   S'   UR                  UR                  :X  d   eUR                  S   S   nSUR                  S   S'   UR                  UR                  :w  d   eX1R                  S   S'   UR                  UR                  :X  d   eg r>   r@   rC   s       r   different_attrdict'BaseMultiGraphTester.different_attrdictP   rG   r   c                     U R                   nU R                  U5        [        R                  " U5      nU R	                  X!5        UR                  5       nU R                  X!5        g N)r   add_attributesnx
MultiGraphis_shallow_copyto_undirectedis_deepcopyr   r   r,   s      r   test_to_undirected'BaseMultiGraphTester.test_to_undirected^   sO    GGAMM!Q"OOr   c                     U R                   nU R                  U5        [        R                  " U5      nU R	                  X!5        UR                  5       nU R                  X!5        g rL   )r   rM   rN   MultiDiGraphrP   to_directedrR   rS   s      r   test_to_directed%BaseMultiGraphTester.test_to_directedf   sN    GGAOOAQ"MMOr   c                 ,   U R                   nUR                  SS5        UR                  SS5        UR                  SSSS9  UR                  SSSS9  UR                  SS5      S:X  d   eUR                  SS5        UR                  SS5      S:X  d   eg )Nr   parallel edgekeyr   r   )r   add_edgeremove_edgenumber_of_edgesr   s     r   test_number_of_edges_selfloops3BaseMultiGraphTester.test_number_of_edges_selfloopsn   s    GG	

1a	

1a	

1a_
-	a0  A&!+++	a  A&!+++r   c                     U R                  5       nUR                  SSSS9  UR                  SSSSS9  [        UR                  S   SS05      (       d   e[        UR                  S	   SS05      (       d   eg )
Nr   r   bar)r(   r^   bizr   r   r   r(   )r   r   r^   )Graphr_   r   edgesr   s     r   test_edge_lookup%BaseMultiGraphTester.test_edge_lookupx   ss    JJL	

1aU
#	

1aE
*1777+eU^<<<<177;/%@@@@r   c           	        ^ U R                  5       mTR                  SSSSS9  TR                  SSSSS9  [        TR                  SS5      TR                  5      (       d   e[        U4S jTR                  S	S
9 5       5      (       d   e[        TR                  S	S	S9SSSSS04SSSSS04/5      (       d   e[        TR                  S	SS9SS/5      (       d   eg )Nr   r   k1re   )r^   r(   k2r?   c              3   V   >#    U  H  u  pn[        UTR                  5      v   M      g 7frL   )
isinstanceedge_attr_dict_factory).0uvdr   s       r   	<genexpr>6BaseMultiGraphTester.test_edge_attr.<locals>.<genexpr>   s)      
CUaJq!2233CUs   &)Tdatakeysry   r(   )r   r   rm   re   )r   r   rn   r?   )rh   r_   rp   r   edge_key_dict_factoryallri   r   r   s    @r   test_edge_attr#BaseMultiGraphTester.test_edge_attr   s   JJL	

1aTu
-	

1aTu
-!//!Q/1H1HIIII 
CD77PT7CU
 
 
 	
 
 GGDG)D5%.)Aq$+GH
 
 	
 
 GGEG*-@BU,V
 
 	
 
r   c                    U R                  5       nUR                  SSSSSSS9  [        UR                  SS	9SSSSSS
.4/5      (       d   eSUS   S   S   S'   [        UR                  SS	9SSSSSS
.4/5      (       d   eSUR                  S   S   S   S'   [        UR                  SS	9SSSSSS
.4/5      (       d   eSUR                  S   S'   [        UR                  SS	9SSSSSS
.4/5      (       d   eSS/UR                  S   S   S   S'   SUR                  S   S   S   S'   [        UR                  SS	9SSSSSSS/SS.4/5      (       d   eg )Nr   r   r      re   r(   )r^   ry   spamre   Trx   )ry   r   re   r   ry   r      rg      listdataweight)ry   r   re   r   r   )rh   r_   r   ri   rA   r   s     r   test_edge_attr4$BaseMultiGraphTester.test_edge_attr4   s   JJL	

1aQQU
>GGG!QE%(P!Q R
 
 	
 
  !Q
6GGG!QU5(Q!R S
 
 	
 
 "$aAvGGG!QU5(Q!R S
 
 	
 
 $& GGG!QU5(Q!R S
 
 	
 
 ')#YaAz"#%aAx GGG  " %$%'I"$

 
 	
 
r    N)__name__
__module____qualname____firstlineno__r   r   r$   r-   r1   r;   rE   rI   rT   rY   rb   rj   r~   r   __static_attributes__r   r   r   r	   r	      sI    '.
6
6
8("",A
 $
r   r	   c                      \ rS rSrS rS rS rSSS.rSS	S
.r\\S.r	SS\	00r
SS\00rSS\SS.00rSS/0rSSS\4SSS\4/rSSS0 4/rSSS\	4/rSSS\4/rSSS\SS.4/r\
S\4\
S\4\S\4\S\4\S\4/r\R*                  R-                  S\5      S 5       r\
\4\\4\\4/r\R*                  R-                  S\5      S 5       r\\\/r\R*                  R-                  S\5      S 5       rS rS rS rS rS r S r!S  r"S! r#S" r$S#r%g$)%TestMultiGraph   c                    [         R                  U l        S0 0S0 0S0 0p2nXS.XS.X#S.S.U l        / SQU l        / SQU l        U R                  5       U l        U R                  U R                  l        0 U R                  l        0 U R                  R                  S'   0 U R                  R                  S'   0 U R                  R                  S'   g )	Nr   r   r   r    r!   r    r   r   r   r   )	rN   rO   rh   k3adjk3edgesk3nodesr   r4   r5   )r   ed1ed2ed3s       r   setup_methodTestMultiGraph.setup_method   s    ]]
R1b'Ar7# )#.>sCST
/ **,zzaaar   c                     U R                  S/S/S.SS9nUR                  S:X  d   eSSS0 004SSS0 004/n[        UR                  R	                  5       5      U:X  d   eg )Nr   r   r   test)r7   r   )rh   r7   sortedrA   items)r   r   expecteds      r   test_data_inputTestMultiGraph.test_data_input   sp    JJA3A3'fJ5vvQG%A2w<'89aeekkm$000r   c                    SSS.nSSS.nXS.nSSU00nSSS	U4SSS
U4/nSSS	U4/nU R                  USS9n[        UR                  SSS95      U:X  d   eU R                  US S9n[        UR                  SSS95      U:X  d   eU R                  USS9n[        UR                  SSS95      U:X  d   eU R                  USS9nU R                  [        R                  " U5      5      n[        R
                  " Xx5      SL d   eS HC  n	U R                  [        R                  " U5      U	S9n[        R
                  " Xx5      U	:X  a  MC   e   g )Nr   r(   ws   re   r    abr   r   Tmultigraph_inputrz   F)TF)rh   listri   rN   to_dict_of_dictsis_isomorphic)
r   edata0edata1keydictdodododmultiple_edgesingle_edger   r,   mgis
             r   test_data_multigraph_input)TestMultiGraph.test_data_multigraph_input   su   ''(g'sAv.c1f0EFS!W-.JJwJ6AGGDG12mCCCJJwJ6AGGDG12mCCCJJwJ7AGGDG12kAAA JJwJ6JJr**1-.%--- C

2..q1C
HA##A)S000 !r   r   r(   r   bluebox)colorshape)traitsgraphicsr   r   )r   r   r   r   r   TFzdod, mgi, edgesc                     U R                  XS9n[        UR                  SSS95      U:X  d   e[        R                  " XR                   US9n[        UR                  SSS95      U:X  d   eg )Nr   Trz   create_usingr   )rh   r   ri   rN   to_networkx_graph)r   dodr   ri   r   s        r   test_non_multigraph_input(TestMultiGraph.test_non_multigraph_input   si    JJsJ1AGGDG12e;;;  ::PSTAGGDG12e;;;r   z
dod, edgesc                 d    U R                  U5      n[        UR                  SSS95      U:X  d   eg )NTrz   )rh   r   ri   )r   r   ri   r   s       r   "test_non_multigraph_input_mgi_none1TestMultiGraph.test_non_multigraph_input_mgi_none  s1     JJsOAGGDG12e;;;r   r   c                     [         R                  " [        R                  U R                  USS9  [         R                  " [        R                  [        R
                  UU R                  SS9  g )NTr   r   )pytestraisesrN   NetworkXErrorrh   r   )r   r   s     r   test_non_multigraph_input_raise.TestMultiGraph.test_non_multigraph_input_raise  sK     	b&&

C$O  !	
r   c                 V   U R                   nUS   S0 0S0 0S.:X  d   e[        R                  " [        5         UR	                  S5        S S S 5        [        R                  " [
        5         UR	                  S/5        S S S 5        g ! , (       d  f       ND= f! , (       d  f       g = f)Nr   r   jA)r   r   r   KeyError__getitem__	TypeErrorr   s     r   test_getitemTestMultiGraph.test_getitem  sy    GGtAr72w////]]8$MM# %]]9%MM3%  &% %$%%s   B	-B	
B
B(c                    U R                   nUR                  S5        UR                  SS0 00SS0 00S.:X  d   e[        R                  " [
        R                  5         UR                  S5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   r   r   )r   remove_noderA   r   r   rN   r   r   s     r   test_remove_nodeTestMultiGraph.test_remove_node$  sh    GG	auuQBLa!R\::::]]2++,MM" -,,s   A::
Bc                    U R                  5       nUR                  SS5        UR                  SS0 00SS0 00S.:X  d   eU R                  5       nUR                  " S6   UR                  SS0 00SS0 00S.:X  d   eU R                  5       n[        R                  " [
        5         UR                  S S5        S S S 5        g ! , (       d  f       g = f)Nr   r   r    anything)rh   r_   rA   r   r   
ValueErrorr   s     r   test_add_edgeTestMultiGraph.test_add_edge+  s    JJL	

1auuQBLa!R\::::JJL	

FuuQBLa!R\::::JJL]]:&JJtZ( '&&s   &C
Cc                 2   U R                  5       nUR                  SSSS9  UR                  SS5        UR                  5       S:X  d   eU R                  5       nUR                  SSS0 4/5        UR                  S/5        UR                  5       S:X  d   eg )Nr   r   r]   r   r    )rh   r_   ra   add_edges_fromr   s     r   test_add_edge_conflicting_key,TestMultiGraph.test_add_edge_conflicting_key6  s    JJL	

1aQ
	

1a  "a'''JJL	1aB-)	&"  "a'''r   c                    U R                  5       nUR                  SSSSS04/5        UR                  S0 SS0S.0S0 SS0S.0S.:X  d   eUR                  SSSSS04/SS9  UR                  S0 SS0SS0SS0S.0S0 SS0SS0SS0S.0S.:X  d   eU R                  5       nSSSS04S	S
S/nUR                  U5        SS0SS00 0 S.nUR                  SU0SU0S.:X  d   e[        R
                  " [        R                  5         UR                  S/5        S S S 5        [        R
                  " [        R                  5         UR                  S/5        S S S 5        [        R
                  " [        5         UR                  S/5        S S S 5        g ! , (       d  f       N= f! , (       d  f       NU= f! , (       d  f       g = f)Nr    r   r   r      r   )r   )r   r   r   r   )r   r   ))r   r   )r   r      )r   r   r   )r   r   r   r   )r   )r   r   r   r      )	rh   r   rA   r4   r   r   rN   r   r   )r   r   ri   r   s       r   test_add_edges_from"TestMultiGraph.test_add_edges_from@  s   JJL	&1a(A"789uurxm,-rxm,-
 
 	
 
 	
&1a(A"78Cuurxm18Q-PQrxm18Q-PQ
 
 	
 
 JJLHa=!$	
 	
m1"2Fvva\q'l;;;; ]]2++,dV$ - ]]2++,o./ - ]]9%aS! &% -, -, &%s$   FF':F8
F$'
F58
Gc                     [         R                  " 5       n[        R                  " [        5         UR                  SSSS0S4/5        SSS5        g! , (       d  f       g= f)zadd_edges_from expects 4-tuples of the format (u, v, key, data_dict).

Ensure 4-tuples of form (u, v, data_dict, key) raise exception.
r   r   r   redN)rN   rO   r   r   r   r   r   s     r   4test_multigraph_add_edges_from_four_tuple_misorderedCTestMultiGraph.test_multigraph_add_edges_from_four_tuple_misordereda  sF    
 MMO]]9%q!gu%5q9:; &%%s   A
A c                    U R                   nUR                  SS5        UR                  SS0 00SS0 00S0 0S0 0S.S.:X  d   e[        R                  " [
        R                  5         UR                  SS5        S S S 5        [        R                  " [
        R                  5         UR                  SSSS9  S S S 5        g ! , (       d  f       NM= f! , (       d  f       g = f)Nr   r   r   r    r!   r   r]   )r   r`   rA   r   r   rN   r   r   s     r   test_remove_edgeTestMultiGraph.test_remove_edgek  s    GG	auuQBLa!R\1b'qRTg>VWWWW]]2++,MM"a  -]]2++,MM!QAM& -, -,,,s   (C'C
C
C!c           	         U R                   R                  5       nUR                  S/5        S0 0nUR                  SU0SU0X"S.S.:X  d   eUR                  S/5        U R                   R	                  SS5        U R                   R                  5       nUR                  [        UR                  SSS95      5        UR                  0 0 0 S.:X  d   eU R                   R                  5       nUR                  [        UR                  S	SS95      5        UR                  0 0 0 S.:X  d   eU R                   R                  5       nUR                  [        UR                  S	S	S95      5        UR                  0 0 0 S.:X  d   eU R                   R                  5       nUR                  S
SSS0 4S/5        UR                  SS0 00SS0 000 S.:X  d   eg )Nr    r   r   r!   )r   r   r   T)ry   r{   Fr   r   r   r   )r   copyremove_edges_fromrA   r_   r   ri   r   r   kds      r   test_remove_edges_from%TestMultiGraph.test_remove_edges_fromu  s   GGLLN	VH%WuuQGBNCCCC	VH%AGGLLN	Dd!>?@uuB2"----GGLLN	De$!?@AuuB2"----GGLLN	De%!@ABuuB2"----GGLLN	YAq"v>?uuQBLa!R\bAAAAr   c                    U R                   nUR                  SSSS9  UR                  SSSS9  UR                  S0 0S0 0S.S0 0S0 0S.S0 0S0 0S.S.:X  d   eUR                  SS5        S0 0nUR                  S	U0S	U0X"S.S.:X  d   e[        R
                  " [        R                  5         UR                  S
S5        S S S 5        g ! , (       d  f       g = f)Nr   r   r\   r]   r   r   r    r!   r   r   )r   r_   r`   rA   r   r   rN   r   r   s      r   test_remove_multiedge$TestMultiGraph.test_remove_multiedge  s    GG	

1a_
-	a0uur72w'r72w'r72w'
 
 	
 

 	
aWuuQGBNCCCC]]2++,MM"a  -,,s   0C
C)rh   r   r   r   r   N)&r   r   r   r   r   r   r   etraits	egraphicsedatadodod1dodod2dodod3dolr   r   single_edge1single_edge2single_edge3casesr   markparametrizer   mgi_none_casesr   raise_casesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s   114 e$G 51II6EC< FC>"FCG%89:F,C3'2S#z94UVMa$%K#q%()L#q'*+L#qW5"ABCL 
}%	%	%	%	e[!E [[.6< 7< 
		N [[\>:< ;<
 63'K[[UK0	
 1	
!	)("B<'B(!r   r   c                   H    \ 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)TestEdgeSubgraphi  z;Unit tests for the :meth:`MultiGraph.edge_subgraph` method.c                    [         R                  " 5       n[         R                  " U[        S5      5        [         R                  " U[        S5      5        [        S5       H  nSU 3UR                  U   S'   M     SUR
                  S   S   S   S'   SUR
                  S   S   S   S'   SUR
                  S	   S
   S   S'   SUR
                  S	   S
   S   S'   SUR                  S'   Xl        UR                  SS/5      U l	        g )Nr   noder7   edge010r   r   edge011edge340r   r   edge341r6   r   )r   r   r   )
rN   rO   add_pathrangerB   rA   r6   r   edge_subgraphr,   )r   r   is      r   r   TestEdgeSubgraph.setup_method  s    MMO
AuQx 
AuQx qA#'sAGGAJv !*aAv!*aAv!*aAv!*aAv! )Y!78r   c                 Z    / SQ[        U R                  R                  5       5      :X  d   eg)z.Tests that the subgraph has the correct nodes.r   r   r   r   N)r   r,   rB   r   s    r   test_correct_nodes#TestEdgeSubgraph.test_correct_nodes  s    vdfflln5555r   c                 Z    SS/[        U R                  R                  SSS95      :X  d   eg)z.Tests that the subgraph has the correct edges.)r   r   r   r  )r   r   r   r  Tr7   rz   N)r   r,   ri   r  s    r   test_correct_edges#TestEdgeSubgraph.test_correct_edges  s6    $&:;vFFLLdL0@
 
 	
 
r   c                     U R                   R                  S5        / SQ[        U R                  R	                  5       5      :X  d   eg)z[Tests that adding a node to the original graph does not
affect the nodes of the subgraph.

r   r  N)r   add_noder   r,   rB   r  s    r   test_add_nodeTestEdgeSubgraph.test_add_node  s1    
 	vdfflln5555r   c                     U R                   R                  S5        / SQ[        U R                  R	                  5       5      :X  d   eg)zYTests that removing a node in the original graph does
affect the nodes of the subgraph.

r   )r   r   r   N)r   r   r   r,   rB   r  s    r   r   !TestEdgeSubgraph.test_remove_node  s3    
 	1F466<<>2222r   c                    U R                    H9  nU R                  R                  U   U R                   R                  U   :X  a  M9   e   SU R                  R                  S   S'   U R                  R                  S   U R                   R                  S   :X  d   eSU R                   R                  S   S'   U R                  R                  S   U R                   R                  S   :X  d   eg)zPTests that the node attribute dictionary of the two graphs is
the same object.

r(   r   r7   re   r   N)r,   r   rB   )r   rt   s     r   test_node_attr_dict$TestEdgeSubgraph.test_node_attr_dict  s    
 A66<<?dffll1o555  #(Qvv||A$&&,,q/111"'Qvv||A$&&,,q/111r   c                 v   U R                   R                  SS9 HH  u  pnU R                  R                  U   U   U   U R                   R                  U   U   U   :X  a  MH   e   SU R                  R                  S   S   S   S'   U R                  R                  S   S   S   S   U R                   R                  S   S   S   S   :X  d   eSU R                   R                  S   S	   S   S'   U R                  R                  S   S	   S   S   U R                   R                  S   S	   S   S   :X  d   eg
)zPTests that the edge attribute dictionary of the two graphs is
the same object.

T)r{   r(   r   r   r7   re   r   r   N)r,   ri   r   r4   )r   rs   rt   ks       r   test_edge_attr_dict$TestEdgeSubgraph.test_edge_attr_dict  s%   
 vv|||.GA!66;;q>!$Q'466;;q>!+<Q+???? / (-Aq!V$vv{{1~a #F+tvv{{1~a/@/CF/KKKK',Aq!V$vv{{1~a #F+tvv{{1~a/@/CF/KKKKr   c                 b    U R                   R                  U R                  R                  L d   eg)zQTests that the graph attribute dictionary of the two graphs
is the same object.

N)r   r6   r,   r  s    r   test_graph_attr_dict%TestEdgeSubgraph.test_graph_attr_dict  s"    
 vv||tvv||+++r   )r   r,   N)r   r   r   r   __doc__r   r  r  r!  r   r&  r*  r-  r   r   r   r   r  r    s.    E9$6
632L,r   r  c                       \ rS rSrSrg)CustomDictClassi  r   N)r   r   r   r   r   r   r   r   r1  r1    s    r   r1  c                   0    \ rS rSr\r\r\r\r\r	\r
\rSrg)MultiGraphSubClassi  r   N)r   r   r   r   r1  node_dict_factorynode_attr_dict_factoryadjlist_outer_dict_factoryadjlist_inner_dict_factoryr|   rq   graph_attr_dict_factoryr   r   r   r   r3  r3    s,    ',!0!0+,-r   r3  c                       \ rS rSrS rSrg)TestMultiGraphSubclassi  c                    [         U l        / SQU l        / SQU l        U R                  5       U l        U R                  R                  U R                  R                  5       U R                  R                  5       U R                  R                  5       S.5      U R                  l        0 0 0 S.U R                  l        U R                   HW  nU R                   HD  nX:w  d  M
  S0 0nX0R                  R                  U   U'   X0R                  R                  U   U'   MF     MY     U R                  R                  5       U R                  l
        U R                  R                  5       U R                  R                  S'   U R                  R                  5       U R                  R                  S'   U R                  R                  5       U R                  R                  S'   g )Nr   r!   r   r   r   )r3  rh   r   r   r   r6  r7  r4   r9   r4  r5   r5  )r   rs   rt   ru   s       r   r   #TestMultiGraphSubclass.setup_method  sP   '
/ **,ww99775577755777557
 2"-A\\6BA)*GGLLOA&)*GGLLOA&	 "  1137799;a7799;a7799;ar   )rh   r   r   r   N)r   r   r   r   r   r   r   r   r   r:  r:    s    <r   r:  )collectionsr   r   networkxrN   networkx.utilsr   
test_graphr   r   
_TestGraphr	   r   r  r1  rO   r3  r:  r   r   r   <module>rB     sn        & + /g
. g
T`!): `!FN, N,b	h 	. .<^ <r   