+
    )i14                         ^ RI t ^ RIt^ RIHtHtHt ] P                  ! R4      t] P                  ! R4      t	 ! R R4      t
R tR tR	 tR# )
    N)edges_equalgraphs_equalnodes_equalnumpypandasc                   N  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]P(                  P+                  R]P.                  ]P0                  .4      R 4       tR t]P(                  P+                  RRR.R.4      R 4       tR tR tR tRtV t R# )TestConvertPandasc                X   \         P                  P                  ^R7      V n        V P                  P	                  ^^RR7      p. R	Op. R
Op\
        P                  VRR.R7      pW$^ &   W4R&   W@n        \
        P                  . RO.. ROR7      p\
        P                  WE.4      V n	        R# )   )seed)sizeweightcostcolumnsbN)      )ABC)Dr   E)      r   r   )r   r   r   r   )
nprandomRandomStaterngrandintpd	DataFramedfconcatmdf)selfintsar   r#   r%   s   &     `/var/www/html/photoedit/myenv/lib/python3.14/site-packages/networkx/tests/test_convert_pandas.pysetup_methodTestConvertPandas.setup_method   s    99((a(0xx2F3\\$6(:\;13ll-.8RlS99bY'    c                   \         P                  R .4      p\        P                  ! \        P
                  \        P                  V4       \         P                  R R.4      p\        P                  ! \        P
                  \        P                  V4       \         P                  ^^.^^ ..\        ^^.R R.R7      p\        P                  ! \        P
                  \        P                  V4       R# )r(   g        r   dtypeindexr   N)	r!   r"   pytestraisesnxNetworkXErrorto_networkx_graphintfrom_pandas_adjacency)r&   Gr#   s   &  r)   test_exceptions!TestConvertPandas.test_exceptions   s    LL#b&&(<(<a@LL#s$b&&(<(<a@\\Aq6Aq6*#aVcSVZ\Xb&&(@(@"Er,   c           
        \         P                  ! R RR^	R^
/3RRR^R^/3RRR^R^/3.4      p\         P                  ! V P                  ^ RR4      p\	        W!4      '       g   Q h\         P
                  ! V4      pVP                  RR^^R	7       \         P                  ! V P                  ^ RR\         P
                  ! 4       4      p\	        WC4      '       g   Q hR
# )r   r   r   r   r   r   r   r   T)r   r   N)r3   Graphfrom_pandas_edgelistr#   r   
MultiGraphadd_edger%   )r&   Gtruer8   MGtrueMGs   &    r)   test_from_edgelist_all_attr-TestConvertPandas.test_from_edgelist_all_attr    s    cFAx45cFAx34cFAx34
 ##DGGQT:A%%%%u%Sr!4$$TXXq#tR]]_MB''''r,   c           
         \         P                  ! R RR^	R^
/3RRR^R^/3RRR^R^/3.4      p\         P                  ! V P                  ^ RRR.4      p\	        W!4      '       g   Q hR# )	r   r   r   r   r   r   r   r   Nr3   r<   r=   r#   r   r&   r@   r8   s   &  r)   test_from_edgelist_multi_attr/TestConvertPandas.test_from_edgelist_multi_attr0   s    cFAx45cFAx34cFAx34
 ##DGGQh5GHA%%%%r,   c                    \         P                  ! R R^ RRR R^
/3RR^ RRRR^/3RR^ RRRR^/3.4      p\         P                  ! V P                  ^ R. RO4      p\	        W!4      '       g   Q hR# )	r   r   r   r   r   r   r   N)r   r   r   rF   rG   s   &  r)   )test_from_edgelist_multi_attr_incl_target;TestConvertPandas.test_from_edgelist_multi_attr_incl_target;   s    cAsCh;<cAsCh:;cAsCh:;
 ##DGGQ5GHA%%%%r,   c                \   R RRRR^ RR /3R RRRR^6RR/3R RRRR^1RR/3R RRRR^,RR/3R	R
RRR^ RR	/3R	R
RRR^"RR/3R	R
RRR^RR/3R	R
RRR^RR
/3RRRRR^ RR/3RRRRR^RR/3.
p\         P                  ! V4      pR. ROR. ROR. ROR. ROR. RO/p\        P                  P	                  V4      p\         P
                  ! VRRR\         P                  R7      p\         P
                  ! VRR. RO\         P                  R7      p\        WR4      '       g   Q h\        Wb4      '       g   Q hR# )X1X4CozAMiStzBX2X3Y1Y3zCY2Z1Z3zDOr   T)sourcetarget	edge_attrcreate_usingN)
