
    \Mh&O                         d dl Z d dlZd dlZd dlZej                            dd          ej                            dd          d                         Z G d d          ZdS )	    N	time_attr)startenddyn_attr)staticdynamicc                    t          j        |          }|                    d           d|j        d         | <   |dz  }t          j        ||           t          |          5 }d|                                v sJ 	 ddd           n# 1 swxY w Y   t          j        |          }|j        d         dk    sJ t           j	        
                    |j        |j                  sJ dS )	zwEnsure that graphs which have a 'start' or 'stop' attribute get a
    'timeformat' attribute upon parsing. See gh-7914.)moder      zfoo.gexfztimeformat="long"Nr
   r   )nx
MultiGraphadd_nodenodes
write_gexfopenread	read_gexfgraphutilsnodes_equaledges)r   r   tmp_pathGfnamefhHs          b/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/networkx/readwrite/tests/test_gexf.py!test_dynamic_graph_has_timeformatr   	   s   
 	8$$$AJJqMMMAGAJyz!EM!U	e 0"bggii/////0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 	UA 76?i''''81111111s   $B

BBc                       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dS )TestGEXFc                 x   d| _         t          j                    | _        | j                            dd           | j                            dd           | j                            ddd           t          j        | j                             d                    | _	        d	| _
        t          j                    | _        d
di| j        j        d<   | j                            ddddd           | j                            ddddd           | j                            ddddd           | j                            ddddd           | j                            dddd           | j                            ddd           | j                            ddd           | j                            ddd           | j                            ddd           t          j        | j
                            d                    | _        d| _        t          j                    | _        | j                            dd           | j                            dd           | j                            ddd           t          j        | j                            d                    | _        d S )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.orgr   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_datar   DiGraphsimple_directed_graphr   add_edgeioBytesIOencodesimple_directed_fhattribute_dataattribute_graphr   attribute_fhsimple_undirected_dataGraphsimple_undirected_graphsimple_undirected_fh)clss    r   setup_classzTestGEXF.setup_class    s   $  %'JLL!!**3g*>>>!**3g*>>>!**3*<<<!#C,D,K,KG,T,T!U!U7p !jll5;TN!.1$$w$7!% 	% 	
 	
 	
 	$$z';ae 	% 	
 	
 	
 	$$v#3ad 	% 	
 	
 	
 	$$( 	% 	
 	
 	
 	$$S##U$CCC$$S##$666$$S##$666$$S##$666$$S##$666:c&8&?&?&H&HII&" ')hjj##,,S,@@@#,,S,@@@#,,S##,>>>#%:&--g66$
 $
       c                 &   | j         }t          j        | j                  }t	          |                                          t	          |                                          k    sJ t	          |                                          t	          |                                          k    sJ t	          |                    d                    t	          |                    d                    k    sJ | j                            d           d S NTdatar   )r9   r   r   r>   sortedr   r   seekselfr   r   s      r   !test_read_simple_directed_graphmlz*TestGEXF.test_read_simple_directed_graphml   s    &L011aggii  F17799$5$55555aggii  F17799$5$55555agg4g(())VAGGG4F4F-G-GGGGG$$Q'''''rH   c                    | j         }t          j                    }t          j        ||           |                    d           t          j        |          }t          |                                          t          |                                          k    sJ t          |	                                          t          |	                                          k    sJ t          |	                    d                    t          |	                    d                    k    sJ | j
                            d           d S )Nr   TrK   )r9   r;   r<   r   r   rN   r   rM   r   r   r>   rP   r   r   r   s       r   'test_write_read_simple_directed_graphmlz0TestGEXF.test_write_read_simple_directed_graphml   s   &Z\\
a



Laggii  F17799$5$55555aggii  F17799$5$55555agg4g(())VAGGG4F4F-G-GGGGG$$Q'''''rH   c                    | j         }t          j        | j                  }t	          |                                          t	          |                                          k    sJ t	          d |                                D                       t	          d |                                D                       k    sJ | j                            d           d S )Nc              3   4   K   | ]}t          |          V  d S NrM   .0es     r   	<genexpr>z?TestGEXF.test_read_simple_undirected_graphml.<locals>.<genexpr>   (      33AfQii333333rH   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z?TestGEXF.test_read_simple_undirected_graphml.<locals>.<genexpr>   9       >
 >
F1II>
 >
 >
 >
 >
 >
rH   r   )rD   r   r   rE   rM   r   r   rN   rO   s      r   #test_read_simple_undirected_graphmlz,TestGEXF.test_read_simple_undirected_graphml   s    (L233aggii  F17799$5$555553333333v >
 >
 wwyy>
 >
 >
 8
 8
 
 
 
 
 	!&&q)))))rH   c                    | j         }t          j        | j                  }t	          |                    d                    t	          |                    d                    k    sJ t	          |                    d                    }t	          |                    d                    }t          ||          D ]\  }}||k    sJ | j                            d           d S rJ   )	r@   r   r   rA   rM   r   r   ziprN   )rP   r   r   geheabs          r   test_read_attribute_graphmlz$TestGEXF.test_read_attribute_graphml   s     L*++aggdmm$$qwwDw/A/A(B(BBBBBAGGG&&''AGGG&&''BKK 	 	DAq66666q!!!!!rH   c                     d}t          j        |                    d                    }t          j        t
          j        t
          j        |           d S )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   NetworkXErrorr   rP   sr   s      r    test_directed_edge_in_undirectedz)TestGEXF.test_directed_edge_in_undirected   E     Z))**b&b99999rH   c                     d}t          j        |                    d                    }t          j        t
          j        t
          j        |           d S )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(   ri   rm   s      r    test_undirected_edge_in_directedz)TestGEXF.test_undirected_edge_in_directed   rp   rH   c                     d}t          j        |                    d                    }t          j        t
          j        t
          j        |           d S )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(   ri   rm   s      r   test_key_raiseszTestGEXF.test_key_raises   sE    " Z))**b&b99999rH   c                     d}t          j        |                    d                    }t          j        |d          }t          |                                          ddgk    sJ d S )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   r   rM   r   )rP   rn   r   r   s       r   test_relabelzTestGEXF.test_relabel   sf     Z))**LT***aggii  Wf$5555555rH   c                    t          j                    }|                    ddd           t          j        |g d           |                    ddd           d	d
i|j        d<   ddi|j        d<   t          j                    }t          j        ||           |	                    d           t          j
        |t                    }t          |                                          t          |                                          k    sJ t          d |                                D                       t          d |                                D                       k    sJ |j        d= |j        |j        k    sJ d S )Nr   r%   greenr$   color)r   r   r/      r/   r}   )r4   r|   yellowr*   r4      edge_defaultr   	node_typec              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z2TestGEXF.test_default_attribute.<locals>.<genexpr>  r]   rH   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z2TestGEXF.test_default_attribute.<locals>.<genexpr>  r_   rH   r
   )r   rC   r   add_pathr:   r   r;   r<   r   rN   r   intrM   r   r   rS   s       r   test_default_attributezTestGEXF.test_default_attribute  sq   HJJ	

