
    ܛ7iOS                         d dl Z d dlZd dlZd dlZd Zej                  j                  dd      ej                  j                  dd      d               Z G d d	      Z	y)
    Nc                    d}t        | dz  x}d      5 }|j                  |       ddd       t        j                  dg      }t        j                  |dddd	       d
i d|_        t        j                  |d      }t        j                  j                  ||      sJ t        j                  |      }t        j                  j                  ||      sJ y# 1 sw Y   xY w)z7'Basic graph' example from https://gexf.net/schema.htmlab  <?xml version="1.0" encoding="UTF-8"?>
<gexf xmlns="http://gexf.net/1.3" version="1.3">
    <graph mode="static" defaultedgetype="directed">
        <nodes>
            <node id="0" label="Hello" />
            <node id="1" label="Word" />
        </nodes>
        <edges>
            <edge source="0" target="1" />
        </edges>
    </graph>
</gexf>
z
basic.gexfwN)01HelloWordlabel)namestatic)modeedge_defaultz1.3version)	openwritenxDiGraphset_node_attributesgraph	read_gexfutilsgraphs_equal)tmp_pathdatafnamefhexpectedGs         _/home/rose/Desktop/poly/venv/lib/python3.12/site-packages/networkx/readwrite/tests/test_gexf.pytest_gexf_v1_3r    	   s    D 
</0e#	6"
 
