
    ިsgK                     8    d dl Z d dlZd dlZd dlZ G d d      Zy)    Nc                       e Zd Zed        Zd Zd Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)TestGEXFc                    d| _         t        j                         | _        | j                  j	                  dd       | j                  j	                  dd       | j                  j                  ddd       t        j                  | j                   j                  d            | _	        d	| _
        t        j                         | _        d
di| j                  j                  d<   | j                  j	                  ddddd       | j                  j	                  ddddd       | j                  j	                  ddddd       | j                  j	                  ddddd       | j                  j                  dddd       | j                  j                  ddd       | j                  j                  ddd       | j                  j                  ddd       | j                  j                  ddd       t        j                  | j                  j                  d            | _        d| _        t        j                         | _        | j                   j	                  dd       | j                   j	                  dd       | j                   j                  ddd       t        j                  | j                  j                  d            | _        y )Nar  <?xml version="1.0" encoding="UTF-8"?>
<gexf xmlns="http://www.gexf.net/1.2draft" version="1.2">
    <graph mode="static" defaultedgetype="directed">
        <nodes>
            <node id="0" label="Hello" />
            <node id="1" label="Word" />
        </nodes>
        <edges>
            <edge id="0" source="0" target="1" />
        </edges>
    </graph>
</gexf>
0Hello)label1World)idUTF-8a]  <?xml version="1.0" encoding="UTF-8"?><gexf xmlns="http://www.gexf.net/1.2draft" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gexf.net/1.2draft http://www.gexf.net/1.2draft/gexf.xsd" version="1.2">
  <meta lastmodifieddate="2009-03-20">
    <creator>Gephi.org</creator>
    <description>A Web network</description>
  </meta>
  <graph defaultedgetype="directed">
    <attributes class="node">
      <attribute id="0" title="url" type="string"/>
      <attribute id="1" title="indegree" type="integer"/>
      <attribute id="2" title="frog" type="boolean">
        <default>true</default>
      </attribute>
    </attributes>
    <nodes>
      <node id="0" label="Gephi">
        <attvalues>
          <attvalue for="0" value="https://gephi.org"/>
          <attvalue for="1" value="1"/>
          <attvalue for="2" value="false"/>
        </attvalues>
      </node>
      <node id="1" label="Webatlas">
        <attvalues>
          <attvalue for="0" value="http://webatlas.fr"/>
          <attvalue for="1" value="2"/>
          <attvalue for="2" value="false"/>
        </attvalues>
      </node>
      <node id="2" label="RTGI">
        <attvalues>
          <attvalue for="0" value="http://rtgi.fr"/>
          <attvalue for="1" value="1"/>
          <attvalue for="2" value="true"/>
        </attvalues>
      </node>
      <node id="3" label="BarabasiLab">
        <attvalues>
          <attvalue for="0" value="http://barabasilab.com"/>
          <attvalue for="1" value="1"/>
          <attvalue for="2" value="true"/>
        </attvalues>
      </node>
    </nodes>
    <edges>
      <edge id="0" source="0" target="1" label="foo"/>
      <edge id="1" source="0" target="2"/>
      <edge id="2" source="1" target="0"/>
      <edge id="3" source="2" target="1"/>
      <edge id="4" source="0" target="3"/>
    </edges>
  </graph>
</gexf>
frogTnode_defaultGephizhttps://gephi.org   F)r   urlindegreer   Webatlaszhttp://webatlas.fr   2RTGIzhttp://rtgi.fr3BarabasiLabzhttp://barabasilab.comfoor   r   4at  <?xml version="1.0" encoding="UTF-8"?>
<gexf xmlns="http://www.gexf.net/1.2draft" version="1.2">
    <graph mode="static" defaultedgetype="undirected">
        <nodes>
            <node id="0" label="Hello" />
            <node id="1" label="Word" />
        </nodes>
        <edges>
            <edge id="0" source="0" target="1" />
        </edges>
    </graph>
