K i8DddlZddlZddlmZddlmZmZGddZy)N) empty_graph) edges_equal nodes_equalceZdZdZdZdZdZdZdZe jjddgd fd Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"y!)" TestRelabelct}tj|d}t|j gk(sJt|j gk(sJdD]`}t}tj|d|}t|j gk(sJt|j gk(r`Jt}|j gdtj|}d|jD}d|jD}t|t|k(sJtj|d}d|jD}d |jD}t|t|k(sJt|j gd sJtj|d }d |jD}d |jD}t|t|k(sJ|jddk(sJ|jddk(sJ|jddk(sJ|jddk(sJtj|d}d|jD}d|jD}t|t|k(sJ|jddk(sJ|jddk(sJ|jddk(sJ|jddk(sJtj|d d}d|jD}d|jD}t|t|k(sJ|jddk(sJ|jddk(sJ|jddk(sJ|jddk(sJ|jdddk(sJ|jdddk(sJ|jdddk(s|jdddk(sJ|jdddk(s|jdddk(sJyy)Nd)defaultsortedincreasing degreedecreasing degreeorderingABrCrrrDc3&K|] \}}| ywN.0nds a/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/networkx/tests/test_relabel.py zCTestRelabel.test_convert_node_labels_to_integers..)da)c3&K|] \}}| ywrrrs r r!zCTestRelabel.test_convert_node_labels_to_integers..r"r#c3&K|] \}}| ywrrrs r r!zCTestRelabel.test_convert_node_labels_to_integers..r"r#c3&K|] \}}| ywrrrs r r!zCTestRelabel.test_convert_node_labels_to_integers..r"r#)r%iiir c3&K|] \}}| ywrrrs r r!zCTestRelabel.test_convert_node_labels_to_integers..$r"r#c3&K|] \}}| ywrrrs r r!zCTestRelabel.test_convert_node_labels_to_integers..%r"r#rr c3&K|] \}}| ywrrrs r r!zCTestRelabel.test_convert_node_labels_to_integers..-r"r#c3&K|] \}}| ywrrrs r r!zCTestRelabel.test_convert_node_labels_to_integers...r"r#labelrlabel_attributec3&K|] \}}| ywrrrs r r!zCTestRelabel.test_convert_node_labels_to_integers..8r"r#c3&K|] \}}| ywrrrs r r!zCTestRelabel.test_convert_node_labels_to_integers..9r"r#rrrr) rnxconvert_node_labels_to_integerslistnodesedgesadd_edges_fromdegreer r)selfGHoptdegHdegGs r $test_convert_node_labels_to_integersz0TestRelabel.test_convert_node_labels_to_integers s M  . .q# 6AGGI"$$$AGGI"$$$R )C A221cCHA ?b( (( ?b( ((  ) M IJ  . .q 1)ahhj))ahhj)d|vd|+++  . .q$ 7)ahhj))ahhj)d|vd|+++1779&>???  . .q;N O)ahhj))ahhj)d|vd|+++xx{axx{axx{axx{a  . .q;N O)ahhj))ahhj)d|vd|+++xx{axx{axx{axx{a  . . +W *ahhj))ahhj)d|vd|+++xx{axx{axx{axx{awwqz'"c)))wwqz'"c)))wwqz'"c)QWWQZ-@C-GGGwwqz'"c)QWWQZ-@C-GGG-G)ct}|jgdtj|d}d|j D}d|j D}t |t |k(sJtj|dd}|j ddd k(sJ|j d dd k(sJ|j d dd k(sJ|j dddk(sJy)N)rrrrr rc3&K|] \}}| ywrrrs r r!z8TestRelabel.test_convert_to_integers2..Jr"r#c3&K|] \}}| ywrrrs r r!z8TestRelabel.test_convert_to_integers2..Kr"r#r/r0rrr*rr+rr,r)rr9r4r5r:r r7)r;r<r=r?r@s r test_convert_to_integers2z%TestRelabel.test_convert_to_integers2Fs M IJ  . .q8 D)ahhj))ahhj)d|vd|+++  . . ' wwqz'"c)))wwqz'"c)))wwqz'"c)))wwqz'"c)))rBctjtj5tj}tj |d}dddy#1swYyxYw)Nzincreasing ager)pytestraisesr4 NetworkXErrorGraphr5r;r<r=s r test_convert_to_integers_raisez*TestRelabel.test_convert_to_integers_raiseVsK ]]2++ , Q A221?OPA Q Q Qs ,AA"ctj}|jgdddddd}tj||}t |j gdsJyNraardvarkbearcatdogrrrrrPrQrRrSr4rr9 relabel_nodesrr7r;r<mappingr=s r test_relabel_nodes_copyz#TestRelabel.test_relabel_nodes_copy[sT NN  IJ"e%H   Q (1779&HIIIrBctj}|jgdd}tj||}t |j gdsJy)Nrct|Sr)ord)rs r rYz8TestRelabel.test_relabel_nodes_function..mappinggs q6MrB)ABCDrVrXs r test_relabel_nodes_functionz'TestRelabel.test_relabel_nodes_functionbsM NN  IJ    Q (1779&6777rBctjd}tj|t}t |j gdsJy)N0123)r4 path_graphrWstrrr7rLs r test_relabel_nodes_callable_typez,TestRelabel.test_relabel_nodes_callable_typems7 MM!    Q $177$8999rBnon_mc0123rectjd}tjt5tj ||dddy#1swYyxYw)zWIf `mapping` is neither a Callable or a Mapping, an exception should be raised.rdN)r4rjrHrIAttributeErrorrW)r;rmr<s r *test_relabel_nodes_non_mapping_or_callablez6TestRelabel.test_relabel_nodes_non_mapping_or_callablersC MM!  ]]> * (   Q ' ( ( (s AActjgd}ddddd}tj||}t|j gdsJyrO)r4rKrWrr7rXs r test_relabel_nodes_graphz$TestRelabel.test_relabel_nodes_graphzsH HHE F"e%H   Q (1779&HIIIrBctj}|jgd|jddgdddd}tj||}t |j gdk(sJy)Nr*r+r,)r*r,r+r,abc)rwrxry)r4rKadd_nodes_fromr9rWr6r7rXs r test_relabel_nodes_orderedgraphz+TestRelabel.test_relabel_nodes_orderedgraphsb HHJ # &&)*cc*   Q (AGG}///rBctjgd}ddddd}tj||d}t|j gd sJy) NrrPrQrRrSrTFcopyrU)r4DiGraphrWrr7rXs r test_relabel_nodes_digraphz&TestRelabel.test_relabel_nodes_digraphsJ JJG H"e%H   Qe 41779&HIIIrBctjddg}ddd}tj||d}t|j ddgsJt |j ddgsJyN)rwrxrPrQFr})rPrQ)r4 MultiGraphrWrr7rr8r;r<rYs r test_relabel_nodes_multigraphz)TestRelabel.test_relabel_nodes_multigraphsk MM:z2 3"0   Qe 41779z6&:;;;1779';=Q&RSSSrBctjddg}ddd}tj||d}t|j ddgsJt |j ddgsJyr)r4 MultiDiGraphrWrr7rr8rs r test_relabel_nodes_multidigraphz+TestRelabel.test_relabel_nodes_multidigraphsk OOZ4 5"0   Qe 41779z6&:;;;1779';=Q&RSSSrBctj}|jtdddi}tj||d}t |j ttdsJyNrdr*Fr})r4rKrzrangerWrr7r6rXs r #test_relabel_isolated_nodes_to_samez/TestRelabel.test_relabel_isolated_nodes_to_samesZ HHJ q"a&   Qe 41779d58n555rBcBtjgd}ddi}tj||d}t|j|jsJ|j }tj||dt|j|jsJy)NrrrPTr}F)r4rKrWrr7r~)r;r<rYr=GGs r test_relabel_nodes_missingz&TestRelabel.test_relabel_nodes_missings{ HHE Fj/   Qd 3177AGG,,, VVX G%0177BHH---rBctj}tj|id}|j|jk(sJtj|id}|j|jk(sJd|_tj|id}|j|jk(sJtj|id}|j|jk(sJy)NTr}Ffirst)r4rKrWgraphnamerLs r test_relabel_copy_namez"TestRelabel.test_relabel_copy_names HHJ   Q .ww!''!!!   Q /ww!''!!!   Q .ww!''!!!   Q /ww!''!!!rBc tjd}tjd}tj|tdDcic]}||dz c}d}tj||sJtjd}tj|tdDcic]}||dz  c}d}tj||sJycc}wcc}wr)r4complete_graphrWr is_isomorphic)r;K5r<is r test_relabel_toposortz!TestRelabel.test_relabel_toposorts   q !   a    Q58 >> OO4 5   QEe @u M1779&=>>> OOVH %   QAU 31779qc***rBchtjtjfD]}dD]}|gd}d|dddd<d|dddd<d |dd dd<d |dd dd<|jddd d|jdd d dddddd}tj|||}ddi|ddj vsJddi|ddj vsJdd i|ddj vsJ|j rt|ddd k(sJ dd i|ddj vsJddi|ddj vsJddi|ddj vsJ|j rt|ddd k(rJy)NTF)rrd)r*rd)rdr+)rdr,rwrrdvaluerxr*ryr+rr,xekeyrf rr*r+r,r})r4rradd_edgerWvalues is_directedlen)r;MGccr<rYr=s r +test_relabel_multidigraph_inout_merge_nodesz7TestRelabel.test_relabel_multidigraph_inout_merge_nodess=="//2 CB# C78&)!Q 7#&)!Q 7#&)!Q 7#&)!Q 7# 1aS 4 1aS 4A!2$$Qb9~1a)9999~1a)9999~1a)9999,-MMOs1Q47|q(BB~1a)9999~1a)9999~1a)9999,-MMOs1Q47|q(BB% C CrBcjtjgd}d|dddd<d|dddd<d|dd dd<d d d d }tj||d ddi|dd jvsJddi|dd jvsJddi|dd jvsJy)N)rr*rr+rr,rrrrwrr*rrxr+ryr,rdruFr}r4rrWrrs r %test_relabel_multigraph_merge_inplacez1TestRelabel.test_relabel_multigraph_merge_inplaces MMJ K!!Q 7!!Q 7!!Q 7A!$ G%0~1a!1111~1a!1111~1a!1111rBcjtjgd}d|dddd<d|dddd<d|dd dd<d d d d }tj||d ddi|dd jvsJddi|dd jvsJddi|dd jvsJy)Nrrrrwrr*rrxr+ryr,rdruFr}r4rrWrrs r 'test_relabel_multidigraph_merge_inplacez3TestRelabel.test_relabel_multidigraph_merge_inplaces OO4 5!!Q 7!!Q 7!!Q 7A!$ G%0~1a!1111~1a!1111~1a!1111rBctjgd}d|dddd<d|dddd<d|dd dd<d |dd dd<|jddd d |jdd d dddddd}tj||d}ddi|ddj vsJddi|ddj vsJddi|ddj vsJt |ddd k(sJdd i|ddj vsJdd i|ddj vsJddi|ddj vsJt |ddd k(sJy)Nrrwrrdrrxr*ryr+rr,rrrrrrTr})r4rrrWrrrXs r $test_relabel_multidigraph_inout_copyz0TestRelabel.test_relabel_multidigraph_inout_copys OO< =!!Q 7!!Q 7!!Q 7!!Q 7 1aS , 1aS ,A!*   Qd 3~1a!1111~1a!1111~1a!11111Q47|q   ~1a!1111~1a!1111~1a!11111Q47|q   rBcjtjgd}d|dddd<d|dddd<d|dd dd<d d d d }tj||d }ddi|dd jvsJddi|dd jvsJddi|dd jvsJyNrrwrr*rrxr+ryr,rdruTr}rrXs r "test_relabel_multigraph_merge_copyz.TestRelabel.test_relabel_multigraph_merge_copys MM2 3!!Q 7!!Q 7!!Q 7A!$   Qd 3~1a!1111~1a!1111~1a!1111rBcjtjgd}d|dddd<d|dddd<d|dd dd<d d d d }tj||d }ddi|dd jvsJddi|dd jvsJddi|dd jvsJyrrrXs r $test_relabel_multidigraph_merge_copyz0TestRelabel.test_relabel_multidigraph_merge_copys OO4 5!!Q 7!!Q 7!!Q 7A!$   Qd 3~1a!1111~1a!1111~1a!1111rBc.tjtjfD]}dD]}tj}|jdddd|jdddd |jdd dd d d d d }tj||dddi|dd j vsJdd i|dd j vsJdd i|dd j vsJd|dd vsJd|dd vsJd|dd vrJy)Nrrr*Irwrr+IIrxr,ryrdruFr}r)r4rrrrWr)r;rrr<rYs r &test_relabel_multigraph_nonnumeric_keyz2TestRelabel.test_relabel_multigraph_nonnumeric_key&s1=="//2 'B# 'MMO 1aS 4 1aT 5 1aT 5A!,  G%8~1a)9999~1a)9999~1a)9999AaDG|#|ad1g~%~qtAw& ' 'rBctjd}ddd}tj||d}tjtj 5tj||d}dddy#1swYyxYw)Nr,r*rrTr}F)r4rjrWrHrINetworkXUnfeasiblerXs r test_relabel_circularz!TestRelabel.test_relabel_circular6sh MM! A,   Qd 3 ]]200 1 9  G%8A 9 9 9s A88Bc"tjd}t|j}dddd}tj||d}t|j}|Dcgc]}|j ||c}|k(sJycc}w)Nr,rwrxryr+r*rTr})r4rjr6r7rWgetr;r<original_orderrYr= new_orderrs r rs 33SHSHrB