1Cw
///
A|||$$$	

1aQ
#*H"5#(!*Z\\
a



Ls+++aggii  F17799$5$555553333333v >
 >
 wwyy>
 >
 >
 8
 8
 
 
 
 
 GFOw!'!!!!!!rH   c                 j   t          j                    }|                    ddd           t          j                    }t          j        ||           |                    d           t          j        |t                    }t          |          dgk    sJ |j
        d         d         dk    sJ d S )	Nr   r   M   r5   r   r   r$   77)r   rC   r   r;   r<   r   rN   r   r   listr   rS   s       r   test_serialize_ints_to_stringsz'TestGEXF.test_serialize_ints_to_strings!  s    HJJ	

1"
%%%Z\\
a



Ls+++Aww1#~~~~wqz'"d******rH   c                    t          j                    }|                    g d           t          d          D ]U}||j        |         d<   ||j        |         d<   ||j        |         d<   ||j        |         d<   |dz   |j        |         d<   Vd	t          j        d
           dt           j         d}d                    t          j	        |                    }||k    sJ d S )N))r   r   r   r/   r/   r}      r'   r$   pidr   r   r   <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   rC   add_edges_fromranger   timestrftime__version__joingenerate_gexf)rP   r   iexpectedobtaineds        r   test_write_with_node_attributesz(TestGEXF.test_write_with_node_attributes+  s    HJJ	111222q 	& 	&A AGAJt"#AGAJw !AGAJu"#AGAJw !AAGAJu  =44	 
 ~  * 99R-a00118######rH   c                    t          j                    }|                    ddddifddddifdg           dt          j        d           dt           j         d	}d
                    t          j        |                    }||k    sJ d S )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   rC   r   r   r   r   r   r   )rP   r   r   r   s       r   test_edge_id_constructzTestGEXF.test_edge_id_constructN  s    HJJ	1a$+aT1I->GHHH  =44  ~	  * 99R-a00118######rH   c                    t          j        d          }t          j        d          }t          j        |d |                    d          D             d           |                    d          |d         d         d<   d	t          j        d
           dt          j	         d}d
                    t          j        |                    }||k    sJ d S )Nnumpyr   c                     i | ]}||S  r   )rZ   ns     r   