rN   rN   rN   rN   rW   rW   rW   rW   r[   r[   )
rO   rO   rO   rO   rX   rX   rX   rX   r\   r\   )
rN   rU   rV   rO   rW   rZ   rU   rX   r[   rV   )
rQ   rT   rT   rT   rY   rY   rY   rY   r]   r]   )
r   6   1   ,   r   "         r      )rS   rP   rR   )r3   MultiDiGraphr!   r"   	from_dictr=   r   )r&   edgesr@   datar#   G1G2s   &      r)   -test_from_edgelist_multidigraph_and_edge_attr?TestConvertPandas.test_from_edgelist_multidigraph_and_edge_attrF   s    4$dAtT:;4$dBd;<4$dBd;<4$dBd;<4$dAtT:;4$dBd;<4$dBd;<4$dBd;<4$dAtT:;4$dBd;<
 &MMNN7
 \\##D)$$s3$R__
 $$(
 B&&&&B&&&&r,   c                    \         P                  ! R RR^
/3RRR^/3RRR^/3.4      p\         P                  ! V P                  ^ RR4      p\	        W!4      '       g   Q hR# )r   r   r   r   r   r   r   NrF   rG   s   &  r)   test_from_edgelist_one_attr-TestConvertPandas.test_from_edgelist_one_attrj   sl    cHb>*cHa=)cHa=)
 ##DGGQX>A%%%%r,   c                    \         P                  ! R R^ R/3RR^ R/3RR^ R/3.4      p\         P                  ! V P                  ^ R^ 4      p\	        W!4      '       g   Q hR# r   r   r   r   r   r   NrF   rG   s   &  r)    test_from_edgelist_int_attr_name2TestConvertPandas.test_from_edgelist_int_attr_nameu   sh    3C!Cq#h#7#sQH9MN
 ##DGGQQ7A%%%%r,   c           	        \         P                  ! \        P                  \        P                  V P
                  ^ RR4       \         P                  ! \        P                  \        P                  V P
                  ^ R^4       \        P                  ^ ^.^^.^^ ..RR.R7      p\         P                  ! \        P                  \        P                  VRRR4       \         P                  ! \        P                  \        P                  VRRR4       \         P                  ! \        P                  \        P                  VRRRR.4       R	# )
r   r   misspellstr   Tr   r   N)r1   r2   r3   r4   r=   r#   r!   r"   )r&   	edgeframes   & r)   test_from_edgelist_invalid_attr1TestConvertPandas.test_from_edgelist_invalid_attr}   s    b55tww3
	
 	b&&(?(?!SRSTLL1a&1a&1a&!9C:LN	b55y#sD	
 	b55y#sH	
 	##v	
r,   c                    \         P                  ! R R/ 3RR/ 3RR/ 3.4      p\         P                  ! V P                  ^ R4      p\	        W!4      '       g   Q hR# rv   rF   rG   s   &  r)   test_from_edgelist_no_attr,TestConvertPandas.test_from_edgelist_no_attr   sR    3R.3R.3R.IJ##DGGQ4A%%%%r,   c                   \         P                  ! ^
4      pVP                  R \        VP                  4       4       4       \         P
                  ! V4      pV UUUu. uF  w  r4qSNK	  	  ppppV UUUu. uF  w  r4qTNK	  	  ppppV UUUu. uF  w  r4qUR,          NK  	  pppp\        P                  RVRVRV/4      p	\         P                  ! V	R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	\         P                  R7      p\        VP                  4       VP                  4       4      '       g   Q h\        VP	                  4       VP	                  4       4      '       g   Q hR# u upppi u upppi u upppi )
   c              3   .   "   T F  w  rWV3x  K  	  R # 5iN .0uvs   &  r)   	<genexpr>7TestConvertPandas.test_from_edgelist.<locals>.<genexpr>        !F1)   r   r_   r`   )ra   rb   N)r3   cycle_graphadd_weighted_edges_fromlistrl   to_edgelistr!   r"   r=   r   nodesr   r5   r<   )r&   r8   edgelistr{   r|   dr_   r`   r   rl   GGGWs   &           r)   test_from_edgelist$TestConvertPandas.test_from_edgelist   sP   NN2	!!!FQWW!FF>>!$#+,8a!8,#+,8a!8,-56X'!H++X6h&(FST$$Uh?1779bhhj11111779bhhj1111!!%bhh?1779bhhj11111779bhhj1111 -,6s   F?5GGc                   \         P                  ! ^
4      pVP                  R \        VP                  4       4       4       \         P
                  ! V^ RR7       \        P                  ! \         P                  \         P                  V4       VP	                  RR7       F  w  r#pVP                  RR4       K  	  \         P
                  ! V^ RR7       \        P                  ! \         P                  \         P                  V4       R# )r   c              3   .   "   T F  w  rWV3x  K  	  R # 5ir   r   r   s   &  r)   r   YTestConvertPandas.test_to_edgelist_default_source_or_target_col_exists.<locals>.<genexpr>   r   r   r_   nameTrm   Nr`   r3   
path_graphr   r   rl   set_edge_attributesr1   r2   r4   to_pandas_edgelistpopr&   r8   r   r   r   s   &    r)   4test_to_edgelist_default_source_or_target_col_existsFTestConvertPandas.test_to_edgelist_default_source_or_target_col_exists   s    MM"	!!!FQWW!FF
q!(3b&&(=(=qA wwDw)GA!EE(D! * 	q!(3b&&(=(=qAr,   c                    \         P                  ! ^
4      pVP                  R \        VP                  4       4       4       \         P
                  ! V^ RR7       \        P                  ! \         P                  \         P                  VRR7       VP	                  RR7       F  w  r#pVP                  RR4       K  	  \         P
                  ! V^ RR7       \        P                  ! \         P                  \         P                  VRR	7       R# )
r   c              3   .   "   T F  w  rWV3x  K  	  R # 5ir   r   r   s   &  r)   r   XTestConvertPandas.test_to_edgelist_custom_source_or_target_col_exists.<locals>.<genexpr>   r   r   source_col_namer   )r_   Tr   Ntarget_col_name)r`   r   r   s   &    r)   3test_to_edgelist_custom_source_or_target_col_existsETestConvertPandas.test_to_edgelist_custom_source_or_target_col_exists   s    MM"	!!!FQWW!FF
q!*;<b33Q?P	

 wwDw)GA!EE#T* * 	q!*;<b33Q?P	
r,   c                N   \         P                  ! ^
\         P                  R7      pVP                  R \	        VP                  4       4       4       4       \         P                  ! V^ RR7       \        P                  ! \         P                  \         P                  VRR7       R# )r   r   c              3   .   "   T F  w  rWV3x  K  	  R # 5ir   r   r   s   &  r)   r   ITestConvertPandas.test_to_edgelist_edge_key_col_exists.<locals>.<genexpr>   s     !H1)r   edge_key_namer   edge_keyN)r3   r   r>   r   r   rl   r   r1   r2   r4   r   )r&   r8   s   & r)   $test_to_edgelist_edge_key_col_exists6TestConvertPandas.test_to_edgelist_edge_key_col_exists   sg    MM"2==9	!!!HQWWY!HH
q!/:b33Q	
r,   c                    ^^.p\         P                  ^^.^^ ..\        WR7      p\        P                  ! RR.4      p\        P
                  ! V\        R7      p\         P                  P                  WB4       R# )   r.   r/   Nr   r   r   r   )r!   r"   r6   r3   r<   to_pandas_adjacencytestingassert_frame_equal)r&   nodelistdftruer8   r#   s   &    r)   test_from_adjacency%TestConvertPandas.test_from_adjacency   sk    q6VaVCx  
 HHff%&##AS1


%%b1r,   graphc                Z   V! RR.4      p\         P                  ! V4      p\         P                  ! W1R7      p\        W$4      '       g   Q h^^R^/^R^//^^R^///pV! V4      p\         P                  ! V\
        R7      p\         P                  ! W1R7      p\        W$4      '       g   Q hR# )r   r   r   r   Nr   r   )r3   r   r=   r   r   r6   r7   )r&   r   r@   r#   r8   adjs   &&    r)   test_roundtrip TestConvertPandas.test_roundtrip   s     vv&'""5)##B;E%%%%1xmQ16A!};MNc
##E5$$R<E%%%%r,   c                z   R R ^ R^ R^ /RR ^R^ R^ /RR ^ R^R^ //p\         P                  V\        P                  R7      pV. RO,          p\        P
                  ! V\        P                  ! 4       R7      p\        P                  ! V\        P                  R7      p\         P                  P                  W24       R# )r   r   r   r   r   N)r   r   r   )
r!   r"   r   intpr3   r7   DiGraphr   r   r   )r&   rm   r   r#   r8   s   &    r)   test_from_adjacency_named+TestConvertPandas.test_from_adjacency_named   s     #q#q#q)#q#q#q)#q#q#q)

 d"''2O$$$RbjjlC##ARWW5


%%b1r,   ra   attr2attr3Tc                @   \         P                  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/RR^R^ R^ R^ /RR^ R^R^ R^//4      p\        P                  ! RRR
R^R^ /3RRRR^ R^/3RRRR^ R^ /3RRRR^ R^/3.4      p\        P                  ! VR RVR	\        P                  ! 4       R7      p\        WC4      '       g   Q h\        P                  ! VR	R7      pVP                  R	4      p. ROVn        \         P                  P                  W%. RO,          4       R# )r_   r   N1r   N2r   r   r`   N3attr1F1F2F3F4r   r   )r_   r`   ra   r   rb   r   N)r   r   r   r   )r_   r`   r   r   r   )r!   r"   r3   r>   r=   r   r   sort_valuesr0   r   r   )r&   ra   r#   r@   r8   df_roundtrips   &&    r)   test_edgekey_with_multigraph.TestConvertPandas.test_edgekey_with_multigraph   sn   \\3c4dCF3c4dCF#tS$T3E#q#q#q#q9#q#q#q#q9
 tTGQ#;<tTGQ#;<tTGQ#;<tTGQ#;<	
 ##
 A%%%%,,QA#//81


%%LM	
r,   c           
         \         P                  ! R RR^	R^
/3RRR^R^/3RRR^R^/3.4      p\         P                  ! V P                  ^ RRRR	7      p\	        W!4      '       g   Q hR
# )r   r   r   r   r   r   r   r   Tr   NrF   rG   s   &  r)   (test_edgekey_with_normal_graph_no_action:TestConvertPandas.test_edgekey_with_normal_graph_no_action  s}    cFAx45cFAx34cFAx34
 ##DGGQTHMA%%%%r,   c                   \         P                  ! \        P                  P                  4      ;_uu_ 4        \        P
                  ! V P                  R RRR\        P                  ! 4       R7       RRR4       R#   + '       g   i     R# ; i)r_   r`   Not_realT)r_   r`   r   ra   rb   N)r1   r2   r3   	exceptionr4   r=   r#   r>   )r&   s   &r)   test_nonexisting_edgekey_raises1TestConvertPandas.test_nonexisting_edgekey_raises$  sT    ]]2<<5566###]]_ 7666s   :A;;B	c           	        \         P                  ! 4       pVP                  ^ ^^ R7       VP                  ^ ^^R7       \         P                  ! VRR7      p\        P                  R^ ^ .R^^.R^ ^./4      p\        P                  P                  W24       \         P                  ! VR\         P                  R7      p\        W4      '       g   Q hR# )r   )keyr   r   r_   r`   )r   rb   N)
r3   r>   r?   r   r!   r"   r   r   r=   r   )r&   r@   r#   expectedr8   s   &    r)   )test_multigraph_with_edgekey_no_edgeattrs;TestConvertPandas.test_multigraph_with_edgekey_no_edgeattrs/  s    q!#q!#""559<<Aq68aVUQPQF ST


%%h3##BR]]SE%%%%r,   )r#   r%   r   N)!__name__
__module____qualname____firstlineno__r*   r9   rC   rH   rK   rp   rs   rw   r~   r   r   r   r   r   r   r1   markparametrizer3   r<   r>   r   r   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r)   r	   r	   
   s     (F( 	&	&"'H	&&
,&
2$B
"
2 [[Wrxx&?@& A&2 [[[GW+=t*DE"
 F"
H	&	& &r,   r	   c            	          \         P                  ! ^4      p ^^.p\        P                  ^ ^.^^ ..\        WR7      p\        P
                  P                  V\         P                  ! W\        R7      4       R# )r   r.   r   N)r3   complete_graphr!   r"   r6   r   r   r   )r8   r   r   s      r)   &test_to_pandas_adjacency_with_nodelistr   :  sh    
!A1vH||
Q!Q8  H JJ!!"((C@r,   c                  .   \         P                  ! 4       p V P                  . RORR7       V P                  ^ ^^dR7       \         P                  ! V ^^.R7      p^ VR,          P                  4       9  g   Q h^dVR,          P                  4       9  g   Q hR# )r   g       @)r   )r   r_   r   N))r   r   r   )r   r   )r3   r<   add_edges_fromr?   r   to_numpy)r8   r#   s     r)   %test_to_pandas_edgelist_with_nodelistr   E  s    

A-c:JJq!CJ 			qAq6	2BBxL))++++bl++----r,   c                 v   \         P                  . RO. RO. RO. R	O.. R
O. R
OR7      p \        P                  ! V \        P                  R7      p\        P                  ! . RO4      p\        VP                  VP                  4      '       g   Q h\        VP                  VP                  RR7      '       g   Q hR# )zSee gh-7407)r0   r   r   T)directedN)r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )Qi r   r   Ri ))r   r   )r   r   )r   r   )	r!   r"   r3   r7   r   r   r   r   rl   )r#   r8   r   s      r)   0test_from_pandas_adjacency_with_index_collisionsr   N  s    			
 '( 
 	
B 	  "**=Azz>?Hqww////qww>>>>r,   )r1   networkxr3   networkx.utilsr   r   r   importorskipr   r!   r	   r   r   r   r   r,   r)   <module>r     sM      A A!"m& m&`	.?r,   