+
    )i1              	           ^ RI t ^ RIt^ RIHtHtHtHtHt ^ RI	H
t
Ht ^ RIHtHtHt  ! R R4      t] P"                  P%                  RRR.^ ^RR	/3^^RR
/3.34      R 4       tR tR tR tR# )    N)from_dict_of_dictsfrom_dict_of_liststo_dict_of_dictsto_dict_of_liststo_networkx_graph)barbell_graphcycle_graph)edges_equalgraphs_equalnodes_equalc                   b   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V tR# )TestConvertc                L    \        R  V 4       4      \        R V 4       4      8H  # )c              3   8   "   T F  p\        V4      x  K  	  R # 5iNsorted.0es   & Y/var/www/html/photoedit/myenv/lib/python3.14/site-packages/networkx/tests/test_convert.py	<genexpr>.TestConvert.edgelists_equal.<locals>.<genexpr>   s     ,AfQii   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r   r   s   & r   r   r      s     6M"Qvayy"r   r   )selfe1e2s   &&&r   edgelists_equalTestConvert.edgelists_equal   s#    ,,,6M"6M0MMM    c                    \         \        3\        \        33 F  w  r\	        ^
^4      p/ Vn        V! V4      pV! V4      p\        W54      '       g   Q h\        V4      p\        W64      '       g   Q h\        P                  ! V4      p\        W74      '       g   Q h\        P                  ! ^4      p\        P                  ! ^4      p	/ Vn        / V	n        V! V. ROR7      p\        P                  ! V4      p
\        W4      '       d   K  Q h	  R# )
   nodelistN)r         )r   r   r   r   r   graphr   r   nxGraph
path_graph)r   destsourceGdodGGGWGIP4P3Gdods   &          r   test_simple_graphsTestConvert.test_simple_graphs   s    1212
LD b!$AAGq'C B&&&&"3'B&&&&#B&&&& q!Bq!BBHBHrI.C88C=D))))/
r!   c                    ! R  R4      p\         P                  ! \        P                  \        V4        ! R R4      p\         P                  ! \        P                  \        V4       R^ /p\         P                  ! \
        \        V4        ! R R4      p\         P                  ! \        P                  \        V4       \         P                  ! \        P                  \        R4       R# )c                       ] tR t^/tRtRtR# &TestConvert.test_exceptions.<locals>.GN )__name__
__module____qualname____firstlineno__adj__static_attributes__r<   r!   r   r.   r;   /   s    Cr!   r.   c                       ] tR t^5tRtRtR# r:   )r=   r>   r?   r@   	is_strictrB   r<   r!   r   r.   r;   5   s    Ir!   ac                       ] tR t^?tRtRtR# r:   )r=   r>   r?   r@   nextrB   r<   r!   r   r.   r;   ?   s    Dr!   N)pytestraisesr)   NetworkXErrorr   	TypeError)r   r.   s   & r   test_exceptionsTestConvert.test_exceptions-   s    	 	 	b&&(91=	 	 	b&&(91= !Hi!2A6	 	 	b&&(91= 	b&&(93?r!   c                H   \         \        3\        \        33 EF  w  r\	        ^
4      pV! V4      pV! V4      p\        \        VP                  4       4      \        VP                  4       4      4      '       g   Q h\        \        VP                  4       4      \        VP                  4       4      4      '       g   Q h\        V4      p\        \        VP                  4       4      \        VP                  4       4      4      '       g   Q h\        \        VP                  4       4      \        VP                  4       4      4      '       g   Q h\        P                  ! V4      p\        \        VP                  4       4      \        VP                  4       4      4      '       g   Q h\        \        VP                  4       4      \        VP                  4       4      4      '       g   Q h\	        ^
\        P                  R7      pV! V4      pV! V\        P                  R7      p\        VP                  4       4      \        VP                  4       4      8X  g   Q h\        VP                  4       4      \        VP                  4       4      8X  g   Q h\        V\        P                  R7      p\        VP                  4       4      \        VP                  4       4      8X  g   Q h\        VP                  4       4      \        VP                  4       4      8X  g   Q h\        P                  ! V4      p\        VP                  4       4      \        VP                  4       4      8X  g   Q h\        VP                  4       4      \        VP                  4       4      8X  d   EK  Q h	  R# )r#   create_usingN)r   r   r   r   r	   r   r   nodesr
   edgesr   r)   r*   DiGraph)r   r,   r-   r.   r/   r0   r1   r2   s   &       r   test_digraphsTestConvert.test_digraphsG   sl   1212