</gexf>
)simple_directed_datanxDiGraphsimple_directed_graphadd_nodeadd_edgeioBytesIOencodesimple_directed_fhattribute_dataattribute_graphgraphattribute_fhsimple_undirected_dataGraphsimple_undirected_graphsimple_undirected_fh)clss    U/var/www/html/venv/lib/python3.12/site-packages/networkx/readwrite/tests/test_gexf.pysetup_classzTestGEXF.setup_class
   s   $  %'JJL!!!**3g*>!!**3g*>!!**3*<!#C,D,D,K,KG,T!U7p !jjl5;TN!!.1$$w$7!% 	% 	
 	$$z';ae 	% 	
 	$$v#3ad 	% 	
 	$$( 	% 	
 	$$S##U$C$$S##$6$$S##$6$$S##$6$$S##$6::c&8&8&?&?&HI&" ')hhj###,,S,@##,,S,@##,,S##,>#%::&&--g6$
     c                    | j                   }t        j                  | j                        }t	        |j                               t	        |j                               k(  sJ t	        |j                               t	        |j                               k(  sJ t	        |j                  d            t	        |j                  d            k(  sJ | j                  j                  d       y NTdatar   )r   r   	read_gexfr%   sortednodesedgesseekselfGHs      r/   !test_read_simple_directed_graphmlz*TestGEXF.test_read_simple_directed_graphml   s    &&LL001aggi F1779$5555aggi F1779$5555agg4g()VAGGG4F-GGGG$$Q'r1   c                 8   | j                   }t        j                         }t        j                  ||       |j                  d       t        j                  |      }t        |j                               t        |j                               k(  sJ t        |j                               t        |j                               k(  sJ t        |j                  d            t        |j                  d            k(  sJ | j                  j                  d       y )Nr   Tr4   )r   r"   r#   r   
write_gexfr:   r6   r7   r8   r9   r%   r<   r=   fhr>   s       r/   'test_write_read_simple_directed_graphmlz0TestGEXF.test_write_read_simple_directed_graphml   s    &&ZZ\
a

LLaggi F1779$5555aggi F1779$5555agg4g()VAGGG4F-GGGG$$Q'r1   c                    | j                   }t        j                  | j                        }t	        |j                               t	        |j                               k(  sJ t	        d |j                         D              t	        d |j                         D              k(  sJ | j                  j                  d       y )Nc              3   2   K   | ]  }t        |        y wNr7   .0es     r/   	<genexpr>z?TestGEXF.test_read_simple_undirected_graphml.<locals>.<genexpr>        3AfQi3   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z?TestGEXF.test_read_simple_undirected_graphml.<locals>.<genexpr>         >
F1I>
rN   r   )r,   r   r6   r-   r7   r8   r9   r:   r;   s      r/   #test_read_simple_undirected_graphmlz,TestGEXF.test_read_simple_undirected_graphml   s    ((LL223aggi F1779$5555333v >
 wwy>
 8
 
 	
 
 	!!&&q)r1   c                    | j                   }t        j                  | j                        }t	        |j                  d            t	        |j                  d            k(  sJ t	        |j                  d            }t	        |j                  d            }t        ||      D ]  \  }}||k(  rJ  | j                  j                  d       y r3   )	r'   r   r6   r)   r7   r8   r9   zipr:   )r<   r=   r>   geheabs          r/   test_read_attribute_graphmlz$TestGEXF.test_read_attribute_graphml   s      LL**+aggdm$qwwDw/A(BBBBAGGG&'AGGG&'BK 	DAq6M6	q!r1   c                     d}t        j                  |j                  d            }t        j                  t
        j                  t
        j                  |       y )Na  <?xml version="1.0" encoding="UTF-8"?>
<gexf xmlns="http://www.gexf.net/1.2draft" version='1.2'>
    <graph mode="static" defaultedgetype="undirected" name="">
        <nodes>
            <node id="0" label="Hello" />
            <node id="1" label="Word" />
        </nodes>
        <edges>
            <edge id="0" source="0" target="1" type="directed"/>
        </edges>
    </graph>
</gexf>
r   r"   r#   r$   pytestraisesr   NetworkXErrorr6   r<   srC   s      r/    test_directed_edge_in_undirectedz)TestGEXF.test_directed_edge_in_undirected   <     ZZ)*b&&b9r1   c                     d}t        j                  |j                  d            }t        j                  t
        j                  t
        j                  |       y )Na  <?xml version="1.0" encoding="UTF-8"?>
