
    hS                         S SK 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K	r	S SK
rS SKJrJr   " S S5      r\S 5       r " S	 S
5      r\	R$                  R'                  S/ S45      S 5       rg)    N)literal_eval)contextmanager)dedent)literal_destringizerliteral_stringizerc                       \ rS rSr\S 5       rS rS rS rS r	S r
\R                  R                  SS	\45      S
 5       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	)	TestGraph   c                     SU l         g )Na2  Creator "me"
Version "xx"
graph [
 comment "This is a sample graph"
 directed 1
 IsPlanar 1
 pos  [ x 0 y 1 ]
 node [
   id 1
   label "Node 1"
   pos [ x 1 y 1 ]
 ]
 node [
    id 2
    pos [ x 1 y 2 ]
    label "Node 2"
    ]
  node [
    id 3
    label "Node 3"
    pos [ x 1 y 3 ]
  ]
  edge [
    source 1
    target 2
    label "Edge from node 1 to node 2"
    color [line "blue" thickness 3]

  ]
  edge [
    source 2
    target 3
    label "Edge from node 2 to node 3"
  ]
  edge [
    source 3
    target 1
    label "Edge from node 3 to node 1"
  ]
]
)simple_data)clss    S/var/www/html/env/lib/python3.13/site-packages/networkx/readwrite/tests/test_gml.pysetup_classTestGraph.setup_class   s    (    c                 4    Sn[         R                  " U5        g )Nas  
Creator "Cytoscape"
Version 1.0
graph   [
    node    [
        root_index  -3
        id  -3
        graphics    [
            x   -96.0
            y   -67.0
            w   40.0
            h   40.0
            fill    "#ff9999"
            type    "ellipse"
            outline "#666666"
            outline_width   1.5
        ]
        label   "node2"
    ]
    node    [
        root_index  -2
        id  -2
        graphics    [
            x   63.0
            y   37.0
            w   40.0
            h   40.0
            fill    "#ff9999"
            type    "ellipse"
            outline "#666666"
            outline_width   1.5
        ]
        label   "node1"
    ]
    node    [
        root_index  -1
        id  -1
        graphics    [
            x   -31.0
            y   -17.0
            w   40.0
            h   40.0
            fill    "#ff9999"
            type    "ellipse"
            outline "#666666"
            outline_width   1.5
        ]
        label   "node0"
    ]
    edge    [
        root_index  -2
        target  -2
        source  -1
        graphics    [
            width   1.5
            fill    "#0000ff"
            type    "line"
            Line    [
            ]
            source_arrow    0
            target_arrow    3
        ]
        label   "DirectedEdge"
    ]
    edge    [
        root_index  -1
        target  -1
        source  -3
        graphics    [
            width   1.5
            fill    "#0000ff"
            type    "line"
            Line    [
            ]
            source_arrow    0
            target_arrow    3
        ]
        label   "DirectedEdge"
    ]
]
)nx	parse_gml)selfcytoscape_examples     r   test_parse_gml_cytoscape_bug&TestGraph.test_parse_gml_cytoscape_bug;   s    Pb 	&'r   c                 .   [         R                  " U R                  SS9n[        UR	                  5       5      / SQ:X  d   e[        UR                  5       5      / SQ:X  d   e[        UR                  SS95      SSS	S
S.SS.4SSSS04SSSS04/:X  d   eg )Nlabelr   Node 1Node 2Node 3))r   r   )r   r   )r   r   Tdatar   r   blue   )line	thicknesszEdge from node 1 to node 2)colorr   r   zEdge from node 2 to node 3zEdge from node 3 to node 1)r   r   r   sortednodesedgesr   Gs     r   test_parse_gmlTestGraph.test_parse_gml   s    LL))9aggi $BBBBaggi  %
 
 	
 
 agg4g()&,1=9 x'+G!HIx'+G!HI.
 
 	
 
