+
    )iYI                         ^ RI Ht ^ RIt^ RIt^ RIHt ^RIHt ^RIH	t
  ! R R]4      t ! R R	]]
4      t ! R
 R4      t ! R R]4      t ! R R]P                  4      t ! R R]4      tR# )    )UserDictN)edges_equal)BaseAttrGraphTester)	TestGraphc                   t   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tRtV tR# )BaseMultiGraphTesterc                    V P                   pVP                  ^ ^4      '       g   Q hVP                  ^ R4      '       d   Q hVP                  ^ ^^ 4      '       g   Q hVP                  ^ ^^4      '       d   Q hR# r   N)K3has_edgeselfGs   & d/var/www/html/photoedit/myenv/lib/python3.14/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                "   V P                   pVP                  ^ ^4      ^ / /8X  g   Q hV^ ,          ^,          ^ / /8X  g   Q hV^ ,          ^,          ^ ,          / 8X  g   Q hVP                  ^
^4      e   Q hVP                  ^ ^^ 4      / 8X  g   Q hR# r   N)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                    V P                   p\        VP                  4       4      ^ ^^ / /^^ / //^^ ^ / /^^ / //^^ ^ / /^^ / ///8X  g   Q hR# r   )r   dict	adjacencyr   s   & r   test_adjacency#BaseMultiGraphTester.test_adjacency   so    GGAKKM"Ar7A2w'Ar7A2w'Ar7A2w''
 
 	
 
r   c                d   V^,          ^,          ^ ,          R,          V^,          ^,          ^ ,          R,          8X  g   Q hV^,          ^,          ^ ,          R,          P                  ^4       V^,          ^,          ^ ,          R,          V^,          ^,          ^ ,          R,          8w  g   Q hR#    fooN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                d   V^,          ^,          ^ ,          R,          V^,          ^,          ^ ,          R,          8X  g   Q hV^,          ^,          ^ ,          R,          P                  ^4       V^,          ^,          ^ ,          R,          V^,          ^,          ^ ,          R,          8X  g   Q hR# r    r#   r%   s   &&&r   shallow_copy_edge_attr+BaseMultiGraphTester.shallow_copy_edge_attr)   r)   r   c                   VP                   VP                   8X  g   Q hVP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hVP	                  4       '       g   VP	                  4       '       g   VP                   ^,          ^,          ^ ,          VP                   ^,          ^,          ^ ,          J g   Q hVP                   ^,          ^,          ^ ,          VP                   ^,          ^,          ^ ,          J g   Q hR# VP	                  4       '       g#   VP                   Vn        VP                   Vn        VP	                  4       '       g#   VP                   Vn        VP                   Vn        VP
                  VP
                  8X  g   Q hVP                  VP                  8X  g   Q hVP                  ^,          ^,          ^ ,          VP
                  ^,          ^,          ^ ,          J g   Q hVP                  ^,          ^,          ^ ,          VP
                  ^,          ^,          ^ ,          J g   Q hR# )r!   N)_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                B   V^,          ^,          ^ ,          R,          pRVP                   ^,          ^,          ^ ,          R&   VP                  VP                  8X  g   Q hW1P                   ^,          ^,          ^ ,          R&   VP                  VP                  8X  g   Q hVP                  ^ ,          R,          pRVP                  ^ ,          R&   VP                  VP                  8X  g   Q hW1P                  ^ ,          R&   VP                  VP                  8X  g   Q hR# r!   r"   bazNadjr.   nodesr/   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                B   V^,          ^,          ^ ,          R,          pRVP                   ^,          ^,          ^ ,          R&   VP                  VP                  8w  g   Q hW1P                   ^,          ^,          ^ ,          R&   VP                  VP                  8X  g   Q hVP                  ^ ,          R,          pRVP                  ^ ,          R&   VP                  VP                  8w  g   Q hW1P                  ^ ,          R&   VP                  VP                  8X  g   Q hR# r8   r:   r=   s   &&& r   different_attrdict'BaseMultiGraphTester.different_attrdictP   rA   r   c                    V P                   pV P                  V4       \        P                  ! V4      pV P	                  W!4       VP                  4       pV P                  W!4       R # 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                    V P                   pV P                  V4       \        P                  ! V4      pV P	                  W!4       VP                  4       pV P                  W!4       R # rF   )r   rG   rH   MultiDiGraphrJ   to_directedrL   rM   s   &  r   test_to_directed%BaseMultiGraphTester.test_to_directedf   sN    GGAOOAQ"MMOr   c                >   V P                   pVP                  ^ ^ 4       VP                  ^ ^ 4       VP                  ^ ^ RR7       VP                  ^ ^ RR7       VP                  ^ ^ 4      ^8X  g   Q hVP                  ^ ^ 4       VP                  ^ ^ 4      ^8X  g   Q hR# )r   parallel edgekeyN)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                   V P                  4       pVP                  ^^RR7       VP                  ^^RRR7       \        VP                  R,          RR/4      '       g   Q h\        VP                  R,          RR/4      '       g   Q hR# )	r!   bar)r"   rX   bizr"   Nr!      r   )r!   rb   rX   )GraphrY   r   edgesr   s   & r   test_edge_lookup%BaseMultiGraphTester.test_edge_lookupx   ss    JJL	