<gexf xmlns="http://www.gexf.net/1.2draft" version='1.2'>
    <graph mode="static" defaultedgetype="directed" name="">
        <nodes>
            <node id="0" label="Hello" />
            <node id="1" label="Word" />
        </nodes>
        <edges>
            <edge id="0" source="0" target="1" type="undirected"/>
        </edges>
    </graph>
</gexf>
r   rZ   r^   s      r/    test_undirected_edge_in_directedz)TestGEXF.test_undirected_edge_in_directed   ra   r1   c                     d}t        j                  |j                  d            }t        j                  t
        j                  t
        j                  |       y )Na   <?xml version="1.0" encoding="UTF-8"?>
<gexf xmlns="http://www.gexf.net/1.2draft" version='1.2'>
    <graph mode="static" defaultedgetype="directed" name="">
        <nodes>
            <node id="0" label="Hello">
              <attvalues>
                <attvalue for='0' value='1'/>
              </attvalues>
            </node>
            <node id="1" label="Word" />
        </nodes>
        <edges>
            <edge id="0" source="0" target="1" type="undirected"/>
        </edges>
    </graph>
</gexf>
r   rZ   r^   s      r/   test_key_raiseszTestGEXF.test_key_raises   s<    " ZZ)*b&&b9r1   c                     d}t        j                  |j                  d            }t        j                  |d      }t        |j                               ddgk(  sJ y )Nay  <?xml version="1.0" encoding="UTF-8"?>
<gexf xmlns="http://www.gexf.net/1.2draft" version='1.2'>
    <graph mode="static" defaultedgetype="directed" name="">
        <nodes>
            <node id="0" label="Hello" />
            <node id="1" label="Word" />
        </nodes>
        <edges>
            <edge id="0" source="0" target="1"/>
        </edges>
    </graph>
</gexf>
r   T)relabelr   Word)r"   r#   r$   r   r6   r7   r8   )r<   r_   rC   r=   s       r/   test_relabelzTestGEXF.test_relabel   sP     ZZ)*LLT*aggi Wf$5555r1   c                    t        j                         }|j                  ddd       t        j                  |g d       |j	                  ddd       d	d
i|j
                  d<   ddi|j
                  d<   t        j                         }t        j                  ||       |j                  d       t        j                  |t              }t        |j                               t        |j                               k(  sJ t        d |j                         D              t        d |j                         D              k(  sJ |j
                  d= |j
                  |j
                  k(  sJ y )Nr   r	   greenr   color)r   r   r      r   rn   )r   rm   yellowr   r      edge_defaultr   	node_typec              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z2TestGEXF.test_default_attribute.<locals>.<genexpr>  rM   rN   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z2TestGEXF.test_default_attribute.<locals>.<genexpr>  rP   rN   mode)r   r+   r    add_pathr!   r(   r"   r#   rA   r:   r6   intr7   r8   r9   rB   s       r/   test_default_attributezTestGEXF.test_default_attribute   s   HHJ	

1Cw
/
A|$	

1aQ
#*H"5#(!*ZZ\
a

LLs+aggi F1779$5555333v >
 wwy>
 8
 
 	
 
 GGFOww!''!!!r1   c                 P   t        j                         }|j                  ddd       t        j                         }t        j
                  ||       |j                  d       t        j                  |t              }t        |      dgk(  sJ |j                  d   d   dk(  sJ y )	Nr   rp   M   r   r   rr   r   77)r   r+   r    r"   r#   rA   r:   r6   rx   listr8   rB   s       r/   test_serialize_ints_to_stringsz'TestGEXF.test_serialize_ints_to_strings  s    HHJ	

1"
%ZZ\
a