r   c                    US-  n[        US5       nUR                  U R                  5        S S S 5        [        R                  " USS9n[        R
                  " U R                  SS9n[        UR                  SS95      [        UR                  SS95      :X  d   e[        UR                  SS95      [        UR                  SS95      :X  d   eg ! , (       d  f       N= f)Ntest.gmlwr   r   Tr    )	openwriter   r   read_gmlr   r'   r(   r)   )r   tmp_pathfnamefhGinr+   s         r   test_read_gmlTestGraph.test_read_gml   s    :%%HHT%%& kk%w/LL))9agg4g()VCII4I4H-IIIIagg4g()VCII4I4H-IIII s   C
C!c                     Sn[         R                  " 5       nUR                  S5        SR                  [         R                  " U[
        S95      nX1:X  d   eg )Nz0graph [
  node [
    id 0
    label "1203"
  ]
]i  

stringizer)r   Graphadd_nodejoingenerate_gmlr   )r   answerr+   r!   s       r   test_labels_are_strings!TestGraph.test_labels_are_strings   sF     HHJ	

4yy7IJK~~r   c                     Sn[         R                  " UR                  S5      5      nUR                  S5        [        R
                  " [        R                  [        R                  USS9  g )Nz
graph
[
        label   ""
        directed        1
        node
        [
                id      0
                label   "same"
        ]
        node
        [
                id      1
                label   "same"
        ]
]
zUTF-8r   r   r   )	ioBytesIOencodeseekpytestraisesr   NetworkXErrorr3   )r   r!   r6   s      r   test_relabel_duplicate TestGraph.test_relabel_duplicate   sI    " ZZG,-

b&&RwGr   r=   Nc                     [         R                  " 5       nUR                  SS5        SR                  [         R                  " X!S95      nSnX4:X  d   eg )N)r      )rP   r   r;   r<   zgraph [
  node [
    id 0
    label "(0,1)"
  ]
  node [
    id 1
    label "(1,0)"
  ]
  edge [
    source 0
    target 1
  ]
])r   r>   add_edger@   rA   )r   r=   r+   r!   rB   s        r   test_tuplelabelsTestGraph.test_tuplelabels   sG     HHJ	