<dictcomp>z,TestGEXF.test_numpy_type.<locals>.<dictcomp>m  s    ">">">A1a">">">rH   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   )rj   importorskipr   
path_graphset_node_attributesarangefloat64r   r   r   r   r   )rP   npr   r   r   s        r   test_numpy_typezTestGEXF.test_numpy_typej  s     ))M!
q">">1">">">III!#C!Q.  =44	. .
 ~. . .^ 99R-a00118######rH   c                 4   t          j                    }|                    dd           t          j                    }t          j        ||           |                    d           t          j        |t                    }|j	        d         d         sJ d S )Nr   T)testattrr   r   r   
r   rC   r   r;   r<   r   rN   r   r   r   rS   s       r   	test_boolzTestGEXF.test_bool  s    HJJ	

1t
$$$Z\\
a



Ls+++wqz*%%%%%%rH   c                     ddl m} t          d          t          d          }}t          j                    }|                    d|dd           |                    d|dd	           |                    d
| dd           t          j                    }t          j        ||           |	                    d           |
                                }|	                    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 d S )Nr   )isnaninfnanr   re   )r   strdatakeyr/   rf   r}   z-infcr   s   INFs   NaNs   -INFr   r   networkx_key)mathr   floatr   rC   r   r;   r<   r   rN   r   r   r   r   )rP   r   r   r   r   r   filetextr   s           r   test_specialszTestGEXF.test_specials  s   <<uSHJJ	

1sEs
;;;	

1sEs
;;;	

1tV
===Z\\
a



7799