LLs+Aw1#~~wwqz'"d***r1   c                    t        j                         }|j                  g d       t        d      D ]_  }||j                  |   d<   ||j                  |   d<   ||j                  |   d<   ||j                  |   d<   |dz   |j                  |   d<   a d	t        j                  d
       dt         j                   d}dj                  t        j                  |            }||k(  sJ y )N))r   r   r   r   r   rn      r   r   pidstartr   end<gexf xmlns="http://www.gexf.net/1.2draft" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gexf.net/1.2draft http://www.gexf.net/1.2draft/gexf.xsd" version="1.2">
  <meta lastmodifieddate="%Y-%m-%d">
    <creator>NetworkX a  </creator>
  </meta>
  <graph defaultedgetype="undirected" mode="dynamic" name="" timeformat="long">
    <nodes>
      <node id="0" label="0" pid="0" start="0" end="1" />
      <node id="1" label="1" pid="1" start="1" end="2" />
      <node id="2" label="2" pid="2" start="2" end="3" />
      <node id="3" label="3" pid="3" start="3" end="4" />
    </nodes>
    <edges>
      <edge source="0" target="1" id="0" />
      <edge source="1" target="2" id="1" />
      <edge source="2" target="3" id="2" />
    </edges>
  </graph>
</gexf>
)
r   r+   add_edges_fromranger8   timestrftime__version__joingenerate_gexf)r<   r=   iexpectedobtaineds        r/   test_write_with_node_attributesz(TestGEXF.test_write_with_node_attributes  s    HHJ	12q 	&A AGGAJt"#AGGAJw !AGGAJu"#AGGAJw !AAGGAJu	&  ==45 6~~& '* 99R--a018###r1   c                    t        j                         }|j                  ddddifddddifdg       dt        j                  d       dt         j
                   d	}d
j                  t        j                  |            }||k(  sJ y )Nr   r   r   r   r   r   r   r   a  </creator>
  </meta>
  <graph defaultedgetype="undirected" mode="static" name="">
    <nodes>
      <node id="0" label="0" />
      <node id="1" label="1" />
      <node id="2" label="2" />
      <node id="3" label="3" />
    </nodes>
    <edges>
      <edge source="0" target="1" id="0" />
      <edge source="1" target="2" id="2" />
      <edge source="2" target="3" id="1" />
    </edges>
  </graph>
</gexf>r   )r   r+   r   r   r   r   r   r   )r<   r=   r   r   s       r/   test_edge_id_constructzTestGEXF.test_edge_id_construct8  s    HHJ	1a$+aT1I->GH  ==45 6~~& '	* 99R--a018###r1   c                    t        j                  d      }t        j                  d      }t        j                  ||j                  d      D ci c]  }|| c}d       |j                  d      |d   d   d<   dt        j                  d	       d
t        j                   d}dj                  t        j                  |            }||k(  sJ y c c}w )Nnumpyr   numberg?r   r   zedge-numberr   r   r   a_  </creator>
  </meta>
  <graph defaultedgetype="undirected" mode="static" name="">
    <attributes mode="static" class="edge">
      <attribute id="1" title="edge-number" type="float" />
    </attributes>
    <attributes mode="static" class="node">
      <attribute id="0" title="number" type="int" />
    </attributes>
    <nodes>
      <node id="0" label="0">
        <attvalues>
          <attvalue for="0" value="0" />
        </attvalues>
      </node>
      <node id="1" label="1">
        <attvalues>
          <attvalue for="0" value="1" />
        </attvalues>
      </node>
      <node id="2" label="2">
        <attvalues>
          <attvalue for="0" value="2" />
        </attvalues>
      </node>
      <node id="3" label="3">
        <attvalues>
          <attvalue for="0" value="3" />
        </attvalues>
      </node>
    </nodes>
    <edges>
      <edge source="0" target="1" id="0">
        <attvalues>
          <attvalue for="1" value="1.1" />
        </attvalues>
      </edge>
      <edge source="1" target="2" id="1" />
      <edge source="2" target="3" id="2" />
    </edges>
  </graph>
</gexf>r   )r[   importorskipr   
path_graphset_node_attributesarangefloat64r   r   r   r   r   )r<   npr=   nr   r   s         r/   test_numpy_typezTestGEXF.test_numpy_typeT  s      )MM!
q1">A1a4">I!#C!Q  ==45 6~~& )'.^ 99R--a018###g #?s   
C
c                 &   t        j                         }|j                  dd       t        j                         }t        j
                  ||       |j                  d       t        j                  |t              }|j                  d   d   sJ y )Nr   T)testattrr   rr   r   