1aU
#	

1aE
*1777+eU^<<<<177;/%@@@@r   c           	     P  a V P                  4       oSP                  ^^RRR7       SP                  ^^RRR7       \        SP                  ^^4      SP                  4      '       g   Q h\
        ;QJ d/    V3R lSP                  RR7       4       F  '       d   K   R	M$	  RM ! V3R lSP                  RR7       4       4      '       g   Q h\        SP                  RRR
7      ^^RRR/3^^RRR/3.4      '       g   Q h\        SP                  RRR
7      RR.4      '       g   Q hR# )r!   k1r_   )rX   r"   k2r9   c              3   V   <"   T F  w  rp\        VSP                  4      x  K   	  R # 5irF   )
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dataFkeysrt   r"   N)r!   rb   rh   r_   )r!   rb   ri   r9   )rc   rY   rk   r   edge_key_dict_factoryallrd   r   r   s   &@r   test_edge_attr#BaseMultiGraphTester.test_edge_attr   s(   JJL	

1aTu
-	

1aTu
-!//!Q/1H1HIIIIs 
CD77PT7CU
sss 
CD77PT7CU
 
 
 	
 
 GGDG)D5%.)Aq$+GH
 
 	
 
 GGEG*-@BU,V
 
 	
 
r   c                h   V P                  4       pVP                  ^^^ ^RRR7       \        VP                  RR7      ^^R^RRRR/3.4      '       g   Q h^
V^,          ^,          ^ ,          R&   \        VP                  RR7      ^^R^
RRRR/3.4      '       g   Q h^VP                  ^,          ^,          ^ ,          R&   \        VP                  RR7      ^^R^RRRR/3.4      '       g   Q h^VP                  R,          R&   \        VP                  RR7      ^^R^RRRR/3.4      '       g   Q h^^.VP                  ^,          ^,          ^ ,          R&   ^VP                  ^,          ^,          ^ ,          R	&   \        VP                  RR7      ^^R^RRRRR^^.R	^/3.4      '       g   Q hR
# )r!   r_   r"   )rX   rt   spamr_   Trs   rt   r|   listdataweightNra   )rc   rY   r   rd   r;   r   s   & r   test_edge_attr4$BaseMultiGraphTester.test_edge_attr4   s   JJL	