Ls+++!!!!!!!!(""""wqz*%,,,,uQWQZ
+,,,,,wqz*%#----wqz)$----wqz)$----wqz)$....wqz.)S0000wqz.)S0000wqz.)S000000rH   c                 D   t          j                    }ddg}|                    d|           t          j                    }t          j        ||           |                    d           t          j        |t                    }|j	        d         d         |k    sJ d S )N)r   r/   r}   )	   r   r/   r   )r   r   r   r   r   )rP   r   
list_valuer   r   s        r   test_simple_listzTestGEXF.test_simple_list  s    HJJ+
	

1*
%%%Z\\
a



Ls+++wqz.)Z777777rH   c                 `   t          j                    }|                    ddd           d|j        d<   t	          j                    }t          j        ||           |                    d           t          j        |t                    }t          |                                          t          |                                          k    sJ t          d	 |                                D                       t          d
 |                                D                       k    sJ d S )Nr   r%   rz   r{   r   r
   r   r   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z-TestGEXF.test_dynamic_mode.<locals>.<genexpr>  r]   rH   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z-TestGEXF.test_dynamic_mode.<locals>.<genexpr>  r_   rH   )r   rC   r   r   r;   r<   r   rN   r   r   rM   r   r   rS   s       r   test_dynamic_modezTestGEXF.test_dynamic_mode  s   HJJ	

1Cw
///#Z\\
a



Ls+++aggii  F17799$5$555553333333v >
 >
 wwyy>
 >
 >
 8
 8
 
 
 
 
 
 
rH   c           	         t          j                    }|                    ddd           |                    ddd           |                    ddddd	dd
           |                    dddddd           |                    dd           t	          j                    }t          j        ||           |                    d           t          j        |t                    }t          |                                          t          |                                          k    sJ t          d |                                D                       t          d |                                D                       k    sJ d S )Nr   r%   rz   r{   r   r0   r"   r}   
undirected)r'   weighttyper   r   r4   )r'   r$   r   r   r   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   zCTestGEXF.test_multigraph_with_missing_attributes.<locals>.<genexpr>  r]   rH   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   zCTestGEXF.test_multigraph_with_missing_attributes.<locals>.<genexpr>  r_   rH   )r   r   r   r:   r;   r<   r   rN   r   r   rM   r   r   rS   s       r   'test_multigraph_with_missing_attributesz0TestGEXF.test_multigraph_with_missing_attributes  sp   MOO	

1Cw
///	

1Cw
///	

1aCA1
MMM	

1aCuA1
===	

1aZ\\
a



Ls+++aggii  F17799$5$555553333333v >
 >
 wwyy>
 >
 >
 8
 8
 
 
 
 
 
 
rH   c                 ^   t          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           |                    d           t          j        |t                    }t          |                                          t          |                                          k    sJ t          d |                                D                       t          d |                                D                       k    sJ t	          j                    }t          j        ||d           |                    d           t          j        |t                    }|j        d         d         d         d         dk    sJ t          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        ||           |                    d           t          j        |t                    }t          |                                          t          |                                          k    sJ t          d |                                D                       t          d |                                D                       k    sJ d S )Nr   r%   rz   r{   size6   vizr   )xyzposition   )rgrf   r|   zhttp://random.urlshaper/   	thickness1.1draftversionr   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>   r]   rH   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>   r_   rH   z1.2draftre   g      ?g      ?)r   r   rf   re   zftp://random.urlc              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>  r]   rH   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>  r_   rH   r   rC   r   r   r;   r<   r   rN   r   r   rM   r   rS   s       r   test_missing_viz_attributesz$TestGEXF.test_missing_viz_attributes  sp   HJJ	

1Cw
///#RL
5./aa(@(@
5*%+,13%?%?
5'"%8
5'")*
5+&Z\\
aZ0000



Ls+++aggii  F17799$5$555553333333v >
 >
 wwyy>
 >
 >
 8
 8
 
 
 
 
 Z\\ 	aZ0000



Ls+++wqz% )#.#5555 HJJ	

1Cw
///#RL
5./aa(@(@
5*%+,13S%I%I
5'"%7
5'")*
5+&Z\\
a



Ls+++aggii  F17799$5$555553333333v >
 >
 wwyy>
 >
 >
 8
 8
 
 
 
 
 
 
rH   c                    t          j                    }|                    ddd           dg|j        d         d<   t	          j                    }t          j        ||           |                    d           t          j        |t                    }t          |                                          t          |                                          k    sJ t          d |                                D                       t          d	 |                                D                       k    sJ t          j                    }|                    ddd           dg|j        d         d
<   t	          j                    }t          j        ||d           |                    d           t          j        |t                    }t          |                                          t          |                                          k    sJ t          d |                                D                       t          d |                                D                       k    sJ d S )Nr   r%   rz   r{   r   spellsr   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>)  r]   rH   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>)  r_   rH   slicesr   r   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>5  r]   rH   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>5  r_   rH   r   rS   s       r   test_slice_and_spellzTestGEXF.test_slice_and_spell  s+   HJJ	

1Cw
/// &x
8Z\\
a



Ls+++aggii  F17799$5$555553333333v >
 >
 wwyy>
 >
 >
 8
 8
 
 
 
 
 HJJ	

1Cw
/// &x
8Z\\
aZ0000



Ls+++aggii  F17799$5$555553333333v >
 >
 wwyy>
 >
 >
 8
 8
 
 
 
 
 
 
rH   c                 R   t          j                    }|                    dddddg           t          j                    }t          j        ||           |                    d           t          j        |t                    }t          |
                                          t          |
                                          k    sJ t          d |                                D                       t          d	 |                                D                       k    sJ d S )
Nr   r%   rz   r   r/   )r$   r|   parentsr   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z+TestGEXF.test_add_parent.<locals>.<genexpr>A  r]   rH   c              3   4   K   | ]}t          |          V  d S rW   rX   rY   s     r   r\   z+TestGEXF.test_add_parent.<locals>.<genexpr>A  r_   rH   )r   rC   r   r;   r<   r   rN   r   r   rM   r   r   rS   s       r   test_add_parentzTestGEXF.test_add_parent9  s   HJJ	

1CwA
???Z\\
a



Ls+++aggii  F17799$5$555553333333v >
 >
 wwyy>
 >
 >
 8
 8
 
 
 
 
 
 
rH   N)__name__
__module____qualname__classmethodrG   rQ   rT   r`   rg   ro   rr   rt   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rH   r   r    r       sp       z
 z
 [z
x( ( (	( 	( 	(* * *" " ": : :": : :": : :*6 6 6$" " "*+ + +!$ !$ !$F$ $ $86$ 6$ 6$p& & &1 1 1@8 8 8
 
 

 
 
 *
 *
 *
X
 
 
4

 

 

 

 

rH   r    )	r;   r   rj   networkxr   markparametrizer   r    r   rH   r   <module>r      s    				       &677%:;;2 2 <; 872(d
 d
 d
 d
 d
 d
 d
 d
 d
 d
rH   