7 zz:,'H87%@wO&;HN 	UE*A88  H--- 	UA88  H--- 
7	6s   CC#	time_attr)startenddyn_attr)r   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.)r   r      zfoo.gexfztimeformat="long"Nr   r%   )r   
MultiGraphadd_nodenodes
write_gexfr   readr   r   r   nodes_equaledges)r!   r$   r   r   r   r   Hs          r   !test_dynamic_graph_has_timeformatr0   *   s    
 	8$AJJqMAGGAJyz!EMM!U	e"bggi/// 
 	UA 776?i'''88111 
s    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>
r   r   )r	   r   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indegreer7   Webatlaszhttp://webatlas.fr   2RTGIzhttp://rtgi.fr3BarabasiLabzhttp://barabasilab.comfoor5   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   r   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_classA   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r   r   )rF   r   r   rK   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'rU   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   TrX   )rF   rH   rI   r   r+   rZ   r   rY   r*   r.   rK   r\   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'rU   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rY   .0es     r   	<genexpr>z?TestGEXF.test_read_simple_undirected_graphml.<locals>.<genexpr>        3AfQi   c              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   z?TestGEXF.test_read_simple_undirected_graphml.<locals>.<genexpr>         >
(!F1Iyrj   r   )rQ   r   r   rR   rY   r*   r.   rZ   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)rU   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 rW   )	rM   r   r   rN   rY   r*   r.   ziprZ   )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&'BKDAq6M6  q!rU   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>
r6   rH   rI   rJ   pytestraisesr   NetworkXErrorr   r\   sr   s      r    test_directed_edge_in_undirectedz)TestGEXF.test_directed_edge_in_undirected   <     ZZ)*b&&b9rU   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>
r6   rv   rz   s      r    test_undirected_edge_in_directedz)TestGEXF.test_undirected_edge_in_directed   r}   rU   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>
r6   rv   rz   s      r   test_key_raiseszTestGEXF.test_key_raises  s<    " ZZ)*b&&b9rU   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>
r6   T)relabelr   r   )rH   rI   rJ   r   r   rY   r*   )r\   r{   r   r   s       r   test_relabelzTestGEXF.test_relabel  sP     ZZ)*LLT*aggi Wf$5555rU   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   )rB   r   yellowr8   rB      r   r   	node_typec              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   z2TestGEXF.test_default_attribute.<locals>.<genexpr>9  ri   rj   c              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   z2TestGEXF.test_default_attribute.<locals>.<genexpr>9  rl   rj   r   )r   rP   r)   add_pathrG   r   rH   rI   r+   rZ   r   intrY   r*   r.   r_   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!''!!!rU   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   rC   r   r   r	   77)r   rP   r)   rH   rI   r+   rZ   r   r   listr*   r_   s       r   test_serialize_ints_to_stringsz'TestGEXF.test_serialize_ints_to_stringsB  s    HHJ	

1"
%ZZ\
a

LLs+Aw1#~~wwqz'"d***rU   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      r5   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   rP   add_edges_fromranger*   timestrftime__version__joingenerate_gexf)r\   r   ir   obtaineds        r   test_write_with_node_attributesz(TestGEXF.test_write_with_node_attributesL  s    HHJ	12qA AGGAJt"#AGGAJw !AGGAJu"#AGGAJw !AAGGAJu   ==45 6~~& '* 99R--a018###rU   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'   r5   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   rP   r   r   r   r   r   r   )r\   r   r   r   s       r   test_edge_id_constructzTestGEXF.test_edge_id_constructo  s    HHJ	1a$+aT1I->GH  ==45 6~~& '	* 99R--a018###rU   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   )rw   importorskipr   
path_graphr   arangefloat64r   r   r   r   r   )r\   npr   nr   r   s         r   test_numpy_typezTestGEXF.test_numpy_type  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   rP   r)   rH   rI   r+   rZ   r   r   r*   r_   s       r   	test_boolzTestGEXF.test_bool  sg    HHJ	

1t
$ZZ\
a

LLs+wwqz*%%%rU   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'   rr   )r   strdatakeyr=   rs   r   z-infcr   s   INFs   NaNs   -INFr   r   networkx_key)mathr   floatr   rP   r)   rH   rI   r+   rZ   r,   r   r   r*   )r\   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0rU   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   )r\   r   
list_valuer   r/   s        r   test_simple_listzTestGEXF.test_simple_list  sv    HHJ+
	

1*
%ZZ\
a

LLs+wwqz.)Z777rU   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rc   rd   re   s     r   rh   z-TestGEXF.test_dynamic_mode.<locals>.<genexpr>   ri   rj   c              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   z-TestGEXF.test_dynamic_mode.<locals>.<genexpr>   rl   rj   )r   rP   r)   r   rH   rI   r+   rZ   r   r   rY   r*   r.   r_   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
 
 	
 
rU   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'   r>   r   r   
undirected)r5   weighttyper"   r#   rB   )r5   r	   r"   r#   r   c              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   zCTestGEXF.test_multigraph_with_missing_attributes.<locals>.<genexpr>  ri   rj   c              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   zCTestGEXF.test_multigraph_with_missing_attributes.<locals>.<genexpr>  rl   rj   )r   r(   r)   rG   rH   rI   r+   rZ   r   r   rY   r*   r.   r_   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
 
 	
 
rU   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grs   r   zhttp://random.urlshaper=   	thickness1.1draftr   r   c              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>!  ri   rj   c              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr>!  rl   rj   z1.2draftrr   g      ?g      ?)r   r   rs   rr   zftp://random.urlc              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr><  ri   rj   c              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   z7TestGEXF.test_missing_viz_attributes.<locals>.<genexpr><  rl   rj   r   rP   r)   r*   rH   rI   r+   rZ   r   r   rY   r.   r_   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
 
 	
 
rU   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rc   rd   re   s     r   rh   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>J  ri   rj   c              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>J  rl   rj   slicesr   r   c              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>V  ri   rj   c              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   z0TestGEXF.test_slice_and_spell.<locals>.<genexpr>V  rl   rj   r   r_   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
 
 	
 
rU   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rc   rd   re   s     r   rh   z+TestGEXF.test_add_parent.<locals>.<genexpr>b  ri   rj   c              3   2   K   | ]  }t        |        y wrc   rd   re   s     r   rh   z+TestGEXF.test_add_parent.<locals>.<genexpr>b  rl   rj   )r   rP   r)   rH   rI   r+   rZ   r   r   rY   r*   r.   r_   s       r   test_add_parentzTestGEXF.test_add_parentZ  s    HHJ	

1CwA
?ZZ\
a

LLs+aggi F1779$5555333v >
 wwy>
 8
 
 	
 
rU   N)__name__
__module____qualname__classmethodrT   r]   r`   rm   rt   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    rU   r   r2   r2   @   s    z
 z
x(	(*":":":*6$"*+!$F$86$p&1@8

 *
X
4

rU   r2   )
rH   r   rw   networkxr   r    markparametrizer0   r2   r   rU   r   <module>r      sc    	   .B &67%:;2 < 82(d
 d
rU   