1aQQU
>GGG!QFE5%(P!Q R
 
 	
 
  !Q
6GGG!QVUE5(Q!R S
 
 	
 
 "$aAvGGG!QVUE5(Q!R S
 
 	
 
 $& GGG!QVUE5(Q!R S
 
 	
 
 ')#YaAz"#%aAx GGG u"RI "

 
 	
 
r    N)__name__
__module____qualname____firstlineno__r   r   r   r'   r+   r5   r?   rC   rN   rS   r\   re   ry   r   __static_attributes____classdictcell____classdict__s   @r   r   r      sQ     '.
6
6
8("",A
 $
 $
r   r   c                   2  a  ] tR t^t o R tR tR tR^RR/tRRR	R
/tR]R]/t	RR]	//t
RR]//tRRR]RR///tRR./tRRR]3RRR]3.tRR^ / 3.tRR^ ]	3.tRR^ ]3.tRR^ R]RR/3.t]
R]3]
R]3]R]3]R]3]R]3.t]P*                  P-                  R]4      R 4       t]
]3]]3]]3.t]P*                  P-                  R]4      R 4       t]]].t]P*                  P-                  R]4      R 4       tR tR tR tR tR t R t!R t"R t#R t$R t%V t&R!# )"TestMultiGraphc           	        \         P                  V n        ^ / /^ / /^ / /r2p^ ^V^V/^^ V^V/^^ V^V//V n        . ROV n        . ROV n        V P                  4       V n        V P                  V P                  n        / V P                  n        / V P                  P                  ^ &   / V P                  P                  ^&   / V P                  P                  ^&   R# r   N)r   r!   )r   rb   r!   rb   )r   r!   rb   )	rH   rI   rc   k3adjk3edgesk3nodesr   r.   r/   )r   ed1ed2ed3s   &   r   setup_methodTestMultiGraph.setup_method   s    ]]
R1b'Ar7#!S!S)1q#q#.>AsAsCST
/ **,zzaaar   c                    V P                  ^^.^^./RR7      pVP                  R8X  g   Q h^^^ / //3^^^ / //3.p\        VP                  P	                  4       4      V8X  g   Q hR# )r!   test)r1   N)rc   r1   sortedr;   items)r   r   expecteds   &  r   test_data_inputTestMultiGraph.test_data_input   st    JJA3A3'fJ5vvQG%A2w<'89aeekkm$000r   c                   R ^RR/pR ^RR/p^ V^V/pRRV//pRR^ V3RR^V3.pRR^ V3.pV P                  VRR7      p\        VP                  RRR7      4      V8X  g   Q hV P                  VR	R7      p\        VP                  RRR7      4      V8X  g   Q hV P                  VR
R7      p\        VP                  RRR7      4      V8X  g   Q hV P                  VRR7      pV P                  \        P                  ! V4      4      p\        P
                  ! Wx4      RJ g   Q hR FG  p	V P                  \        P                  ! V4      V	R7      p\        P
                  ! Wx4      V	8X  d   KG  Q h	  R	# )wsr"   r_   abTmultigraph_inputru   NF)TF)rc   listrd   rH   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   s   sC'sC'fa(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"   colorblueshapeboxtraitsgraphicsr   r   TFzdod, mgi, edgesc                    V P                  WR 7      p\        VP                  RRR7      4      V8X  g   Q h\        P                  ! WP                   VR7      p\        VP                  RRR7      4      V8X  g   Q hR# )r   Tru   create_usingr   N)rc   r   rd   rH   to_networkx_graph)r   dodr   rd   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                n    V P                  V4      p\        VP                  R R R7      4      V8X  g   Q hR# )Tru   N)rc   r   rd   )r   r   rd   r   s   &&& r   "test_non_multigraph_input_mgi_none1TestMultiGraph.test_non_multigraph_input_mgi_none  s1     JJsOAGGDG12e;;;r   r   c                    \         P                  ! \        P                  V P                  VR R7       \         P                  ! \        P                  \        P
                  VV P                  R R7       R# )Tr   r   N)pytestraisesrH   NetworkXErrorrc   r   )r   r   s   &&r   test_non_multigraph_input_raise.TestMultiGraph.test_non_multigraph_input_raise  sK     	b&&

