
    Vh&O                         d dl Z d dlZd dlZd dlZej
                  j                  dd      ej
                  j                  dd      d               Z G d d      Zy)	    N	time_attr)startenddyn_attr)staticdynamicc                    t        j                  |      }|j                  d       d|j                  d   | <   |dz  }t        j                  ||       t        |      5 }d|j                         v sJ 	 ddd       t        j                  |      }|j                  d   dk(  sJ t         j                  j                  |j                  |j                        sJ y# 1 sw Y   ixY w)	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          R/home/dcms/DCMS/lib/python3.12/site-packages/networkx/readwrite/tests/test_gexf.py!test_dynamic_graph_has_timeformatr   	   s    
 	8$AJJqMAGGAJyz!EMM!U	e 0"bggi///0 	UA 776?i'''881110 0s    CC'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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.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   $  %'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   )r9   r   r   r>   sortedr   r   seekselfr   r   s      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'rH   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   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    &&ZZ\
a

LLaggi F1779$5555aggi F1779$5555agg4g()VAGGG4F-GGGG$$Q'rH   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rM   .0es     r   	<genexpr>z?TestGEXF.test_read_simple_undirected_graphml.<locals>.<genexpr>        3AfQi3   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z?TestGEXF.test_read_simple_undirected_graphml.<locals>.<genexpr>         >
F1I>
r^   r   )rD   r   r   rE   rM   r   r   rN   rO   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)rH   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 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      LL**+aggdm$qwwDw/A(BBBBAGGG&'AGGG&'BK 	DAq6M6	q!rH   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   NetworkXErrorr   rP   sr   s      r    test_directed_edge_in_undirectedz)TestGEXF.test_directed_edge_in_undirected   <     ZZ)*b&&b9rH   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(   rj   rn   s      r    test_undirected_edge_in_directedz)TestGEXF.test_undirected_edge_in_directed   rq   rH   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(   rj   rn   s      r   test_key_raiseszTestGEXF.test_key_raises   s<    " ZZ)*b&&b9rH   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   r   rM   r   )rP   ro   r   r   s       r   test_relabelzTestGEXF.test_relabel   sP     ZZ)*LLT*aggi Wf$5555rH   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/   r~   )r4   r}   yellowr*   r4      edge_defaultr   	node_typec              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z2TestGEXF.test_default_attribute.<locals>.<genexpr>  r]   r^   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z2TestGEXF.test_default_attribute.<locals>.<genexpr>  r`   r^   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  s   HHJ	

1Cw
/
A|$	

1aQ
#*H"5#(!*ZZ\
a

LLs+aggi F1779$5555333v >
 wwy>
 8
 
 	
 
 GGFOww!''!!!rH   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   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    HHJ	

1"
%ZZ\
a

LLs+Aw1#~~wwqz'"d***rH   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/   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    HHJ	12q 	&A AGGAJt"#AGGAJw !AGGAJu"#AGGAJw !AAGGAJu	&  ==45 6~~& '* 99R--a018###rH   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   rC   r   r   r   r   r   r   )rP   r   r   r   s       r   test_edge_id_constructzTestGEXF.test_edge_id_constructN  s    HHJ	1a$+aT1I->GH  ==45 6~~& '	* 99R--a018###rH   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   )rk   importorskipr   
path_graphset_node_attributesarangefloat64r   r   r   r   r   )rP   npr   nr   r   s         r   test_numpy_typezTestGEXF.test_numpy_typej  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   r   r   
r   rC   r   r;   r<   r   rN   r   r   r   rS   s       r   	test_boolzTestGEXF.test_bool  sg    HHJ	

1t
$ZZ\
a

LLs+wwqz*%%%rH   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   rf   )r   strdatakeyr/   rg   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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0rH   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/   r~   )	   r   r/   r   )r   r   r   r   r   )rP   r   
list_valuer   r   s        r   test_simple_listzTestGEXF.test_simple_list  sv    HHJ+
	

1*
%ZZ\
a

LLs+wwqz.)Z777rH   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%   r{   r|   r   r
   r   r   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z-TestGEXF.test_dynamic_mode.<locals>.<genexpr>  r]   r^   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z-TestGEXF.test_dynamic_mode.<locals>.<genexpr>  r`   r^   )r   rC   r   r   r;   r<   r   rN   r   r   rM   r   r   rS   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
 
 	
 
rH   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%   r{   r|   r   r0   r"   r~   
undirected)r'   weighttyper   r   r4   )r'   r$   r   r   r   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   zCTestGEXF.test_multigraph_with_missing_attributes.<locals>.<genexpr>  r]   r^   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   zCTestGEXF.test_multigraph_with_missing_attributes.<locals>.<genexpr>  r`   r^   )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  s   MMO	

1Cw
/	

1Cw
/	

1aCA1
M	

1aCuA1
=	

1aZZ\
a

LLs+aggi F1779$5555333v >
 wwy>
 8
 
 	
 
rH   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%   r{   r|   size6   vizr   )xyzposition   )rgrg   r}   zhttp://random.urlshaper/   	thickness1.1draftversionr   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>   r]   r^   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>   r`   r^   z1.2draftrf   g      ?g      ?)r   r   rg   rf   zftp://random.urlc              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>  r]   r^   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>  r`   r^   r   rC   r   r   r;   r<   r   rN   r   r   rM   r   rS   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
 
 	
 
rH   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%   r{   r|   r   spellsr   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>)  r]   r^   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>)  r`   r^   slicesr   r   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>5  r]   r^   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>5  r`   r^   r   rS   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
 
 	
 
rH   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%   r{   r   r/   )r$   r}   parentsr   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z+TestGEXF.test_add_parent.<locals>.<genexpr>A  r]   r^   c              3   2   K   | ]  }t        |        y wrW   rX   rY   s     r   r\   z+TestGEXF.test_add_parent.<locals>.<genexpr>A  r`   r^   )r   rC   r   r;   r<   r   rN   r   r   rM   r   r   rS   s       r   test_add_parentzTestGEXF.test_add_parent9  s    HHJ	

1CwA
?ZZ\
a

LLs+aggi F1779$5555333v >
 wwy>
 8
 
 	
 
rH   N)__name__
__module____qualname__classmethodrG   rQ   rT   ra   rh   rp   rs   ru   ry   r   r   r   r   r   r   r   r   r   r   r   r   r    rH   r   r    r       s    z
 z
x(	(*":":":*6$"*+!$F$86$p&1@8

 *
X
4

rH   r    )	r;   r   rk   networkxr   markparametrizer   r    r   rH   r   <module>r      s]    	    &67%:;2 < 82(d
 d
rH   