LD BA q'CBvaggi0&2DEEEEvaggi0&2DEEEE"3'Bvaggi0&2DEEEEvaggi0&2DEEEE#Bvaggi0&2DEEEEvaggi0&2DEEEEBRZZ8Aq'C"**5B!'')$rxxz(::::!'')$rxxz(::::"3RZZ@B!'')$rxxz(::::!'')$rxxz(::::CB!'')$rxxz(::::!'')$rxxz(::::9
r!   c           	        \         P                  ! ^
4      p\         P                  ! 4       pVP                  V4       VP	                  R VP                  4        4       4       \        V4      p\        V\         P                  R7      p\        \        VP                  4       4      \        VP                  4       4      4      '       g   Q h\        \        VP                  4       4      \        VP                  4       4      4      '       g   Q h\        V\         P                  R7      p\        \        VP                  4       4      \        VP                  4       4      4      '       g   Q h\        \        VP                  4       4      \        VP                  4       4      4      '       g   Q h\         P                  ! V4      p\        VP                  4       4      \        VP                  4       4      8X  g   Q h\        VP                  4       4      \        VP                  4       4      8X  g   Q h\        V4      p\        V\         P                  R7      pVP                  RR7       UU	U
u. uF
  w  rqV	/ 3NK  	  pp	pp
\        \        VP                  4       4      \        VP                  4       4      4      '       g   Q h\        V\        VP                  RR7      4      4      '       g   Q h\        V\         P                  R7      p\        \        VP                  4       4      \        VP                  4       4      4      '       g   Q h\        V\        VP                  RR7      4      4      '       g   Q h\         P                  ! V4      p\        \        VP                  4       4      \        VP                  4       4      4      '       g   Q h\        V\        VP                  RR7      4      4      '       g   Q hR# u up
p	pi )r#   c              3   .   "   T F  w  rWV3x  K  	  R # 5ir   r<   r   uvs   &  r   r   )TestConvert.test_graph.<locals>.<genexpr>j   s     !B	1)	   rO   TdataN)r)   r	   r*   add_nodes_fromadd_weighted_edges_fromrR   r   r   r   r   rQ   r
   r   r   r   )r   gr.   r/   r0   r1   r2   dolrY   rZ   denones   &           r   
test_graphTestConvert.test_graphf   s   NN2HHJ		!!!B	!BB q!"((;6!''),fRXXZ.@AAAA6!''),fRXXZ.@AAAAs:6!''),fRXXZ.@AAAA6!''),fRXXZ.@AAAAXXc]aggi F288:$6666aggi F288:$6666 q!"((;-.WW$W-?@-?	qQ-?@6!''),fRXXZ.@AAAA5&t)<"=>>>>s:6!''),fRXXZ.@AAAA5&t)<"=>>>>XXc]6!''),fRXXZ.@AAAA5&t)<"=>>>> As   ,P c           	        \        ^
4      p\        P                  ! 4       pVP                  V4       VP	                  R VP                  4        4       4       \        P                  ! 4       pVP                  V4       VP	                  R VP                  4        4       4       VP                  ^ ^^R7       \        P                  ! 4       pVP                  V4       VP	                  R VP                  4        4       4       VP                  ^ ^ ^dR7       \        V4      p\        V\        P                  R7      p\        VP                  4       VP                  4       4      '       g   Q h\        VP                  4       VP                  4       4      '       g   Q h\        V\        P                  R7      p\        VP                  4       VP                  4       4      '       g   Q h\        VP                  4       VP                  4       4      '       g   Q h\        P                  ! V4      p\        VP                  4       VP                  4       4      '       g   Q h\        VP                  4       VP                  4       4      '       g   Q h\        V4      p	\        V	\        P                  R7      pVP                  RR7       U
UUu. uF
  w  rqV/ 3NK  	  ppp
p\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        V\!        VP                  RR7      4      4      '       g   Q h\        V	\        P                  R7      p\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        V\!        VP                  RR7      4      4      '       g   Q h\        P                  ! V	4      p\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        V\!        VP                  RR7      4      4      '       g   Q h\        V4      p\        V\        P                  RR7      p\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        V\        P                  RR7      p\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        P                  ! V4      p\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\!        VP                  4       4      \!        VP                  4       4      8X  g   Q h\        V\        P                  R	R7      p\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\!        VP                  4       4      \!        VP                  4       4      8w  g   Q h\        P                  ! V4      p\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        P                  ! V4      p\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        V4      p	\        V	\        P                  R7      p\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        V	\        P                  R7      p\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        P                  ! V	4      p\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q h\        \!        VP                  4       4      \!        VP                  4       4      4      '       g   Q hR
# u uppp
i )r#   c              3   .   "   T F  w  rWV3x  K  	  R # 5ir   r<   rX   s   &  r   r   >TestConvert.test_with_multiedges_self_loops.<locals>.<genexpr>   s     "CA!9r\   c              3   .   "   T F  w  rWV3x  K  	  R # 5ir   r<   rX   s   &  r   r   ri           #D)$!Q1I)r\   weightc              3   .   "   T F  w  rWV3x  K  	  R # 5ir   r<   rX   s   &  r   r   ri      rk   r\   rO   Tr]   )rP   multigraph_inputFN)r	   r)   r*   r_   r`   rR   
MultiGraphadd_edger   r   r   rQ   r
   r   r   r   r   )r   r.   XGXGMXGSr/   r0   r1   r2   rb   rY   rZ   rc   rd   GEGMs   &               r   test_with_multiedges_self_loops+TestConvert.test_with_multiedges_self_loops   s   OXXZ