C$O  !	
r   c                   V P                   pV^ ,          ^^ / /^^ / //8X  g   Q h\        P                  ! \        4      ;_uu_ 4        VP	                  R4       RRR4       \        P                  ! \
        4      ;_uu_ 4        VP	                  R.4       RRR4       R#   + '       g   i     LO; i  + '       g   i     R# ; i)r   jNA)r   r   r   KeyError__getitem__	TypeErrorr   s   & r   test_getitemTestMultiGraph.test_getitem  s    GGtAr7A2w////]]8$$MM# %]]9%%MM3%  &% %$%%%s   B B3 B0	3C	c                2   V P                   pVP                  ^ 4       VP                  ^^^ / //^^^ / ///8X  g   Q h\        P                  ! \
        P                  4      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     R# ; ir
   )r   remove_noder;   r   r   rH   r   r   s   & r   test_remove_nodeTestMultiGraph.test_remove_node$  sr    GG	auuQBL!a!R\::::]]2++,,MM" -,,,s   )BB	c                   V P                  4       pVP                  ^ ^4       VP                  ^ ^^ / //^^ ^ / ///8X  g   Q hV P                  4       pVP                  ! R!   VP                  ^ ^^ / //^^ ^ / ///8X  g   Q hV P                  4       p\        P                  ! \
        4      ;_uu_ 4        VP                  RR4       RRR4       R#   + '       g   i     R# ; i)r   Nanythingr   )rc   rY   r;   r   r   
ValueErrorr   s   & r   test_add_edgeTestMultiGraph.test_add_edge+  s    JJL	

1auuQBL!a!R\::::JJL	