66"yyBC ~~r   c                    [         R                  " S5      nSUl        S[        S5      -   nX2R                  S   S'   [        US-  S5       n[         R                  " X$5        UR                  S5        UR                  5       R                  5       R                  S	5      nS S S 5        S
nWU:X  d   eg ! , (       d  f       N= f)NrP   zpath_graph(1)z*This is "quoted" and this is a copyright:    r   demor/   w+basciizgraph [
  name "path_graph(1)"
  node [
    id 0
    label "0"
    demo "This is &#34;quoted&#34; and this is a copyright: &#169;"
  ]
])r   
path_graphnamechrr(   r1   	write_gmlrI   readstripdecode)r   r4   r+   attrfobjr!   rB   s          r   test_quotesTestGraph.test_quotes   s     MM! ;c#hF!
6(Z'/4LL!IIaL99;$$&--g6D	 0
 v~~ 0/s   AB44
Cc                 z   S[        S5      -   n[        R                  " 5       nUR                  U5        [	        US-  S5       n[        R
                  " X45        UR                  S5        UR                  5       R                  5       R                  S5      nS S S 5        SnWU:X  d   eg ! , (       d  f       N= f)NnoderU   r/   rW   r   rX   z6graph [
  node [
    id 0
    label "node&#169;"
  ]
])
r[   r   r>   r?   r1   r\   rI   r]   r^   r_   r   r4   re   r+   ra   r!   rB   s          r   test_unicode_nodeTestGraph.test_unicode_node   s    C HHJ	

4(Z'/4LL!IIaL99;$$&--g6D	 0
 v~~ 0/s   AB,,
B:c                 b   Sn[         R                  " 5       nUR                  U5        [        US-  S5       n[         R                  " X45        UR                  S5        UR                  5       R                  5       R                  S5      nS S S 5        SnWU:X  d   eg ! , (       d  f       N= f)Ng      ?r/   rW   r   rX   z/graph [
  node [
    id 0
    label "1.0"
  ]
])	r   r>   r?   r1   r\   rI   r]   r^   r_   rf   s          r   test_float_labelTestGraph.test_float_label  s    HHJ	

4(Z'/4LL!IIaL99;$$&--g6D	 0
 v~~ 0/s   AB  
B.c                 $   [        S5      [        S5      [        S5      /n SS KnX#R                  UR                  UR                  S-  /-  n[
        R                  " [        U5      5      n[        [        U5      5      n[
        R                  " XES5        [        UR                  5      n[        U5       VVs0 s H
  u  pxXg   U_M     nnn[
        R                  " XES5        [        US-  S	5       n	[
        R                  " XI5        U	R!                  S5        U	R#                  5       R%                  5       R'                  S
5      n
SnX:X  d   eU	R!                  S5        [
        R(                  " U	5      n[        U5       H  u  pUR*                  [-        U5         S   n[.        R0                  " U5      (       a  [.        R0                  " U5      (       d   eOX:X  d   eXm   n[-        US   5      [-        US   5      4nUR                  U   S   n[.        R0                  " U5      (       a  [.        R0                  " U5      (       d   eM  UU:X  a  M   e   S S S 5        g ! [         a    X"-  n GN)f = fs  snnf ! , (       d  f       g = f)Nnanz+infz-infr   	nodefloat	edgefloatr/   rW   rX   a  graph [
  node [
    id 0
    label "0"
    nodefloat NAN
  ]
  node [
    id 1
    label "1"
    nodefloat +INF
  ]
  node [
    id 2
    label "2"
    nodefloat -INF
  ]
  node [
    id 3
    label "3"
    nodefloat NAN
  ]
  node [
    id 4
    label "4"
    nodefloat +INF
  ]
  node [
    id 5
    label "5"
    nodefloat -INF
  ]
  edge [
    source 0
    target 1
    edgefloat NAN
  ]
  edge [
    source 0
    target 5
    edgefloat +INF
  ]
  edge [
    source 1
    target 2
    edgefloat -INF
  ]
  edge [
    source 2
    target 3
    edgefloat NAN
  ]
  edge [
    source 3
    target 4
    edgefloat +INF
  ]
  edge [
    source 4
    target 5
    edgefloat -INF
  ]
]rP   )floatnumpyrm   infImportErrorr   cycle_graphlendict	enumerateset_node_attributeslistr)   set_edge_attributesr1   r\   rI   r]   r^   r_   r3   r(   strmathisnan)r   r4   special_floatsnpr+   attrsr)   ivaluera   r!   rB   graphindx
node_valueedgestring_edge
edge_values                     r   test_special_float_label"TestGraph.test_special_float_label!  s   ,fuV}E	-vvrvvrvv{;;N NN3~./Y~./
q5QWW1:>1JK1JXQ51JK
q5(Z'/4LL!IIaL99;$$&--g6D=F| >!>IIaLKK%E(8"[[T3K@
::e$$::j1111%...{"47|Sa\:"[[5kB
::e$$::j1111%...  9O 0/  	-,N	- L 0/s*   ,I& ;I;5E JJ&I87I8
Jc                     [         R                  " S5      nSUR                  S   :X  d   e[         R                  " S5      nSUR                  :X  d   eSUR                  ;  d   eg )Nz*graph [ name "x" node [ id 0 label "x" ] ]xrZ   z!graph [ node [ id 0 label "x" ] ] )r   r   r   rZ   r*   s     r   	test_nameTestGraph.test_name  sX    LLEFaggfo%%%LL<=QVV||QWW$$$r   c           	         S GH  nS H  nSnUb  US[        [        U5      5      -   -  nUb  US[        [        U5      5      -   -  nUS-  nUS-  nUS-  n[        R                  " U5      n[	        U5      UR                  5       :X  d   e[	        U5      UR                  5       :X  d   eSnUS	L a  US
-  nUS	L a  US-  nUS-  nU(       a  US-  nUS-  nUSR                  [        R                  " U5      5      :X  a  M   e   GM     g )N)NFTzgraph [z
 directed z multigraph z node [ id 0 label "0" ]z edge [ source 0 target 0 ]z ]zgraph [
Tz  directed 1
z  multigraph 1
zG  node [
    id 0
    label "0"
  ]
  edge [
    source 0
    target 0
z
    key 0
z  ]
]r;   )	r|   intr   r   boolis_directedis_multigraphr@   rA   )r   directed
multigraphgmlr+   s        r   test_graph_typesTestGraph.test_graph_types  s(   +H1
'<#c(m*<<<C)>CJ,@@@C1144tLL%H~888J'1??+<<<<!t#++C%--C   =(Cxdii(:;;;;9 2 ,r   c                 f   SSSSSSSS[        S	5      S
0S//nUR                  [        S5      5        UR                  [        S5      5        [        R                  " 5       nXl        XR                  S'   UR                  SSSU0S9  UR                  SSSUS9  SR                  [        R                  " U[        S95      n[        R                  " U[        S9nXR
                  :X  d   eXS.UR                  :X  d   e[        UR                  SS95      SSSU0S.4/:X  d   e[        UR!                  SS95      SSSUS.4/:X  d   e[        R                  " 5       nSUR                  S'   [        R                  " [        R                  " U5      [        S9nUR                  S   S:X  d   eg )NTFl      Fx:^V gF"'z"&&amp;&&#34;")   DD  )rP      )r   3iDD z{2.3j, 1 - 2.3j, ()}r!   r   rn   )r   r!   g      )rq   r!   r;   r<   destringizer)rZ   r!   r    frozenset([1, 2, 3]))r[   appendr   r   r>   rZ   r   r?   rQ   r@   rA   r   r   r   rz   r(   r)   )r   r!   r+   r   s       r   test_data_typesTestGraph.test_data_types  s   &#f+v6A
 	CL!L!789HHJ	

1"FD>
2	

1at$
/ii6HIJLL+?@vv~~+qww666AGGG&'QVTN0S,T+UUUUAGGG&'QT43P,Q+RRRRHHJ0LL+,Gwwv"8888r   c                     Sn[         R                  " U5      nS[        S5      -   S-   UR                  :X  d   eSR	                  [         R
                  " U5      5      nSnSU-   S-   nXA:X  d   eg )	NzTgraph [
  name "&amp;&#34;&#xf;&#x4444;&#1234567890;&#x1234567890abcdef;&unknown;"
]z&"r   z*&#1234567890;&#x1234567890abcdef;&unknown;r;   z##1234567890;&#38;#x1234567890abcdefz,graph [
  name "&#38;&#34;&#15;&#17476;&#38;z;&#38;unknown;"
])r   r   r[   rZ   r@   rA   )r   r   r+   alnurB   s        r   test_escape_unescapeTestGraph.test_escape_unescape  s     LLs6{"%QQvv	
 ii*+4( 	 }}r   c                 ~   [         R                  " [        [        S5        [         R                  " [        [        S5        [         R                  " [        [        [        5        [         R                  " [        [        [        / SQ5      5        [         R                  " [        [        [        5        [        US-  S5       nUR                  [        R                  S-   5        UR                  S5        [         R                  " [        R                  [        R                  U5        S S S 5        S nU" S	S
/5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        [        R                  " SSS9  U" S5        U" S5        U" S5        U" S5        [        R                  " S5        U" S5        U" S 5        U" S!5        [        R                  " S"5        [        R                  " S#5        [        R                  " S$5        U" S%5        [        R                  " S&5        [        R                  " S'5        [        R                  " S(5        U" S)5        S* n[        R                  " 5       nS+UR                   S+'   U" U5        [        R                  " 5       nS+UR                   S,'   U" U5        [        R                  " 5       n[        / SQ5      UR                   S-'   U" U[        S.9  g ! , (       d  f       GN	= f)/N(r   rP   r   r#   r/   rW   s   graph[]r   c                 l    [         R                  " [        R                  [        R                  U 5        g N)rJ   rK   r   rL   r   )r   s    r   assert_parse_error5TestGraph.test_exceptions.<locals>.assert_parse_error  s    MM"**BLL#>r   z	graph [

]r   z
Creator ""0zgraph ]zgraph [ 1 ]zgraph [ 1.E+2 ]zgraph [ "A" ]zgraph [ ] graph ]zgraph [ ] graph [ ]zgraph [ data [1, 2, 3] ]zgraph [ node [ ] ]zgraph [ node [ id 0 ] ]zgraph [ node [ id "a" ] ]idr   z5graph [ node [ id 0 label 0 ] node [ id 0 label 1 ] ]z5graph [ node [ id 0 label 0 ] node [ id 1 label 0 ] ]z(graph [ node [ id 0 label 0 ] edge [ ] ]z1graph [ node [ id 0 label 0 ] edge [ source 0 ] ]z9graph [edge [ source 0 target 0 ] node [ id 0 label 0 ] ]z:graph [ node [ id 0 label 0 ] edge [ source 1 target 0 ] ]z:graph [ node [ id 0 label 0 ] edge [ source 0 target 1 ] ]zkgraph [ node [ id 0 label 0 ] node [ id 1 label 1 ] edge [ source 0 target 1 ] edge [ source 1 target 0 ] ]zvgraph [ node [ id 0 label 0 ] node [ id 1 label 1 ] edge [ source 0 target 1 ] edge [ source 1 target 0 ] directed 1 ]zwgraph [ node [ id 0 label 0 ] node [ id 1 label 1 ] edge [ source 0 target 1 ] edge [ source 0 target 1 ]multigraph 1 ]z}graph [ node [ id 0 label 0 ] node [ id 1 label 1 ] edge [ source 0 target 1 key 0 ] edge [ source 0 target 1 ]multigraph 1 ]zgraph [ node [ id 0 label 0 ] node [ id 1 label 1 ] edge [ source 0 target 1 key 0 ] edge [ source 0 target 1 key 0 ]multigraph 1 ]zgraph [ node [ id 0 label 0 ] node [ id 1 label 1 ] edge [ source 0 target 1 key 0 ] edge [ source 1 target 0 key 0 ]directed 1 multigraph 1 ]z9graph [edge [ source a target a ] node [ id a label b ] ]zgraph [ node [ id n42 label 0 ] node [ id x43 label 1 ]edge [ source n42 target x43 key 0 ]edge [ source x43 target n42 key 0 ]directed 1 multigraph 1 ]uE   graph [edge [ source '䈀' target '䈀' ] node [ id '䈀' label b ] ]c                  \   ^ ^ [         R                  " [        R                  U U4S j5        g )Nc                  B   > [        [        R                  " T 0 TD65      $ r   )rz   r   rA   argskwargss   r   <lambda>JTestGraph.test_exceptions.<locals>.assert_generate_error.<locals>.<lambda>.  s    $r/O/O*Pr   )rJ   rK   r   rL   r   s   ``r   assert_generate_error8TestGraph.test_exceptions.<locals>.assert_generate_error,  s    MM  "Pr   r#   r   r!   r<   )rJ   rK   
ValueErrorr   r   	frozensetr1   r2   codecsBOM_UTF8rI   r   rL   r3   r   r>   r   )r   r4   fr   r   r+   s         r   test_exceptionsTestGraph.test_exceptions  s   j"6<j"68NOj"68LMj"4i	6JKj"46HI(Z'/1GGFOOj01FF1IMM"**BKK; 0
	? 	M3/02<(39%=),-?+./0156/045
0=RSRSEFNO
PQWXWXF	
 		

 		

 		

 		

 	(	
 	PQ
(	
 	/	

	
 HHJ
a HHJa HHJ#I.a,>?k 0/s   A(L--
L<c                     [         R                  " U R                  SS9n[        UR                  5      / SQ:X  d   e[        UR                  5       Vs/ s H  o!R                  U   S   PM     nnU/ SQ:X  d   e[         R                  " U R                  S S9n[        UR                  5      / SQ:X  d   e[        UR                  5       Vs/ s H  o!R                  U   S   PM     nnU/ SQ:X  d   eg s  snf s  snf )Nr   r   r   r   r   )r   r   r   r'   r(   )r   r+   nlabelss       r   test_label_kwargTestGraph.test_label_kwarg;  s    LL))6agg)+++/5agg?!''!*W%?7777LL))6agg)+++/5agg?!''!*W%?7777 @
 @s   C6C;c                    [         R                  " 5       nSSSSSSSS.nUR                  " S0 UD6  US
-  n[         R                  " X$5        [         R                  " U5      nUR
                  S	   R                  5        H=  u  pgUS:X  d  US:X  a  [        U5      [        :X  d   eM(  [        U5      [        :X  a  M=   e   g )Nl    i   r      il        )toosmallsmallmed1med2med3bigtoobigNoder/   r   r   )r   )
r   r>   r?   r\   r3   r(   itemstyper|   r   )r   r4   r+   numbersr5   G2r`   r   s           r   test_outofrange_integers"TestGraph.test_outofrange_integersF  s     HHJ '
 	


%W%:%
Q[[88F+113KDz!TX%5E{c)))E{c)))	 4r   c                 d    Sn[         R                  " U5      nUR                  S   SSS.:X  d   eg )Nz
graph
[
    node
    [
	    id 0
	    label "multiline node"
	    label2 "multiline1
    multiline2
    multiline3"
	    alt_name "id 0"
    ]
]
zmultiline nodez multiline1 multiline2 multiline3zid 0)label2alt_name)r   r   r(   )r   multiline_exampler+   s      r   test_multilineTestGraph.test_multilinea  sB     LL*+ww'(8-
 
 	
 
r    )__name__
__module____qualname____firstlineno__classmethodr   r   r,   r8   rC   rM   rJ   markparametrizer   rR   rb   rg   rj   r   r   r   r   r   r   r   r   r   __static_attributes__r   r   r   r	   r	      s    ) )VS(j
,JH, [[\D2D+EF G,,""d/L%<@98([@z	8*6
r   r	   c               #   `   #    [         R                  " 5       n U v   U R                  S5        g 7f)Nr   )rF   rG   rI   )_file_handles    r   	byte_filer   x  s$     ::<L
as   ,.c                   ,    \ rS rSrS rS rS rS rSrg)TestPropertyListsi  c                 $   [         R                  " 5       nUR                  S/ SQS9  [        5        n[         R                  " X5        S S S 5        WR                  5       R                  5       nU[        S5      :X  d   eg ! , (       d  f       N>= f)Nn1)elementr   rP         @TF
propertiesa7              graph [
              node [
                id 0
                label "n1"
                properties "element"
                properties 0
                properties 1
                properties 2.5
                properties 1
                properties 0
              ]
            ]
        r   r>   r?   r   r\   r]   r_   r   r   gr   results       r   3test_writing_graph_with_multi_element_property_listETestPropertyLists.test_writing_graph_with_multi_element_property_list  sn    HHJ	

4$G
H[ALL "
 
 	
 
	 [s   B
Bc                 "   [         R                  " 5       nUR                  SS/S9  [        5        n[         R                  " X5        S S S 5        WR                  5       R                  5       nU[        S5      :X  d   eg ! , (       d  f       N>= f)Nr   r   r   z            graph [
              node [
                id 0
                label "n1"
                properties "_networkx_list_start"
                properties "element"
              ]
            ]
        r   r   s       r   1test_writing_graph_with_one_element_property_listCTestPropertyLists.test_writing_graph_with_one_element_property_list  so    HHJ	

4YK
0[ALL "	
 
 	
 
	 [s   B  
Bc                 $   [        5        nUR                  [        S5      R                  S5      5        UR	                  S5        [
        R                  " U5      nS S S 5        WR                  SS9S   S/ SQ0:X  d   eg ! , (       d  f       N+= f)	Na  
              graph [
                node [
                  id 0
                  label "n1"
                  properties "element"
                  properties 0
                  properties 1
                  properties 2.5
                ]
              ]
            rX   r   Tr    r   r   )r   r   rP   r   r   r2   r   rH   rI   r   r3   r(   r   r   r   s      r   %test_reading_graph_with_list_property7TestPropertyLists.test_reading_graph_with_list_property  sz    [AGG &/  FF1IKKNE% & {{{%d+>T/UUUU' [s   AB
Bc                 "   [        5        nUR                  [        S5      R                  S5      5        UR	                  S5        [
        R                  " U5      nS S S 5        WR                  SS9S   SS/0:X  d   eg ! , (       d  f       N*= f)	Nz
              graph [
                node [
                  id 0
                  label "n1"
                  properties "_networkx_list_start"
                  properties "element"
                ]
              ]
            rX   r   Tr    r   r   r   r   r  s      r   4test_reading_graph_with_single_element_list_propertyFTestPropertyLists.test_reading_graph_with_single_element_list_property  s{    [AGG	 &/ FF1IKKNE! " {{{%d+yk/JJJJ# [s   AB  
Br   N)	r   r   r   r   r   r   r  r  r   r   r   r   r   r     s    
0
(V,Kr   r   collr   c                 F   [         R                  " S5      nXR                  S   S'   [        R                  " 5       n[         R
                  " X5        UR                  S5        [         R                  " U5      nUR                  S   S   U :X  d   e[         R                  " USSS.5      n[         R                  R                  X5      (       d   eUR                  S5        [         R                  " U[        S9n[         R                  R                  X5      (       d   eg )Nr   r   testr   rP   )r   1r   )r   rY   r(   rF   rG   r\   rI   r3   relabel_nodesutilsgraphs_equalr   )r  r+   r   Hs       r   test_stringize_empty_list_tupler    s    
aAGGAJv


ALLFF1I
AA773<4''' 	!!,-A88  &&&& FF1I
AC(A88  &&&&r   )r   rF   r}   astr   
contextlibr   textwrapr   rJ   networkxr   networkx.readwrite.gmlr   r   r	   r   r   r   r   r  r   r   r   <module>r     sy     	   %    Kg	
 g	
T  UK UKp "b*' +'r   