!
"""C"CCmmo1###D!'')#DDQ!$hhj1###D!'')#DDQ#& s#"((;399;
3333399;
3333s:399;
3333399;
3333XXc]399;
3333399;
3333 s#"((;-0YYDY-AB-A	qQ-AB6#))+.rxxz0BCCCC5&t)<"=>>>>s:6#))+.rxxz0BCCCC5&t)<"=>>>>XXc]6#))+.rxxz0BCCCC5&t)<"=>>>> s#"--RVW6#))+.rxxz0BCCCC6#))+.rxxz0BCCCCsQUV6#))+.rxxz0BCCCC6#))+.rxxz0BCCCC]]36#))+.rxxz0BCCCCciik"fRXXZ&8888"--RWX6#))+.rxxz0BCCCCciik"fRXXZ&8888]]36#))+.rxxz0BCCCC6#))+.rxxz0BCCCC]]16"((*-vaggi/@AAAA6"((*-vaggi/@AAAA
 q!"--@6!''),fRXXZ.@AAAA6!''),fRXXZ.@AAAAs?6!''),fRXXZ.@AAAA6!''),fRXXZ.@AAAA]]36!''),fRXXZ.@AAAA6!''),fRXXZ.@AAAAY Cs   g%c           	        \         P                  ! ^4      p. ROp\         P                  ! V4      p\        \	        VP                  4       4      \	        VP                  4       4      4      '       g   Q h\        \	        VP                  4       4      \	        VP                  4       4      4      '       g   Q h\        \	        VP                  RR7      4      \	        VP                  RR7      4      4      '       g   Q h^ ^/ 3^^/ 3^^/ 3.p\         P                  ! V4      p\        \	        VP                  4       4      \	        VP                  4       4      4      '       g   Q h\        \	        VP                  4       4      \	        VP                  4       4      4      '       g   Q h\        \	        VP                  RR7      4      \	        VP                  RR7      4      4      '       g   Q hR \        ^4       4       p\         P                  ! V4      p\        \	        VP                  4       4      \	        VP                  4       4      4      '       g   Q h\        \	        VP                  4       4      \	        VP                  4       4      4      '       g   Q h\        \	        VP                  RR7      4      \	        VP                  RR7      4      4      '       g   Q hR# )   Tr]   c              3   6   "   T F  qV^,           3x  K  	  R# 5i)r&   Nr<   )r   ns   & r   r   -TestConvert.test_edgelists.<locals>.<genexpr>   s     *AQZs   N)r   r&   r&   r'   )r'      )	r)   r+   r*   r   r   rQ   r
   rR   range)r   Pr   r.   s   &   r   test_edgelistsTestConvert.test_edgelists   s   MM!$HHQK6!''),fQWWY.?@@@@6!''),fQWWY.?@@@@6!''t'"45vagg4g>P7QRRRRBZ!QaBZ0HHQK6!''),fQWWY.?@@@@6!''),fQWWY.?@@@@6!''t'"45vagg4g>P7QRRRR*q*HHQK6!''),fQWWY.?@@@@6!''),fQWWY.?@@@@6!''t'"45vagg4g>P7QRRRRr!   c                   . ROp. ROpV P                  \        P                  ! \        P                  ! V4      4      P	                  4       V4      '       g   Q hV P                  \        P                  ! \        P                  ! V4      4      P	                  4       V4      '       g   Q hV P                  \        P
                  ! \        P                  ! V4      4      P	                  4       V4      '       g   Q hV P                  \        P
                  ! \        P                  ! V4      4      P	                  4       V4      '       g   Q hV P                  \        P
                  ! \        P                  ! V4      4      P	                  4       V4      '       g   Q hV P                  \        P
                  ! \        P                  ! V4      4      P	                  4       V4      '       g   Q hV P                  \        P                  ! \        P                  ! V4      4      P	                  4       V4      '       g   Q hV P                  \        P                  ! \        P                  ! V4      4      P	                  4       V4      '       g   Q hR# )r   N)r~   r   )r'   r   )r~   r   )r   r'   )r   r)   r*   rS   rR   rp   MultiDiGraph)r   edges1edges2s   &  r   test_directed_to_undirected'TestConvert.test_directed_to_undirected   s   ))##BHHRZZ-?$@$F$F$H&QQQQ##BHHRZZ-?$@$F$F$H&QQQQ##BMM"**V2D$E$K$K$MvVVVV##BMM"**V2D$E$K$K$MvVVVV##MM"//&1288:F
 
 	
 
 ##MM"//&1288:F
 
 	
 
 ##BHHR__V-D$E$K$K$MvVVVV##BHHR__V-D$E$K$K$MvVVVVr!   c                p   \         P                  ! 4       pVP                  R 4       \        V\         P                  R7      p\	        VP
                  4      \	        VP
                  4      8X  g   Q h\         P                  ! V4      p\	        VP
                  4      \	        VP
                  4      8X  g   Q hR# )abcrO   N)r)   r*   r_   r   listrQ   rS   )r   r.   Hs   &  r   test_attribute_dict_integrity)TestConvert.test_attribute_dict_integrity   st    HHJ	abhh7AGG}QWW---JJqMAGG}QWW---r!   c                    \         P                  ! R.4      p\         P                  ! V\        V4      R7      p\	        VP                  RR7      V4      '       g   Q hR# )r&   r$   Tr]   N)r&   r&   )r)   r*   to_edgelistr   r
   rR   )r   r.   elists   &  r   test_to_edgelistTestConvert.test_to_edgelist  sD    HHfXq4731777-u5555r!   c                Z  a  ! R  R\         4      o ! V3R lR\        P                  4      p\        P                  ! 4       pVP                  ^^R7       V! V4      p\	        VP
                  ^,          \         4      '       g   Q h\	        VP
                  ^,          S4      '       g   Q hR# )c                       ] tR tRtRtR# )GTestConvert.test_custom_node_attr_dict_safekeeping.<locals>.custom_dicti	  r<   N)r=   r>   r?   r@   rB   r<   r!   r   custom_dictr   	  s    r!   r   c                      < ] tR tRt Z tRtR# )BTestConvert.test_custom_node_attr_dict_safekeeping.<locals>.Customi  r<   N)r=   r>   r?   r@   node_attr_dict_factoryrB   )r   s   r   Customr     s	    %0"r!   r   rl   N)dictr)   r*   add_node
isinstance_node)r   r   ra   hr   s   &   @r   &test_custom_node_attr_dict_safekeeping2TestConvert.test_custom_node_attr_dict_safekeeping  s{    	$ 		1RXX 	1 HHJ	

1Q
1I!''!*d++++!''!*k2222r!   r<   N)r=   r>   r?   r@   r   r6   rL   rT   re   rw   r   r   r   r   r   rB   __classdictcell__)__classdict__s   @r   r   r      sI     N*4@4;>?@LB\S(W$.6
3 3r!   r   edgelistrm   g      ?g       @c                     \         P                  ! 4       pVP                  V 4       ^ ^^
/^^ ^
^^
/^^^
//p\         P                  ! V^
R7      V8X  g   Q hR# )r   	edge_dataN)r)   r*   add_edges_fromr   )r   r.   expecteds   &  r   )test_to_dict_of_dicts_with_edgedata_paramr     s\     	
AX Ar7A2q"~q1b':HqB/8;;;r!   c                      \         P                  ! ^4      p . ROp^^^
/^^^
^^
/^^^
//p\         P                  ! W^
R7      V8X  g   Q hR# )   )r%   r   N)r'   r   rz   )r)   r+   r   )r.   r%   r   s      r   0test_to_dict_of_dicts_with_edgedata_and_nodelistr   -  sR    
aAHAr7A2q"~q1b':HqrBhNNNr!   c                     \         P                  ! 4       p V P                  ^ ^RR7       V P                  ^ ^RR7       ^ ^^
/^^ ^
//p\         P                  ! V ^
R7      V8X  g   Q hR# )z2Multi edge data overwritten when edge_data != NonerE   )keybr   N)r)   rp   rq   r   )r.   r   s     r   .test_to_dict_of_dicts_with_edgedata_multigraphr   4  sb    
AJJq!JJJq!JAr7A2w'HqB/8;;;r!   c                      . ROp \         P                  ! \        P                  RR7      ;_uu_ 4        \        P                  ! V 4       RRR4       R#   + '       g   i     R# ; i)r&   zInput is not a valid edge list)matchN)r&   r'   r   )rH   rI   r)   rJ   r   )invalid_edgelists    r   #test_to_networkx_graph_non_edgelistr   >  s?     	r''/O	P	P
-. 
Q	P	P	Ps   AA%	r~   r   )rH   networkxr)   networkx.convertr   r   r   r   r   networkx.generators.classicr   r	   networkx.utilsr
   r   r   r   markparametrizer   r   r   r   r<   r!   r   <module>r      s       C A AE3 E3X  

Q3	 1a(C"9:	<<O</r!   