FuuQBL!a!R\::::JJL]]:&&JJtZ( '&&&s   3CC!	c                >   V P                  4       pVP                  ^ ^^R7       VP                  ^ ^4       VP                  4       ^8X  g   Q hV P                  4       pVP                  ^ ^^/ 3.4       VP                  R.4       VP                  4       ^8X  g   Q hR# )r   rW   Nr   )rc   rY   r[   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                   V P                  4       pVP                  R^ ^R^/3.4       VP                  ^ ^^ / ^R^///^^ ^ / ^R^////8X  g   Q hVP                  R^ ^R^/3.^R7       VP                  ^ ^^ / ^R^/^R^/^R^///^^ ^ / ^R^/^R^/^R^////8X  g   Q hV P                  4       p^ ^R^/3RRR.pVP                  V4       ^ R^/^R^/^/ R/ /pVP                  ^ ^V/^^ V//8X  g   Q h\        P
                  ! \        P                  4      ;_uu_ 4        VP                  R	.4       RRR4       \        P
                  ! \        P                  4      ;_uu_ 4        VP                  R
.4       RRR4       \        P
                  ! \        4      ;_uu_ 4        VP                  ^ .4       RRR4       R#   + '       g   i     L; i  + '       g   i     Lb; i  + '       g   i     R# ; i)r   r~   )r~   r   Nr   )r   r!   ))r~   rb   )r   r!      )r   r!   r   )r   )r   r!   rb         )	rc   r   r;   r.   r   r   rH   r   r   )r   r   rd   r   s   &   r   test_add_edges_from"TestMultiGraph.test_add_edges_from@  s   JJL	&1a(A"789uuAr1xm,-Ar1xm,-
 
 	
 
 	
&1a(A"78CuuAr1xmQ1q8Q-PQAr1xmQ1q8Q-PQ
 
 	
 
 JJLHa=!$	
 	
xmQ1q"c2Fvv!a\1q'l;;;; ]]2++,,dV$ - ]]2++,,o./ - ]]9%%aS! &% -, -, &%%s$   "G)G&G)G	G&	)G:	c                    \         P                  ! 4       p\        P                  ! \        4      ;_uu_ 4        VP                  ^ ^RR/^ 3.4       RRR4       R#   + '       g   i     R# ; i)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   redN)rH   rI   r   r   r   r   r   s   & r   4test_multigraph_add_edges_from_four_tuple_misorderedCTestMultiGraph.test_multigraph_add_edges_from_four_tuple_misordereda  sL    
 MMO]]9%%q!gu%5q9:; &%%%s   AA,	c                   V P                   pVP                  ^ ^4       VP                  ^ ^^ / //^^^ / //^^ ^ / /^^ / ///8X  g   Q h\        P                  ! \
        P                  4      ;_uu_ 4        VP                  R^ 4       RRR4       \        P                  ! \
        P                  4      ;_uu_ 4        VP                  ^ ^^R7       RRR4       R#   + '       g   i     L[; i  + '       g   i     R# ; i)r   NrW   r   )r   rZ   r;   r   r   rH   r   r   s   & r   test_remove_edgeTestMultiGraph.test_remove_edgek  s    GG	auuQBL!a!R\1q1b'1qRTg>VWWWW]]2++,,MM"a  -]]2++,,MM!QAM& -, -,,,,s   4C;C-C*	-C>	c           
        V P                   P                  4       pVP                  R.4       ^ / /pVP                  ^ ^V/^^V/^^ V^V//8X  g   Q hVP                  R.4       V P                   P	                  ^ ^4       V P                   P                  4       pVP                  \        VP                  RRR7      4      4       VP                  ^ / ^/ ^/ /8X  g   Q hV P                   P                  4       pVP                  \        VP                  RRR7      4      4       VP                  ^ / ^/ ^/ /8X  g   Q hV P                   P                  4       pVP                  \        VP                  RRR7      4      4       VP                  ^ / ^/ ^/ /8X  g   Q hV P                   P                  4       pVP                  R^ ^^ / 3R.4       VP                  ^ ^^/ //^^ ^/ //^/ /8X  g   Q hR# )	r   T)rt   rv   FNr   )r   r   r   r!   r   r   )r   copyremove_edges_fromr;   rY   r   rd   r   r   kds   &  r   test_remove_edges_from%TestMultiGraph.test_remove_edges_fromu  s   GGLLN	VH%WuuQGQBQArNCCCC	VH%AGGLLN	Dd!>?@uuB2q"----GGLLN	De$!?@AuuB2q"----GGLLN	De%!@ABuuB2q"----GGLLN	YAq"v>?uuQBL!a!R\1bAAAAr   c                   V P                   pVP                  ^ ^RR7       VP                  ^ ^RR7       VP                  ^ ^^ / /^^ / //^^ ^ / /^^ / //^^ ^ / /^^ / ///8X  g   Q hVP                  ^ ^4       ^ / /pVP                  ^ ^V/^^V/^^ V^V//8X  g   Q h\        P
                  ! \        P                  4      ;_uu_ 4        VP                  R^ 4       RRR4       R#   + '       g   i     R# ; i)r   rV   rW   Nr   )r   rY   rZ   r;   r   r   rH   r   r   s   &  r   test_remove_multiedge$TestMultiGraph.test_remove_multiedge  s   GG	

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

 	
aWuuQGQBQArNCCCC]]2++,,MM"a  -,,,s   	C&&C7	)rc   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   s   @r   r   r      s    114 Ce$G&'51Iw
I6EC< FC>"FC(GS%89:F,C3'2S#z94UVMa$%K#q%()L#q'*+L#q8Wc5"ABCL 
}%	%	%	%	e[!E [[.6< 7< 
		N [[\>:< ;<
 63'K[[UK0	
 1	
!	)("B<'B(! !r   r   c                   T   a  ] tR tRt o RtR tR tR tR tR t	R t
R	 tR
 tRtV tR# )TestEdgeSubgraphi  z;Unit tests for the :meth:`MultiGraph.edge_subgraph` method.c                   \         P                  ! 4       p\         P                  ! V\        ^4      4       \         P                  ! V\        ^4      4       \        ^4       F  pRV 2VP                  V,          R&   K  	  RVP
                  ^ ,          ^,          ^ ,          R&   RVP
                  ^ ,          ^,          ^,          R&   RVP
                  ^,          ^,          ^ ,          R&   RVP
                  ^,          ^,          ^,          R&   RVP                  R&   Wn        VP                  R	R
.4      V n	        R# )r   noder1   edge010edge011edge340edge341r0   Nr   )r   r   r!   )
rH   rI   add_pathranger<   r;   r0   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                ^    . RO\        V P                  P                  4       4      8X  g   Q hR# )z.Tests that the subgraph has the correct nodes.Nr   r!   r   r   )r   r&   r<   r   s   &r   test_correct_nodes#TestEdgeSubgraph.test_correct_nodes  s    vdfflln5555r   c                d    RR.\        V P                  P                  RRR7      4      8X  g   Q hR# )z.Tests that the subgraph has the correct edges.Tr1   ru   N)r   r!   r   r  )r   r   r!   r  )r   r&   rd   r  s   &r   test_correct_edges#TestEdgeSubgraph.test_correct_edges  s6    $&:;vFFLLdL0@
 
 	
 
r   c                    V P                   P                  ^4       . RO\        V P                  P	                  4       4      8X  g   Q hR# )z[Tests that adding a node to the original graph does not
affect the nodes of the subgraph.

Nr  )r   add_noder   r&   r<   r  s   &r   test_add_nodeTestEdgeSubgraph.test_add_node  s1    
 	vdfflln5555r   c                    V P                   P                  ^ 4       . RO\        V P                  P	                  4       4      8X  g   Q hR# )zYTests that removing a node in the original graph does
affect the nodes of the subgraph.

N)r!   r   r   )r   r   r   r&   r<   r  s   &r   r   !TestEdgeSubgraph.test_remove_node  s3    
 	1F466<<>2222r   c                &   V P                    FB  pV P                  P                  V,          V P                   P                  V,          8X  d   KB  Q h	  RV P                  P                  ^ ,          R&   V P                  P                  ^ ,          V P                   P                  ^ ,          8X  g   Q hRV P                   P                  ^,          R&   V P                  P                  ^,          V P                   P                  ^,          8X  g   Q hR# )zPTests that the node attribute dictionary of the two graphs is
the same object.

r"   r1   r_   N)r&   r   r<   )r   ro   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                d   V P                   P                  RR7       Fa  w  rpV P                  P                  V,          V,          V,          V P                   P                  V,          V,          V,          8X  d   Ka  Q h	  RV P                  P                  ^ ,          ^,          ^ ,          R&   V P                  P                  ^ ,          ^,          ^ ,          R,          V P                   P                  ^ ,          ^,          ^ ,          R,          8X  g   Q hRV P                   P                  ^,          ^,          ^,          R&   V P                  P                  ^,          ^,          ^,          R,          V P                   P                  ^,          ^,          ^,          R,          8X  g   Q hR# )zPTests that the edge attribute dictionary of the two graphs is
the same object.

T)rv   r"   r1   r_   N)r&   rd   r   r.   )r   rn   ro   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                f    V P                   P                  V P                  P                  J g   Q hR# )zQTests that the graph attribute dictionary of the two graphs
is the same object.

N)r   r0   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   s   @r   r  r    s6     E9$6
632L, ,r   r  c                       ] tR tRtRtR# )CustomDictClassi  r   N)r   r   r   r   r   r   r   r   r+  r+    s    r   r+  c                   2    ] tR tRt]t]t]t]t]t	]t
]tRtR# )MultiGraphSubClassi  r   N)r   r   r   r   r+  node_dict_factorynode_attr_dict_factoryadjlist_outer_dict_factoryadjlist_inner_dict_factoryrw   rl   graph_attr_dict_factoryr   r   r   r   r-  r-    s,    ',!0!0+,-r   r-  c                   &   a  ] tR tRt o R tRtV tR# )TestMultiGraphSubclassi  c           	        \         V n        . ROV n        . ROV n        V P                  4       V n        V P                  P                  ^ V P                  P                  4       ^V P                  P                  4       ^V P                  P                  4       /4      V P                  n        ^ / ^/ ^/ /V P                  n        V P                   F`  pV P                   FM  pW8w  g   K  ^ / /pW0P                  P                  V,          V&   W0P                  P                  V,          V&   KO  	  Kb  	  V P                  P                  4       V P                  n
        V P                  P                  4       V P                  P                  ^ &   V P                  P                  4       V P                  P                  ^&   V P                  P                  4       V P                  P                  ^&   R# r   )r-  rc   r   r   r   r0  r1  r.   r3   r.  r/   r/  )r   rn   ro   rp   s   &   r   r   #TestMultiGraphSubclass.setup_method  s\   '
/ **,ww99477557477557477557
 B2q"-A\\6BA)*GGLLOA&)*GGLLOA&	 "  1137799;a7799;a7799;ar   )rc   r   r   r   N)r   r   r   r   r   r   r   r   s   @r   r4  r4    s     < <r   r4  )collectionsr   r   networkxrH   networkx.utilsr   
test_graphr   r   
_TestGraphr   r   r  r+  rI   r-  r4  r   r   r   <module>r<     sn        & + /g
. g
T`!): `!FN, N,b	h 	. .<^ <r   