r   r+   r    r"   r#   rA   r:   r6   rx   r8   rB   s       r/   	test_boolzTestGEXF.test_bool  sg    HHJ	

1t
$ZZ\
a

LLs+wwqz*%%%r1   c                    ddl m} t        d      t        d      }}t        j                         }|j                  d|dd       |j                  d|dd	       |j                  d
| dd       t        j                         }t        j                  ||       |j                  d       |j                         }|j                  d       t        j                  |t              }d|v sJ d|v sJ d|v sJ |j                  d   d   |k(  sJ  ||j                  d   d         sJ |j                  d
   d   | k(  sJ |j                  d   d   dk(  sJ |j                  d   d   dk(  sJ |j                  d
   d   dk(  sJ |j                  d   d   dk(  sJ |j                  d   d   d	k(  sJ |j                  d
   d   dk(  sJ y )Nr   )isnaninfnanr   rV   )r   strdatakeyr   rW   rn   z-infcrr   s   INFs   NaNs   -INFr   r   networkx_key)mathr   floatr   r+   r    r"   r#   rA   r:   readr6   rx   r8   )r<   r   r   r   r=   rC   filetextr>   s           r/   test_specialszTestGEXF.test_specials  s   <uSHHJ	

1sEs
;	

1sEs
;	

1tV
=ZZ\
a

779

LLs+!!!!!!("""wwqz*%,,,QWWQZ
+,,,wwqz*%#---wwqz)$---wwqz)$---wwqz)$...wwqz.)S000wwqz.)S000wwqz.)S000r1   c                 4   t        j                         }ddg}|j                  d|       t        j                         }t        j
                  ||       |j                  d       t        j                  |t              }|j                  d   d   |k(  sJ y )N)r   r   rn   )	   r   r   r   )r   r   rr   r   r   )r<   r=   
list_valuerC   r>   s        r/   test_simple_listzTestGEXF.test_simple_list  sv    HHJ+
	

1*
%ZZ\
a

LLs+wwqz.)Z777r1   c                    t        j                         }|j                  ddd       d|j                  d<   t	        j
                         }t        j                  ||       |j                  d       t        j                  |t              }t        |j                               t        |j                               k(  sJ t        d	 |j                         D              t        d
 |j                         D              k(  sJ y )Nr   r	   rk   rl   dynamicrv   r   rr   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z-TestGEXF.test_dynamic_mode.<locals>.<genexpr>  rM   rN   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z-TestGEXF.test_dynamic_mode.<locals>.<genexpr>  rP   rN   )r   r+   r    r(   r"   r#   rA   r:   r6   rx   r7   r8   r9   rB   s       r/   test_dynamic_modezTestGEXF.test_dynamic_mode  s    HHJ	

1Cw
/#ZZ\
a

LLs+aggi F1779$5555333v >
 wwy>
 8
 
 	
 
r1   c           	         t        j                         }|j                  ddd       |j                  ddd       |j                  ddddd	dd
       |j                  dddddd       |j                  dd       t	        j
                         }t        j                  ||       |j                  d       t        j                  |t              }t        |j                               t        |j                               k(  sJ t        d |j                         D              t        d |j                         D              k(  sJ y )Nr   r	   rk   rl   r   r   r   rn   
undirected)r   weighttyper   r   r   )r   r   r   r   rr   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   zCTestGEXF.test_multigraph_with_missing_attributes.<locals>.<genexpr>  rM   rN   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   zCTestGEXF.test_multigraph_with_missing_attributes.<locals>.<genexpr>  rP   rN   )r   
MultiGraphr    r!   r"   r#   rA   r:   r6   rx   r7   r8   r9   rB   s       r/   'test_multigraph_with_missing_attributesz0TestGEXF.test_multigraph_with_missing_attributes  s   MMO	

1Cw
/	

1Cw
/	

1aCA1
M	

1aCuA1
=	

1aZZ\
a

LLs+aggi F1779$5555333v >
 wwy>
 8
 
 	
 
r1   c                    t        j                         }|j                  ddd       ddi|j                  d   d<   dddd	|j                  d   d   d
<   dddd|j                  d   d   d<   d|j                  d   d   d<   d|j                  d   d   d<   t	        j
                         }t        j                  ||d       |j                  d       t        j                  |t              }t        |j                               t        |j                               k(  sJ t        d |j                         D              t        d |j                         D              k(  sJ t	        j
                         }t        j                  ||d       |j                  d       t        j                  |t              }|j                  d   d   d   d   dk(  sJ t        j                         }|j                  ddd       ddi|j                  d   d<   dddd	|j                  d   d   d
<   ddddd|j                  d   d   d<   d|j                  d   d   d<   d|j                  d   d   d<   t	        j
                         }t        j                  ||       |j                  d       t        j                  |t              }t        |j                               t        |j                               k(  sJ t        d |j                         D              t        d |j                         D              k(  sJ y )Nr   r	   rk   rl   size6   vizr   )xyzposition   )rgrW   rm   zhttp://random.urlshaper   	thickness1.1draftversionrr   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>  rM   rN   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>  rP   rN   z1.2draftrV   g      ?g      ?)r   r   rW   rV   zftp://random.urlc              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>  rM   rN   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>  rP   rN   r   r+   r    r8   r"   r#   rA   r:   r6   rx   r7   r9   rB   s       r/   test_missing_viz_attributesz$TestGEXF.test_missing_viz_attributes  s   HHJ	

1Cw
/#RL
5./aa(@
5*%+,13%?
5'"%8
5'")*
5+&ZZ\
aZ0

LLs+aggi F1779$5555333v >
 wwy>
 8
 
 	
 
 ZZ\ 	aZ0

LLs+wwqz% )#.#555 HHJ	

1Cw
/#RL
5./aa(@
5*%+,13S%I
5'"%7
5'")*
5+&ZZ\
a

LLs+aggi F1779$5555333v >
 wwy>
 8
 
 	
 
r1   c                 ,   t        j                         }|j                  ddd       dg|j                  d   d<   t	        j
                         }t        j                  ||       |j                  d       t        j                  |t              }t        |j                               t        |j                               k(  sJ t        d |j                         D              t        d	 |j                         D              k(  sJ t        j                         }|j                  ddd       dg|j                  d   d
<   t	        j
                         }t        j                  ||d       |j                  d       t        j                  |t              }t        |j                               t        |j                               k(  sJ t        d |j                         D              t        d |j                         D              k(  sJ y )Nr   r	   rk   rl   r   spellsrr   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>  rM   rN   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>  rP   rN   slicesr   r   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>  rM   rN   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>  rP   rN   r   rB   s       r/   test_slice_and_spellzTestGEXF.test_slice_and_spell	  s   HHJ	

1Cw
/ &x
8ZZ\
a

LLs+aggi F1779$5555333v >
 wwy>
 8
 
 	
 
 HHJ	

1Cw
/ &x
8ZZ\
aZ0

LLs+aggi F1779$5555333v >
 wwy>
 8
 
 	
 
r1   c                    t        j                         }|j                  dddddg       t        j                         }t        j
                  ||       |j                  d       t        j                  |t              }t        |j                               t        |j                               k(  sJ t        d |j                         D              t        d	 |j                         D              k(  sJ y )
Nr   r	   rk   r   r   )r   rm   parentsrr   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z+TestGEXF.test_add_parent.<locals>.<genexpr>+  rM   rN   c              3   2   K   | ]  }t        |        y wrG   rH   rI   s     r/   rL   z+TestGEXF.test_add_parent.<locals>.<genexpr>+  rP   rN   )r   r+   r    r"   r#   rA   r:   r6   rx   r7   r8   r9   rB   s       r/   test_add_parentzTestGEXF.test_add_parent#  s    HHJ	

1CwA
?ZZ\
a

LLs+aggi F1779$5555333v >
 wwy>
 8
 
 	
 
r1   N)__name__
__module____qualname__classmethodr0   r?   rD   rQ   rX   r`   rc   re   ri   ry   r~   r   r   r   r   r   r   r   r   r   r   r    r1   r/   r   r   	   s    z
 z
x(	(*":":":*6$"*+!$F$86$p&1@8

 *
X
4

r1   r   )r"   r   r[   networkxr   r   r   r1   r/   <module>r      s    	   d
 d
r1   