§
    bŠtj6|  ã                   óÂ   — d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZm	Z	m
Z
 d„ Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ d	e¦  «        Z G d
„ d¦  «        Zd„ ZdS )é    N)Úedges_equalÚgraphs_equalÚnodes_equalc                  óÊ   — t          j        d¦  «        } t          j        t           j        d¬¦  «        5  |                      d¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zSee gh-7740é   zNode.*is not in the graph©Úmatchéd   N)ÚnxÚ
path_graphÚpytestÚraisesÚNetworkXErrorÚdegree)ÚGs    ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/networkx/classes/tests/test_graph.pyÚ,test_degree_node_not_found_exception_messager      s�   € å
Œ�aÑÔ€AÝ	Œ•rÔ'Ð/JÐ	KÑ	KÔ	Kð ð Ø	�Š�‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   µAÁAÁAc                   óÞ   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                              ej        ¦   «         d	k    d
¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚBaseGraphTesterz:Tests for data-structure independent graph class features.c                 óT   — | j         }d|v sJ ‚d|vsJ ‚d|vsJ ‚g |vsJ ‚ddi|vsJ ‚d S )Né   é   Úb)ÚK3©Úselfr   s     r   Útest_containszBaseGraphTester.test_contains   sR   € ØŒGˆØ�AˆvˆvˆvˆvØ˜ˆzˆzˆzˆzØ˜!ˆ|ˆ|ˆ|ˆ|Ø˜ˆ{ˆ{ˆ{ˆ{Ø�1ˆv˜Qˆˆˆˆˆˆó    c                 ó¦   — | j         }t          |¦  «        dk    sJ ‚|                     ¦   «         dk    sJ ‚|                     ¦   «         dk    sJ ‚d S ©Né   )r   ÚlenÚorderÚnumber_of_nodesr   s     r   Ú
test_orderzBaseGraphTester.test_order   sT   € ØŒGˆÝ�1‰vŒv˜Š{ˆ{ˆ{ˆ{Ø�wŠw‰yŒy˜AŠ~ˆ~ˆ~ˆ~Ø× Ò Ñ"Ô" aÒ'Ð'Ð'Ð'Ð'Ð'r   c                 óª  ‡— | j         Št          ‰j        ‰j        ¦  «        sJ ‚t          ‰j        ‰j        ¦  «        sJ ‚t          ˆfd„‰j                             ¦   «         D ¦   «         ¦  «        sJ ‚t          ‰ 	                    ¦   «         ¦  «        | j
        k    sJ ‚t          ‰ 	                    d¬¦  «        ¦  «        di fdi fdi fgk    sJ ‚d S )Nc              3   óB   •K  — | ]}t          |‰j        ¦  «        V — Œd S ©N)Ú
isinstanceÚadjlist_inner_dict_factory)Ú.0Úadjr   s     €r   ú	<genexpr>z-BaseGraphTester.test_nodes.<locals>.<genexpr>(   sA   øè è € ð 
ð 
Ø>A�J�s˜AÔ8Ñ9Ô9ð
ð 
ð 
ð 
ð 
ð 
r   T©Údatar   r   é   )r   r)   Ú_nodeÚnode_dict_factoryÚ_adjÚadjlist_outer_dict_factoryÚallÚvaluesÚsortedÚnodesÚk3nodesr   s    @r   Ú
test_nodeszBaseGraphTester.test_nodes$   sñ   ø€ ØŒGˆÝ˜!œ' 1Ô#6Ñ7Ô7Ð7Ð7Ð7Ý˜!œ& !Ô">Ñ?Ô?Ð?Ð?Ð?Ýð 
ð 
ð 
ð 
ØEFÄVÇ]Â]Á_Ä_ð
ñ 
ô 
ñ 
ô 
ð 	
ð 	
ð 
õ �a—g’g‘i”iÑ Ô  D¤LÒ0Ð0Ð0Ð0Ý�a—g’g 4�gÑ(Ô(Ñ)Ô)¨q°"¨g¸¸2°wÀÀBÀÐ-HÒHÐHÐHÐHÐHÐHr   c                 óf  — |                       ¦   «         }t          j        t          ¦  «        5  |                     d ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     d g¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     dd ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     dg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   ©r   N)ÚGraphr   r   Ú
ValueErrorÚadd_nodeÚadd_nodes_fromÚadd_edgeÚadd_edges_fromr   s     r   Útest_none_nodezBaseGraphTester.test_none_node.   s  € Ø�JŠJ‰LŒLˆÝŒ]�:Ñ&Ô&ð 	ð 	Ø�JŠJ�tÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�:Ñ&Ô&ð 	%ð 	%Ø×Ò˜d˜VÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%åŒ]�:Ñ&Ô&ð 	 ð 	 Ø�JŠJ�q˜$ÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 åŒ]�:Ñ&Ô&ð 	*ð 	*Ø×Ò˜i˜[Ñ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*sG   ®AÁAÁAÁ4BÂBÂBÂ;CÃC"Ã%C"ÄD&Ä&D*Ä-D*c                 óÐ   — | j         }|                     d¦  «        sJ ‚|                     d¦  «        rJ ‚|                     g ¦  «        rJ ‚|                     ddi¦  «        rJ ‚d S )Nr   r   )r   Úhas_noder   s     r   Útest_has_nodezBaseGraphTester.test_has_node9   sl   € ØŒGˆØ�zŠz˜!‰}Œ}ÐÐˆ}Ø—:’:˜a‘=”=Ð Ð Ð Ø—:’:˜b‘>”>Ð!Ð!Ð!Ø—:’:˜q !˜fÑ%Ô%Ð%Ð%Ð%Ð%Ð%r   c                 ót   — | j         }|                     dd¦  «        sJ ‚|                     dd¦  «        rJ ‚d S )Nr   r   éÿÿÿÿ)r   Úhas_edger   s     r   Útest_has_edgezBaseGraphTester.test_has_edge@   sC   € ØŒGˆØ�zŠz˜!˜QÑÔÐÐÐØ—:’:˜a Ñ$Ô$Ð$Ð$Ð$Ð$Ð$r   c                 ó   — | j         }t          |                     d¦  «        ¦  «        ddgk    sJ ‚t          j        t
          j        ¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nr   r   r0   rH   )r   r7   Ú	neighborsr   r   r   r   r   s     r   Útest_neighborszBaseGraphTester.test_neighborsE   s¶   € ØŒGˆÝ�a—k’k !‘n”nÑ%Ô%¨!¨Q¨Ò/Ð/Ð/Ð/ÝŒ]�2Ô+Ñ,Ô,ð 	ð 	Ø�KŠK˜‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ÁA3Á3A7Á:A7ÚPyPyzPyPy gc is different)Úreasonc                 óâ  — |                       ¦   «         }d„ }t          j        ¦   «           || j         ¦  «        }|                     ¦   «          t          j        ¦   «           || j         ¦  «        }||k    sJ ‚ G d„ d| j         ¦  «        }t          j        ¦   «           |¦   «         } ||¦  «        }|                     ¦   «          t          j        ¦   «           ||¦  «        }||k    sJ ‚d S )Nc                 ó\   ‡ — t          ˆ fd„t          j        ¦   «         D ¦   «         ¦  «        S )Nc              3   óp   •K  — | ]0}t          |t          j        ¦  «        °t          |‰¦  «        ¯,d V — Œ1dS )r   N)r)   ÚweakrefÚ
ProxyTypes)r+   ÚobjÚ_types     €r   r-   zRBaseGraphTester.test_memory_leak.<locals>.count_objects_of_type.<locals>.<genexpr>Z   s`   øè è € ð ð àÝ! #¥wÔ'9Ñ:Ô:ðõ @JÈ#ÈuÑ?UÔ?UðØðð ð ð ð ð r   )ÚsumÚgcÚget_objects)rW   s   `r   Úcount_objects_of_typez?BaseGraphTester.test_memory_leak.<locals>.count_objects_of_typeQ   sE   ø€ õ ð ð ð ð åœ>Ñ+Ô+ðñ ô ñ ô ð r   c                   ó   — e Zd ZdS )ú1BaseGraphTester.test_memory_leak.<locals>.MyGraphN)Ú__name__Ú
__module__Ú__qualname__© r   r   ÚMyGraphr]   h   s   € € € € € ØˆDr   rb   )r=   rY   ÚcollectÚcopy)r   r   r[   ÚbeforeÚafterrb   s         r   Útest_memory_leakz BaseGraphTester.test_memory_leakK   s  € ð �JŠJ‰LŒLˆð	ð 	ð 	õ 	Œ
‰ŒˆØ&Ð& t¤zÑ2Ô2ˆØ	�Š‰ŒˆÝ
Œ
‰ŒˆØ%Ð% d¤jÑ1Ô1ˆØ˜Šˆˆˆð	ð 	ð 	ð 	ð 	�d”jñ 	ô 	ð 	õ 	Œ
‰ŒˆØˆG‰IŒIˆØ&Ð& wÑ/Ô/ˆØ	�Š‰ŒˆÝ
Œ
‰ŒˆØ%Ð% gÑ.Ô.ˆØ˜Šˆˆˆˆˆr   c                 óÐ  — | j         }t          |j        |j        ¦  «        sJ ‚t	          |                     ¦   «         g d¢¦  «        sJ ‚t	          |                     d¦  «        ddg¦  «        sJ ‚t	          |                     ddg¦  «        g d¢¦  «        sJ ‚t          j        t          j	        ¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©©r   r   ©r   r0   ©r   r0   r   rj   rk   r   rH   )
r   r)   r3   r4   r   Úedgesr   r   r   r   r   s     r   Ú
test_edgeszBaseGraphTester.test_edgess   s  € ØŒGˆÝ˜!œ& !Ô">Ñ?Ô?Ð?Ð?Ð?Ý˜1Ÿ7š7™9œ9Ð&>Ð&>Ð&>Ñ?Ô?Ð?Ð?Ð?Ý˜1Ÿ7š7 1™:œ:¨°Ð'7Ñ8Ô8Ð8Ð8Ð8Ý˜1Ÿ7š7 A q 6™?œ?Ð,DÐ,DÐ,DÑEÔEÐEÐEÐEÝŒ]�2Ô+Ñ,Ô,ð 	ð 	Ø�GŠG�B‰KŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Â8CÃCÃ"Cc                 óŠ  — | j         }t          |                     ¦   «         ¦  «        g d¢k    sJ ‚t          |                     ¦   «         ¦  «        ddddœk    sJ ‚|                     d¦  «        dk    sJ ‚t	          j        t          j        ¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)rk   rl   )r0   r0   r0   ©r   r   r0   r   rH   )r   r7   r   Údictr   r   r   r   r   s     r   Útest_degreezBaseGraphTester.test_degree|   sý   € ØŒGˆÝ�a—h’h‘j”jÑ!Ô!Ð%=Ð%=Ð%=Ò=Ð=Ð=Ð=Ý�A—H’H‘J”JÑÔ q¨Q°1Ð#5Ð#5Ò5Ð5Ð5Ð5Ø�xŠx˜‰{Œ{˜aÒÐÐÐÝŒ]�2Ô+Ñ,Ô,ð 	ð 	Ø�HŠH�R‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ÂB8Â8B<Â?B<c                 ó|   — | j         }|                     ¦   «         dk    sJ ‚|                     ¦   «         dk    sJ ‚d S r    )r   ÚsizeÚnumber_of_edgesr   s     r   Ú	test_sizezBaseGraphTester.test_size„   sA   € ØŒGˆØ�vŠv‰xŒx˜1Š}ˆ}ˆ}ˆ}Ø× Ò Ñ"Ô" aÒ'Ð'Ð'Ð'Ð'Ð'r   c                 ó  — | j         }t          |                     ¦   «         | j        ¦  «        sJ ‚t          |                     d¦  «        dg¦  «        sJ ‚t          |                     ddg¦  «        ddg¦  «        sJ ‚t          |                     dg¦  «        g ¦  «        sJ ‚t          |                     d¦  «        g ¦  «        sJ ‚|                     d¦  «        }t	          j        t          j        d¬¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     dddi g¦  «        }t	          j        t          j        d¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   r   rH   Úfoozis not in the graphr   r0   z&in sequence nbunch is not a valid node)	r   r   Únbunch_iterr9   r   r   r   r   Úlist)r   r   Úbunchs      r   Útest_nbunch_iterz BaseGraphTester.test_nbunch_iter‰   só  € ØŒGˆÝ˜1Ÿ=š=™?œ?¨D¬LÑ9Ô9Ð9Ð9Ð9Ý˜1Ÿ=š=¨Ñ+Ô+¨a¨SÑ1Ô1Ð1Ð1Ð1Ý˜1Ÿ=š=¨!¨Q¨Ñ0Ô0°1°a°&Ñ9Ô9Ð9Ð9Ð9å˜1Ÿ=š=¨"¨Ñ.Ô.°Ñ3Ô3Ð3Ð3Ð3å˜1Ÿ=š=¨Ñ/Ô/°Ñ4Ô4Ð4Ð4Ð4à—’˜bÑ!Ô!ˆåŒ]�2Ô+Ð3HÐIÑIÔIð 	ð 	Ý�‰KŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð —’˜q ! Q¨˜mÑ,Ô,ˆåŒ]ÝÔÐ$Lð
ñ 
ô 
ð 	ð 	õ �‰KŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s$   Ä DÄD Ä#D Å E=Å=FÆFc                 ó  — |                       ¦   «         }dt          ¦   «         fg}t          j        t          j        ¦  «        5  t          |                     |¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚx)r=   Úsetr   r   r   r   rz   ry   )r   r   Únbunchs      r   Ú"test_nbunch_iter_node_format_raisez2BaseGraphTester.test_nbunch_iter_node_format_raiseŸ   s±   € ð �JŠJ‰LŒLˆØ�™œ�,�ˆÝŒ]�2Ô+Ñ,Ô,ð 	(ð 	(Ý�—’˜vÑ&Ô&Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   Á#A4Á4A8Á;A8c                 óÀ  — |                       ¦   «         }|                     dd¦  «         t          |                     ¦   «         ¦  «        dgk    sJ ‚t	          |                     ¦   «         ¦  «        ddik    sJ ‚|                     d¦  «        dk    sJ ‚t          |                     dg¦  «        ¦  «        dgk    sJ ‚|                     dd¬¦  «        dk    sJ ‚d S )Nr   rl   r0   Úweight©rƒ   )r=   rA   r7   r   rq   r   s     r   Útest_selfloop_degreez$BaseGraphTester.test_selfloop_degreeª   sÔ   € Ø�JŠJ‰LŒLˆØ	�
Š
�1�aÑÔÐÝ�a—h’h‘j”jÑ!Ô! f XÒ-Ð-Ð-Ð-Ý�A—H’H‘J”JÑÔ A q 6Ò)Ð)Ð)Ð)Ø�xŠx˜‰{Œ{˜aÒÐÐÐÝ�a—h’h ˜s‘m”mÑ$Ô$¨¨Ò0Ð0Ð0Ð0Ø�xŠx˜ (ˆxÑ+Ô+¨qÒ0Ð0Ð0Ð0Ð0Ð0r   c                 óŒ  — | j                              ¦   «         }|                     dd¦  «         t          t	          j        |¦  «        dg¦  «        sJ ‚t          t	          j        |¦  «        dg¦  «        sJ ‚t	          j        |¦  «        dk    sJ ‚| 	                    dd¦  «         |                     dd¦  «         | 
                    dg¦  «         |                     dd¦  «         |                     d¦  «         |                     dd¦  «         |                     dd¦  «         |                     ddg¦  «         d S )Nr   ©r   r   r   )r   rd   rA   r   r   Únodes_with_selfloopsr   Úselfloop_edgesÚnumber_of_selfloopsÚremove_edgeÚremove_edges_fromÚremove_nodeÚremove_nodes_fromr   s     r   Útest_selfloopszBaseGraphTester.test_selfloops³   s1  € ØŒG�LŠL‰NŒNˆØ	�
Š
�1�aÑÔÐÝ�2Ô2°1Ñ5Ô5¸°sÑ;Ô;Ð;Ð;Ð;Ý�2Ô,¨QÑ/Ô/°&°Ñ:Ô:Ð:Ð:Ð:ÝÔ% aÑ(Ô(¨AÒ-Ð-Ð-Ð-Ø	�Š�a˜ÑÔÐØ	�
Š
�1�aÑÔÐØ	×Ò˜V˜HÑ%Ô%Ð%Ø	�
Š
�1�aÑÔÐØ	�Š�aÑÔÐØ	�
Š
�1�aÑÔÐØ	�
Š
�1�aÑÔÐØ	×Ò˜Q ˜FÑ#Ô#Ð#Ð#Ð#r   c                 ó¨  — | j                              ¦   «         }|j        }t          |j        ¦  «        t          |¦  «        k    sJ ‚i |_        t          |j        ¦  «        t          |¦  «        k    sJ ‚|j        }t          |j        ¦  «        t          |¦  «        k    sJ ‚i |_        t          |j        ¦  «        t          |¦  «        k    sJ ‚d S r(   )r   rd   r,   Úidr3   r8   r1   )r   r   Úold_adjÚ	old_nodess       r   Útest_cache_resetz BaseGraphTester.test_cache_resetÂ   s¯   € ØŒG�LŠL‰NŒNˆØ”%ˆÝ�!”%‰yŒy�B˜w™KœKÒ'Ð'Ð'Ð'ØˆŒÝ�!”%‰yŒy�B˜w™KœKÒ'Ð'Ð'Ð'à”Gˆ	Ý�!”'‰{Œ{�b ™mœmÒ+Ð+Ð+Ð+ØˆŒÝ�!”'‰{Œ{�b ™mœmÒ+Ð+Ð+Ð+Ð+Ð+r   c                 ó˜  — | j                              ¦   «         }t          |j        ¦  «        t          |j        ¦  «        k    sJ ‚t          |j        ¦  «        t          |j        ¦  «        k    sJ ‚t          |j        ¦  «        t          |j        ¦  «        k    sJ ‚t          |j        ¦  «        t          |j        ¦  «        k    sJ ‚d S r(   )r   rd   r‘   r8   rm   r   r,   r   s     r   Útest_attributes_cachedz&BaseGraphTester.test_attributes_cachedÎ   s›   € ØŒG�LŠL‰NŒNˆÝ�!”'‰{Œ{�b ¤™kœkÒ)Ð)Ð)Ð)Ý�!”'‰{Œ{�b ¤™kœkÒ)Ð)Ð)Ð)Ý�!”(‰|Œ|�r !¤(™|œ|Ò+Ð+Ð+Ð+Ý�!”%‰yŒy�B˜qœu™IœIÒ%Ð%Ð%Ð%Ð%Ð%r   N)r^   r_   r`   Ú__doc__r   r%   r:   rC   rF   rJ   rN   r   ÚmarkÚskipifÚplatformÚpython_implementationrg   rn   rr   rv   r|   r�   r…   r�   r”   r–   ra   r   r   r   r      sY  € € € € € ØDÐDðð ð ð(ð (ð (ðIð Ið Ið	*ð 	*ð 	*ð&ð &ð &ð%ð %ð %ð
ð ð ð „[×ÒØ&ˆÔ&Ñ(Ô(¨FÒ2Ð;Qð ñ ô ð#ð #ñô ð#ðJð ð ðð ð ð(ð (ð (ð
ð ð ð,	(ð 	(ð 	(ð1ð 1ð 1ð$ð $ð $ð
,ð 
,ð 
,ð&ð &ð &ð &ð &r   r   c                   óð   — e 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„ 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 )(ÚBaseAttrGraphTesterz(Tests of graph class attribute features.c                 ó,  — |                       ¦   «         }|                     dddd¬¦  «         |                     dddd¬¦  «         t          d„ |                     d¬¦  «        D ¦   «         ¦  «        g d	¢k    sJ ‚t	          |                     d¬¦  «        ¦  «        dd
ddœk    sJ ‚|                     dd¬¦  «        dk    sJ ‚t          |                     dgd¬¦  «        dg¦  «        sJ ‚t          d„ |                     d¬¦  «        D ¦   «         g d¢¦  «        sJ ‚t	          |                     d¬¦  «        ¦  «        ddddœk    sJ ‚|                     dd¬¦  «        dk    sJ ‚t          |                     dgd¬¦  «        dg¦  «        sJ ‚d S )Nr   r0   r!   )rƒ   Úotherr   c              3   ó    K  — | ]	\  }}|V — Œ
d S r(   ra   ©r+   ÚnÚds      r   r-   z;BaseAttrGraphTester.test_weighted_degree.<locals>.<genexpr>Ý   s&   è è € Ð>Ð>™D˜A˜q�aÐ>Ð>Ð>Ð>Ð>Ð>r   rƒ   r„   )r0   r!   r   r   )r   r0   r!   rl   c              3   ó    K  — | ]	\  }}|V — Œ
d S r(   ra   r¡   s      r   r-   z;BaseAttrGraphTester.test_weighted_degree.<locals>.<genexpr>â   s&   è è € ÐCÐC¡$ ! Q˜AÐCÐCÐCÐCÐCÐCr   rŸ   )r!   é   r   r¥   )r   r!   )r=   rA   r7   r   rq   r   r   r   s     r   Útest_weighted_degreez(BaseAttrGraphTester.test_weighted_degreeÙ   s²  € Ø�JŠJ‰LŒLˆØ	�
Š
�1�a ¨ˆ
Ñ+Ô+Ð+Ø	�
Š
�1�a ¨ˆ
Ñ+Ô+Ð+ÝÐ>Ð> A§H¢H°H HÑ$=Ô$=Ð>Ñ>Ô>Ñ>Ô>À)À)À)ÒKÐKÐKÐKÝ�A—H’H H�HÑ-Ô-Ñ.Ô.°a¸AÀ!Ð2DÐ2DÒDÐDÐDÐDØ�xŠx˜ (ˆxÑ+Ô+¨qÒ0Ð0Ð0Ð0Ý˜AŸHšH a S°˜HÑ:Ô:¸f¸XÑFÔFÐFÐFÐFåÐCÐC¨!¯(ª(¸'¨(Ñ*BÔ*BÐCÑCÔCÀYÀYÀYÑOÔOÐOÐOÐOÝ�A—H’H G�HÑ,Ô,Ñ-Ô-°Q¸1ÀÐ1CÐ1CÒCÐCÐCÐCØ�xŠx˜ 'ˆxÑ*Ô*¨aÒ/Ð/Ð/Ð/Ý˜AŸHšH a S°˜HÑ9Ô9¸V¸HÑEÔEÐEÐEÐEÐEÐEr   c                 óÊ   — g |j         d<   g |j        d         d<   |                     dd¦  «         g }|                     dd|¬¦  «         |                     dd|¬¦  «         d S )Nrx   r   r   r0   ©rx   )Úgraphr8   r‹   rA   )r   r   Úlls      r   Úadd_attributesz"BaseAttrGraphTester.add_attributesç   sl   € ØˆŒ�‰ØˆŒ�Œ
�5ÑØ	�Š�a˜ÑÔÐØˆØ	�
Š
�1�a˜Rˆ
Ñ Ô Ð Ø	�
Š
�1�a˜Rˆ
Ñ Ô Ð Ð Ð r   c                 ó’   — |                       d¬¦  «        }|j        dk    sJ ‚|                       d¬¦  «        }|j        dk    sJ ‚d S )NÚ ©ÚnameÚtest)r=   r¯   r   s     r   Ú	test_namezBaseAttrGraphTester.test_nameï   sP   € Ø�JŠJ˜BˆJÑÔˆØŒv˜Š|ˆ|ˆ|ˆ|Ø�JŠJ˜FˆJÑ#Ô#ˆØŒv˜ÒÐÐÐÐÐr   c                 ó°   — |                       ¦   «         }|                     ddg¦  «         t          |¦  «        t          |¦  «        j        › d�k    sJ ‚d S )Nrl   ©r0   r!   z with 3 nodes and 2 edges©r=   rB   ÚstrÚtyper^   r   s     r   Útest_str_unnamedz$BaseAttrGraphTester.test_str_unnamedõ   sW   € Ø�JŠJ‰LŒLˆØ	×Ò˜& &Ð)Ñ*Ô*Ð*Ý�1‰vŒv�D ™GœGÔ,ÐGÐGÐGÒGÐGÐGÐGÐGÐGr   c                 ó´   — |                       d¬¦  «        }|                     ddg¦  «         t          |¦  «        t          |¦  «        j        › d�k    sJ ‚d S )Nrx   r®   rl   r³   z% named 'foo' with 3 nodes and 2 edgesr´   r   s     r   Útest_str_namedz"BaseAttrGraphTester.test_str_namedú   s]   € Ø�JŠJ˜EˆJÑ"Ô"ˆØ	×Ò˜& &Ð)Ñ*Ô*Ð*Ý�1‰vŒv�D ™GœGÔ,ÐSÐSÐSÒSÐSÐSÐSÐSÐSr   c                 óü   — |                       ddg¦  «        }|                     d¬¦  «        }|                     ddg¦  «        }|                     d¬¦  «        }||j        u sJ ‚||j        u sJ ‚||j        u sJ ‚d S )	Nrj   rl   T©Úas_viewr   r   F)rd   )r=   Úto_directedÚsubgraphÚreverseÚ_graph)r   r   ÚDGÚSDGÚRSDGs        r   Útest_graph_chainz$BaseAttrGraphTester.test_graph_chainÿ   sŽ   € Ø�JŠJ˜ Ð'Ñ(Ô(ˆØ�]Š] 4ˆ]Ñ(Ô(ˆØ�kŠk˜1˜a˜&Ñ!Ô!ˆØ�{Š{ ˆ{Ñ&Ô&ˆØ�B”Iˆ~ˆ~ˆ~ˆ~Ø�S”ZÐÐÐÐØ�d”kÐ!Ð!Ð!Ð!Ð!Ð!r   c                 óZ  — |                       ¦   «         }|                     d¦  «         |                     dd¦  «         |                      |¦  «         |                     ¦   «         }|                      ||¦  «         |                      ||¦  «         |                      ||¦  «         d S ©Nr   r   r0   )r=   r?   rA   r«   rd   r   Údifferent_attrdictÚshallow_copy_attrdict©r   r   ÚHs      r   Ú	test_copyzBaseAttrGraphTester.test_copy  s›   € Ø�JŠJ‰LŒLˆØ	�
Š
�1‰ŒˆØ	�
Š
�1�aÑÔÐØ×Ò˜AÑÔÐà�FŠF‰HŒHˆØ×Ò˜!˜QÑÔÐØ×Ò  1Ñ%Ô%Ð%Ø×"Ò" 1 aÑ(Ô(Ð(Ð(Ð(r   c                 ó\  — |                       ¦   «         }|                     d¦  «         |                     dd¦  «         |                      |¦  «         |                     |¦  «        }|                      ||¦  «         |                      ||¦  «         |                      ||¦  «         d S rÆ   )r=   r?   rA   r«   Ú	__class__r   rÇ   rÈ   rÉ   s      r   Útest_class_copyz#BaseAttrGraphTester.test_class_copy  s�   € Ø�JŠJ‰LŒLˆØ	�
Š
�1‰ŒˆØ	�
Š
�1�aÑÔÐØ×Ò˜AÑÔÐà�KŠK˜‰NŒNˆØ×Ò˜!˜QÑÔÐØ×Ò  1Ñ%Ô%Ð%Ø×"Ò" 1 aÑ(Ô(Ð(Ð(Ð(r   c                 ó"  — |                       ¦   «         }|                     d¦  «         |                     dd¦  «         |                      |¦  «         |                     ¦   «         }|                     |¦  «         |                     |                     ¦   «         ¦  «         t          |j	        d         ¦  «        dk    sJ ‚| 
                    ¦   «         r|j        d         d         d         n|j        d         d         }t          |¦  «        dk    sJ ‚t          |j	        d         ¦  «        dk    sJ ‚| 
                    ¦   «         r|j        d         d         d         n|j        d         d         }t          |¦  «        dk    sJ ‚d S rÆ   )r=   r?   rA   r«   rÍ   r@   rB   rm   r"   r8   Úis_multigraphr,   )r   r   rÊ   Úddicts       r   Útest_fresh_copyz#BaseAttrGraphTester.test_fresh_copy  sG  € Ø�JŠJ‰LŒLˆØ	�
Š
�1‰ŒˆØ	�
Š
�1�aÑÔÐØ×Ò˜AÑÔÐà�KŠK‰MŒMˆØ	×Ò˜ÑÔÐØ	×Ò˜Ÿš™œÑ#Ô#Ð#Ý�1”7˜1”:‰Œ !Ò#Ð#Ð#Ð#Ø"#§/¢/Ñ"3Ô"3ÐD�”�a”˜”˜A”�¸¼¸q¼À!¼ˆÝ�5‰zŒz˜QŠˆˆˆÝ�1”7˜1”:‰Œ !Ò#Ð#Ð#Ð#Ø"#§/¢/Ñ"3Ô"3ÐD�”�a”˜”˜A”�¸¼¸q¼À!¼ˆÝ�5‰zŒz˜QŠˆˆˆˆˆr   c                 óŠ   — |                       ||¦  «         |                      ||¦  «         |                      ||¦  «         d S r(   )r   rÇ   Údeep_copy_attrdict©r   rÊ   r   s      r   Úis_deepcopyzBaseAttrGraphTester.is_deepcopy.  sJ   € Ø×Ò˜!˜QÑÔÐØ×Ò  1Ñ%Ô%Ð%Ø×Ò  1Ñ%Ô%Ð%Ð%Ð%r   c                 óŠ   — |                       ||¦  «         |                      ||¦  «         |                      ||¦  «         d S r(   )Údeepcopy_graph_attrÚdeepcopy_node_attrÚdeepcopy_edge_attrrÕ   s      r   rÔ   z&BaseAttrGraphTester.deep_copy_attrdict3  sJ   € Ø× Ò   AÑ&Ô&Ð&Ø×Ò  1Ñ%Ô%Ð%Ø×Ò  1Ñ%Ô%Ð%Ð%Ð%r   c                 ó¾   — |j         d         |j         d         k    sJ ‚|j         d                              d¦  «         |j         d         |j         d         k    sJ ‚d S ©Nrx   r   ©r©   ÚappendrÕ   s      r   rØ   z'BaseAttrGraphTester.deepcopy_graph_attr8  ó\   € ØŒw�uŒ~ ¤¨¤Ò/Ð/Ð/Ð/Ø	Œ�Œ×Ò˜aÑ Ô Ð ØŒw�uŒ~ ¤¨¤Ò/Ð/Ð/Ð/Ð/Ð/r   c                 óú   — |j         d         d         |j         d         d         k    sJ ‚|j         d         d                              d¦  «         |j         d         d         |j         d         d         k    sJ ‚d S ©Nr   rx   r   ©r8   rÞ   rÕ   s      r   rÙ   z&BaseAttrGraphTester.deepcopy_node_attr=  óu   € ØŒw�qŒz˜%Ô  A¤G¨A¤J¨uÔ$5Ò5Ð5Ð5Ð5Ø	Œ�Œ
�5Ô× Ò  Ñ#Ô#Ð#ØŒw�qŒz˜%Ô  A¤G¨A¤J¨uÔ$5Ò5Ð5Ð5Ð5Ð5Ð5r   c                 ó  — |d         d         d         |d         d         d         k    sJ ‚|d         d         d                               d¦  «         |d         d         d         |d         d         d         k    sJ ‚d S ©Nr   r0   rx   ©rÞ   rÕ   s      r   rÚ   z&BaseAttrGraphTester.deepcopy_edge_attrB  óz   € Ø�Œt�AŒw�uŒ~  1¤ a¤¨¤Ò/Ð/Ð/Ð/Ø	ˆ!ŒˆQŒ�Œ×Ò˜aÑ Ô Ð Ø�Œt�AŒw�uŒ~  1¤ a¤¨¤Ò/Ð/Ð/Ð/Ð/Ð/r   c                 ó^   — |                       ||¦  «         |                      ||¦  «         d S r(   )r   rÈ   rÕ   s      r   Úis_shallow_copyz#BaseAttrGraphTester.is_shallow_copyG  s4   € Ø×Ò˜!˜QÑÔÐØ×"Ò" 1 aÑ(Ô(Ð(Ð(Ð(r   c                 óŠ   — |                       ||¦  «         |                      ||¦  «         |                      ||¦  «         d S r(   )Úshallow_copy_graph_attrÚshallow_copy_node_attrÚshallow_copy_edge_attrrÕ   s      r   rÈ   z)BaseAttrGraphTester.shallow_copy_attrdictK  sJ   € Ø×$Ò$ Q¨Ñ*Ô*Ð*Ø×#Ò# A qÑ)Ô)Ð)Ø×#Ò# A qÑ)Ô)Ð)Ð)Ð)r   c                 ó¾   — |j         d         |j         d         k    sJ ‚|j         d                              d¦  «         |j         d         |j         d         k    sJ ‚d S rÜ   rÝ   rÕ   s      r   rë   z+BaseAttrGraphTester.shallow_copy_graph_attrP  rß   r   c                 óú   — |j         d         d         |j         d         d         k    sJ ‚|j         d         d                              d¦  «         |j         d         d         |j         d         d         k    sJ ‚d S rá   râ   rÕ   s      r   rì   z*BaseAttrGraphTester.shallow_copy_node_attrU  rã   r   c                 ó  — |d         d         d         |d         d         d         k    sJ ‚|d         d         d                               d¦  «         |d         d         d         |d         d         d         k    sJ ‚d S rå   ræ   rÕ   s      r   rí   z*BaseAttrGraphTester.shallow_copy_edge_attrZ  rç   r   c                 ó|  — |d         d         d         }d|j         d         d         d<   |j        |j        k    sJ ‚||j         d         d         d<   |j        |j        k    sJ ‚|j        d         d         }d|j        d         d<   |j        |j        k    sJ ‚||j        d         d<   |j        |j        k    sJ ‚d S ©Nr   r0   rx   Úbazr   )r,   rm   r8   ©r   rÊ   r   Úold_foos       r   Úsame_attrdictz!BaseAttrGraphTester.same_attrdict_  sÅ   € Ø�A”$�q”'˜%”.ˆØ"ˆŒˆaŒ�Œ�EÑØŒw˜!œ'Ò!Ð!Ð!Ð!Ø$ˆŒˆaŒ�Œ�EÑØŒw˜!œ'Ò!Ð!Ð!Ð!à”'˜!”*˜UÔ#ˆØ!ˆŒ�Œ
�5ÑØŒw˜!œ'Ò!Ð!Ð!Ð!Ø#ˆŒ�Œ
�5ÑØŒw˜!œ'Ò!Ð!Ð!Ð!Ð!Ð!r   c                 ó|  — |d         d         d         }d|j         d         d         d<   |j        |j        k    sJ ‚||j         d         d         d<   |j        |j        k    sJ ‚|j        d         d         }d|j        d         d<   |j        |j        k    sJ ‚||j        d         d<   |j        |j        k    sJ ‚d S rò   )r,   r3   r8   r1   rô   s       r   rÇ   z&BaseAttrGraphTester.different_attrdictl  sÅ   € Ø�A”$�q”'˜%”.ˆØ"ˆŒˆaŒ�Œ�EÑØŒv˜œÒÐÐÐØ$ˆŒˆaŒ�Œ�EÑØŒv˜œÒÐÐÐà”'˜!”*˜UÔ#ˆØ!ˆŒ�Œ
�5ÑØŒw˜!œ'Ò!Ð!Ð!Ð!Ø#ˆŒ�Œ
�5ÑØŒw˜!œ'Ò!Ð!Ð!Ð!Ð!Ð!r   c                 ó"  — |j         |j         k    sJ ‚|j        |j        k    sJ ‚|j        |j        k    sJ ‚|j        |j        k    sJ ‚|                     ¦   «         sf|                     ¦   «         sR|j         d         d         |j         d         d         u sJ ‚|j         d         d         |j         d         d         u sJ ‚d S |                     ¦   «         s|j         |_        |j         |_        |                     ¦   «         s|j         |_        |j         |_        |j        |j        k    sJ ‚|j        |j        k    sJ ‚|j        d         d         |j        d         d         u sJ ‚|j        d         d         |j        d         d         u sJ ‚d S )Nr   r0   )r3   r1   r©   r¯   Úis_directedÚ_predÚ_succrÕ   s      r   r   z BaseAttrGraphTester.graphs_equaly  sƒ  € ØŒv˜œÒÐÐÐØŒw˜!œ'Ò!Ð!Ð!Ð!ØŒw˜!œ'Ò!Ð!Ð!Ð!ØŒv˜œÒÐÐÐØ�}Š}‰Œð 	2 q§}¢}¡¤ð 	2Ø”6˜!”9˜Q”< 1¤6¨!¤9¨Q¤<Ð/Ð/Ð/Ð/Ø”6˜!”9˜Q”< 1¤6¨!¤9¨Q¤<Ð/Ð/Ð/Ð/Ð/Ð/à—=’=‘?”?ð !Øœ&�”Øœ&�”Ø—=’=‘?”?ð !Øœ&�”Øœ&�”Ø”7˜aœgÒ%Ð%Ð%Ð%Ø”7˜aœgÒ%Ð%Ð%Ð%Ø”7˜1”:˜a”= A¤G¨A¤J¨q¤MÐ1Ð1Ð1Ð1Ø”7˜1”:˜a”= A¤G¨A¤J¨q¤MÐ1Ð1Ð1Ð1Ð1Ð1r   c                 ó&  — | j                              ¦   «         }d|j        d<   t          |j        |j        ¦  «        sJ ‚|j        d         dk    sJ ‚|j        d= |j        i k    sJ ‚|                      d¬¦  «        }|j        d         dk    sJ ‚d S )NÚbarrx   r¨   )r   rd   r©   r)   Úgraph_attr_dict_factoryr=   rÉ   s      r   Útest_graph_attrz#BaseAttrGraphTester.test_graph_attr�  s–   € ØŒG�LŠL‰NŒNˆØˆŒ�‰Ý˜!œ' 1Ô#<Ñ=Ô=Ð=Ð=Ð=ØŒw�uŒ~ Ò&Ð&Ð&Ð&ØŒG�EˆNØŒw˜"Š}ˆ}ˆ}ˆ}Ø�JŠJ˜5ˆJÑ!Ô!ˆØŒw�uŒ~ Ò&Ð&Ð&Ð&Ð&Ð&r   c                 óœ  ‡— | j                              ¦   «         Š‰                     dd¬¦  «         t          ˆfd„‰                     d¬¦  «        D ¦   «         ¦  «        sJ ‚t          ‰                     ¦   «         g d¢¦  «        sJ ‚t          ‰                     d¬¦  «        di fdd	difd
i fg¦  «        sJ ‚d‰j        d         d	<   t          ‰                     d¬¦  «        di fdd	difd
i fg¦  «        sJ ‚t          ‰                     d	¬¦  «        g d¢¦  «        sJ ‚t          ‰                     d	d¬¦  «        g d¢¦  «        sJ ‚d S )Nr   rý   r¨   c              3   óH   •K  — | ]\  }}t          |‰j        ¦  «        V — Œd S r(   )r)   Únode_attr_dict_factory)r+   Úur£   r   s      €r   r-   z5BaseAttrGraphTester.test_node_attr.<locals>.<genexpr>š  sE   øè è € ð 
ð 
Ù8<¸¸1�J�q˜!Ô2Ñ3Ô3ð
ð 
ð 
ð 
ð 
ð 
r   Tr.   rp   r   rx   r0   ró   )r<   ©r   ró   )r0   N)r/   Údefault))r   rý   r  )r0   rý   )r   rd   r?   r5   r8   r   r   s    @r   Útest_node_attrz"BaseAttrGraphTester.test_node_attr—  s“  ø€ ØŒG�LŠL‰NŒNˆØ	�
Š
�1˜%ˆ
Ñ Ô Ð Ýð 
ð 
ð 
ð 
Ø@AÇÂÈTÀÑ@RÔ@Rð
ñ 
ô 
ñ 
ô 
ð 	
ð 	
ð 
õ ˜1Ÿ7š7™9œ9 i i iÑ0Ô0Ð0Ð0Ð0Ý˜1Ÿ7š7¨˜7Ñ-Ô-°°B°¸!¸eÀU¸^Ð9LÈqÐRTÈgÐ/VÑWÔWÐWÐWÐWØ!ˆŒ�Œ
�5ÑÝ˜1Ÿ7š7¨˜7Ñ-Ô-°°B°¸!¸eÀU¸^Ð9LÈqÐRTÈgÐ/VÑWÔWÐWÐWÐWÝ˜1Ÿ7š7¨˜7Ñ.Ô.Ð0RÐ0RÐ0RÑSÔSÐSÐSÐSÝØ�GŠG˜¨ˆGÑ.Ô.Ð0TÐ0TÐ0Tñ
ô 
ð 	
ð 	
ð 
ð 	
ð 	
r   c           	      ó  — | j                              ¦   «         }ddi} |j        d
i |¤Ž t          |                     ¦   «         g d¢¦  «        sJ ‚t          |                     d¬¦  «        di fdi fd	i fdddifg¦  «        sJ ‚d S )Nrx   rý   r!   ©r   r   r0   r!   Tr.   r   r   r0   )r!   )r   rd   r?   r   r8   )r   r   Úas      r   Útest_node_attr2z#BaseAttrGraphTester.test_node_attr2¦  s«   € ØŒG�LŠL‰NŒNˆØ�EˆNˆØˆŒ
ÐÐ˜ÐÐÐÝ˜1Ÿ7š7™9œ9 l l lÑ3Ô3Ð3Ð3Ð3ÝØ�GŠG˜ˆGÑÔ ! R ¨1¨b¨'°A°r°7¸QÀÈÀÐ<OÐ Pñ
ô 
ð 	
ð 	
ð 
ð 	
ð 	
r   c                 óœ   — |                       ¦   «         }|                     ddd¬¦  «         t          |j        d         ddi¦  «        sJ ‚d S )Nr   r0   rý   r¨   rl   rx   )r=   rA   r   rm   r   s     r   Útest_edge_lookupz$BaseAttrGraphTester.test_edge_lookup¯  sM   € Ø�JŠJ‰LŒLˆØ	�
Š
�1�a˜Uˆ
Ñ#Ô#Ð#Ý˜1œ7 4œ=¨5°%¨.Ñ9Ô9Ð9Ð9Ð9Ð9Ð9r   c                 óh  ‡— |                       ¦   «         Š‰                     ddd¬¦  «         t          ˆfd„‰                     d¬¦  «        D ¦   «         ¦  «        sJ ‚t	          ‰                     d¬¦  «        ddddifg¦  «        sJ ‚t	          ‰                     d¬¦  «        d	g¦  «        sJ ‚d S )
Nr   r0   rý   r¨   c              3   óJ   •K  — | ]\  }}}t          |‰j        ¦  «        V — Œd S r(   )r)   Úedge_attr_dict_factory)r+   r  Úvr£   r   s       €r   r-   z5BaseAttrGraphTester.test_edge_attr.<locals>.<genexpr>·  sG   øè è € ð 
ð 
Ù8?¸¸1¸a�J�q˜!Ô2Ñ3Ô3ð
ð 
ð 
ð 
ð 
ð 
r   Tr.   rx   )r   r0   rý   )r=   rA   r5   rm   r   r   s    @r   Útest_edge_attrz"BaseAttrGraphTester.test_edge_attr´  sÙ   ø€ Ø�JŠJ‰LŒLˆØ	�
Š
�1�a˜Uˆ
Ñ#Ô#Ð#Ýð 
ð 
ð 
ð 
ØCDÇ7Â7ÐPTÀ7ÑCUÔCUð
ñ 
ô 
ñ 
ô 
ð 	
ð 	
ð 
õ ˜1Ÿ7š7¨˜7Ñ-Ô-°°A¸¸u°~Ð0FÐ/GÑHÔHÐHÐHÐHÝ˜1Ÿ7š7¨˜7Ñ.Ô.°°Ñ@Ô@Ð@Ð@Ð@Ð@Ð@r   c                 ó  — |                       ¦   «         }|                     ddgd¬¦  «         t          |                     d¬¦  «        ddddifd	d
ddifg¦  «        sJ ‚t          |                     d¬¦  «        ddg¦  «        sJ ‚d S )Nrl   ©r!   r   rx   r¨   Tr.   r   r0   r!   r   )r   r0   rx   )r!   r   rx   )r=   rB   r   rm   r   s     r   Útest_edge_attr2z#BaseAttrGraphTester.test_edge_attr2½  s¨   € Ø�JŠJ‰LŒLˆØ	×Ò˜& &Ð)¨uÐÑ5Ô5Ð5ÝØ�GŠG˜ˆGÑÔ ! Q¨°¨Ð!7¸!¸QÀÈÀÐ9OÐ Pñ
ô 
ð 	
ð 	
ð 
õ ˜1Ÿ7š7¨˜7Ñ.Ô.°ÀÐ0NÑOÔOÐOÐOÐOÐOÐOr   c           	      óš  — |                       ¦   «         }|                     ddddifddddifgd¬	¦  «         t          |                     d
¬¦  «        dddddœfdddddœfg¦  «        sJ ‚|                     ddg¦  «         |                     ddddd¬¦  «         t          |                     d
¬¦  «        ddddddœfg¦  «        sJ ‚d S )Nr   r0   rƒ   é    r!   r   é@   rx   r¨   Tr.   )rx   rƒ   rl   r  r¥   rý   ©r/   Úspamrý   )r=   rB   r   rm   rŒ   rA   r   s     r   Útest_edge_attr3z#BaseAttrGraphTester.test_edge_attr3Å  s  € Ø�JŠJ‰LŒLˆØ	×Ò˜1˜a (¨B Ð0°1°a¸(ÀB¸Ð2HÐIÈuÐÑUÔUÐUÝØ�GŠG˜ˆGÑÔà�A˜u°Ð3Ð3Ð4Ø�A˜u°Ð3Ð3Ð4ðñ
ô 
ð 	
ð 	
ð 
ð 	
×Ò˜V VÐ,Ñ-Ô-Ð-Ø	�
Š
�1�a˜a e°ˆ
Ñ7Ô7Ð7ÝØ�GŠG˜ˆGÑÔ ! Q°¸EÈ%Ð(PÐ(PÐ!QÐ Rñ
ô 
ð 	
ð 	
ð 
ð 	
ð 	
r   c           	      ó  — |                       ¦   «         }|                     ddddd¬¦  «         t          |                     d¬¦  «        ddddddœfg¦  «        sJ ‚d	|d         d         d
<   t          |                     d¬¦  «        ddd	dddœfg¦  «        sJ ‚d|j        d         d         d
<   t          |                     d¬¦  «        ddddddœfg¦  «        sJ ‚d|j        d         d
<   t          |                     d¬¦  «        ddddddœfg¦  «        sJ ‚ddg|j        d         d         d<   d|j        d         d         d<   dddddgddœ}t          |                     d¬¦  «        dd|fg¦  «        sJ ‚d S )Nr   r0   r¥   rý   rx   r  Tr.   é
   r/   é   é   rl   éÈ   Úlistdatarƒ   )r/   r  rý   r   rƒ   )r=   rA   r   rm   r,   )r   r   Údds      r   Útest_edge_attr4z#BaseAttrGraphTester.test_edge_attr4Ö  só  € Ø�JŠJ‰LŒLˆØ	�
Š
�1�a˜a e°ˆ
Ñ7Ô7Ð7ÝØ�GŠG˜ˆGÑÔ ! Q°¸EÈ%Ð(PÐ(PÐ!QÐ Rñ
ô 
ð 	
ð 	
ð 
ð ˆˆ!ŒˆQŒ�‰ÝØ�GŠG˜ˆGÑÔ ! Q°¸UÈ5Ð(QÐ(QÐ!RÐ Sñ
ô 
ð 	
ð 	
ð 
ð !ˆŒˆaŒ�Œ�FÑÝØ�GŠG˜ˆGÑÔ ! Q°¸UÈ5Ð(QÐ(QÐ!RÐ Sñ
ô 
ð 	
ð 	
ð 
ð !#ˆŒ�Œ�fÑÝØ�GŠG˜ˆGÑÔ ! Q°¸UÈ5Ð(QÐ(QÐ!RÐ Sñ
ô 
ð 	
ð 	
ð 
ð $& s )ˆŒˆaŒ�Œ�JÑØ "ˆŒˆaŒ�Œ�HÑàØØØ˜S˜	Øð
ð 
ˆõ ˜1Ÿ7š7¨˜7Ñ-Ô-°°A°r°
¨|Ñ<Ô<Ð<Ð<Ð<Ð<Ð<r   c                 ó  — | j         }|                      |¦  «         t          j        |¦  «        }|                      ||¦  «         |                      ||¦  «         |                     ¦   «         }|                      ||¦  «         d S r(   )r   r«   r   r=   ré   rÇ   Úto_undirectedrÖ   rÉ   s      r   Útest_to_undirectedz&BaseAttrGraphTester.test_to_undirectedô  s�   € ØŒGˆØ×Ò˜AÑÔÐÝŒH�Q‰KŒKˆØ×Ò˜Q Ñ"Ô"Ð"Ø×Ò  1Ñ%Ô%Ð%Ø�OŠOÑÔˆØ×Ò˜˜AÑÔÐÐÐr   c                 óT  — t          j        d| j        ¬¦  «        }|                     d¬¦  «        }||j        u sJ ‚|                     dd¦  «        sJ ‚|                     dd¦  «        s|                     ¦   «         sJ ‚t          j        t           j	        |j
        d¦  «         t          j        t           j	        |j        dd¦  «         |                     dd¦  «         |                     dd¦  «        sJ ‚|                     dd¦  «        s|                     ¦   «         sJ ‚d S d S ©Nr0   )Úcreate_usingTr»   r   r   rH   )r   r   r=   r½   rÀ   rI   rù   r   r   r   r?   rA   ©r   rÊ   ÚH2s      r   Útest_to_directed_as_viewz,BaseAttrGraphTester.test_to_directed_as_viewý  s  € ÝŒM˜!¨$¬*Ð5Ñ5Ô5ˆØ�]Š] 4ˆ]Ñ(Ô(ˆØ�B”Iˆ~ˆ~ˆ~ˆ~Ø�{Š{˜1˜aÑ Ô Ð Ð Ð Ø�{Š{˜1˜aÑ Ô Ð3 A§M¢M¡O¤OÐ3Ð3Ð3ÝŒ•bÔ&¨¬°RÑ8Ô8Ð8ÝŒ•bÔ&¨¬°Q¸Ñ:Ô:Ð:Ø	�
Š
�1�aÑÔÐØ�{Š{˜1˜aÑ Ô Ð Ð Ð Ø�{Š{˜1˜aÑ Ô Ð3 A§M¢M¡O¤OÐ3Ð3Ð3Ð3Ð3Ð3Ð3r   c                 ó   — t          j        d| j        ¬¦  «        }|                     d¬¦  «        }||j        u sJ ‚|                     dd¦  «        sJ ‚|                     dd¦  «        sJ ‚t          j        t           j        |j	        d¦  «         t          j        t           j        |j
        dd¦  «         | 
                    dd¦  «         |                     dd¦  «        sJ ‚|                     dd¦  «        sJ ‚d S r'  )r   r   r=   r$  rÀ   rI   r   r   r   r?   rA   r)  s      r   Útest_to_undirected_as_viewz.BaseAttrGraphTester.test_to_undirected_as_view	  sð   € ÝŒM˜!¨$¬*Ð5Ñ5Ô5ˆØ�_Š_ Tˆ_Ñ*Ô*ˆØ�B”Iˆ~ˆ~ˆ~ˆ~Ø�{Š{˜1˜aÑ Ô Ð Ð Ð Ø�{Š{˜1˜aÑ Ô Ð Ð Ð ÝŒ•bÔ&¨¬°RÑ8Ô8Ð8ÝŒ•bÔ&¨¬°Q¸Ñ:Ô:Ð:Ø	�
Š
�1�aÑÔÐØ�{Š{˜1˜aÑ Ô Ð Ð Ð Ø�{Š{˜1˜aÑ Ô Ð Ð Ð Ð Ð r   c                 ó¦  ‡‡— |                       ¦   «         } G ˆˆfd„d|                     ¦   «         ¦  «        Š G ˆˆfd„d|                     ¦   «         ¦  «        Š|                     ¦   «         r
 ‰¦   «         n	 ‰¦   «         }|                     ¦   «         }t          |‰¦  «        sJ ‚|                     ¦   «         }t          |‰¦  «        sJ ‚d S )Nc                   ó$   •— e Zd Zˆ fd„Zˆfd„ZdS )ú9BaseAttrGraphTester.test_directed_class.<locals>.newGraphc                 ó   •— ‰S r(   ra   ©r   Ú
newDiGraphs    €r   Úto_directed_classzKBaseAttrGraphTester.test_directed_class.<locals>.newGraph.to_directed_class  ó	   ø€ Ø!Ð!r   c                 ó   •— ‰S r(   ra   ©r   ÚnewGraphs    €r   Úto_undirected_classzMBaseAttrGraphTester.test_directed_class.<locals>.newGraph.to_undirected_class  ó   ø€ Ø�r   N©r^   r_   r`   r4  r9  ©r3  r8  s   €€r   r8  r0    óG   ø€ € € € € ð"ð "ð "ð "ð "ð ð  ð  ð  ð  ð  ð  r   r8  c                   ó$   •— e Zd Zˆ fd„Zˆfd„ZdS )ú;BaseAttrGraphTester.test_directed_class.<locals>.newDiGraphc                 ó   •— ‰S r(   ra   r2  s    €r   r4  zMBaseAttrGraphTester.test_directed_class.<locals>.newDiGraph.to_directed_class   r5  r   c                 ó   •— ‰S r(   ra   r7  s    €r   r9  zOBaseAttrGraphTester.test_directed_class.<locals>.newDiGraph.to_undirected_class#  r:  r   Nr;  r<  s   €€r   r3  r?    r=  r   r3  )r=   r9  r4  rù   r½   r)   r$  )r   r   rÊ   r3  r8  s      @@r   Útest_directed_classz'BaseAttrGraphTester.test_directed_class  s  øø€ Ø�JŠJ‰LŒLˆð	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 �q×,Ò,Ñ.Ô.ñ 	 ô 	 ð 	 ð	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ˜×,Ò,Ñ.Ô.ñ 	 ô 	 ð 	 ð ŸMšM™OœOÐ;ˆJˆJ‰LŒLˆL°°±´ˆØ�MŠM‰OŒOˆÝ˜!˜ZÑ(Ô(Ð(Ð(Ð(Ø�OŠOÑÔˆÝ˜!˜XÑ&Ô&Ð&Ð&Ð&Ð&Ð&r   c                 ó  — | j         }|                      |¦  «         t          j        |¦  «        }|                      ||¦  «         |                      ||¦  «         |                     ¦   «         }|                      ||¦  «         d S r(   )r   r«   r   ÚDiGraphré   rÇ   r½   rÖ   rÉ   s      r   Útest_to_directedz$BaseAttrGraphTester.test_to_directed,  s   € ØŒGˆØ×Ò˜AÑÔÐÝŒJ�q‰MŒMˆØ×Ò˜Q Ñ"Ô"Ð"Ø×Ò  1Ñ%Ô%Ð%Ø�MŠM‰OŒOˆØ×Ò˜˜AÑÔÐÐÐr   c                 ó–  — | j         }|                      |¦  «         |                     g d¢¦  «        }|                      ||¦  «         |                      ||¦  «         |                      ||¦  «         |                     d¦  «        }|j        di ik    sJ ‚|                     g ¦  «        }|j        i k    sJ ‚|j        i k    sJ ‚d S )N)r   r   r0   r   r   )r   r«   r¾   r   rö   rÈ   r,   rÉ   s      r   Útest_subgraphz!BaseAttrGraphTester.test_subgraph5  sË   € ØŒGˆØ×Ò˜AÑÔÐØ�JŠJ�|�|�|Ñ$Ô$ˆØ×Ò˜!˜QÑÔÐØ×Ò˜1˜aÑ Ô Ð Ø×"Ò" 1 aÑ(Ô(Ð(à�JŠJ�q‰MŒMˆØŒu˜˜B˜ÒÐÐÐØ�JŠJ�r‰NŒNˆØŒu˜Š{ˆ{ˆ{ˆ{ØŒu˜Š{ˆ{ˆ{ˆ{ˆ{ˆ{r   c                 óD  — | j                              ¦   «         }|                     dd¦  «         |                     ddd¬¦  «         t          t	          j        |d¬¦  «        ddi fddddifg¦  «        sJ ‚t          t	          j        |d¬¦  «        dd	g¦  «        sJ ‚d S )
Nr   r   r0   r„   Tr.   rƒ   )r   r   N)r   r   r0   )r   rd   rA   r   r   r‰   r   s     r   Útest_selfloops_attrz'BaseAttrGraphTester.test_selfloops_attrC  sÆ   € ØŒG�LŠL‰NŒNˆØ	�
Š
�1�aÑÔÐØ	�
Š
�1�a ˆ
Ñ"Ô"Ð"ÝÝÔ˜a dÐ+Ñ+Ô+¨q°!°R¨j¸1¸aÀ(ÈAÀÐ:OÐ-Pñ
ô 
ð 	
ð 	
ð 
õ ÝÔ˜a hÐ/Ñ/Ô/°,À	Ð1Jñ
ô 
ð 	
ð 	
ð 
ð 	
ð 	
r   N))r^   r_   r`   r—   r¦   r«   r±   r·   r¹   rÄ   rË   rÎ   rÒ   rÖ   rÔ   rØ   rÙ   rÚ   ré   rÈ   rë   rì   rí   rö   rÇ   r   rÿ   r  r
  r  r  r  r  r"  r%  r+  r-  rB  rE  rG  rI  ra   r   r   r�   r�   Ö   sT  € € € € € Ø2Ð2ðFð Fð Fð!ð !ð !ð ð  ð  ðHð Hð Hð
Tð Tð Tð
"ð "ð "ð	)ð 	)ð 	)ð	)ð 	)ð 	)ðð ð ð &ð &ð &ð
&ð &ð &ð
0ð 0ð 0ð
6ð 6ð 6ð
0ð 0ð 0ð
)ð )ð )ð*ð *ð *ð
0ð 0ð 0ð
6ð 6ð 6ð
0ð 0ð 0ð
"ð "ð "ð"ð "ð "ð2ð 2ð 2ð('ð 'ð 'ð
ð 
ð 
ð
ð 
ð 
ð:ð :ð :ð
Að Að AðPð Pð Pð
ð 
ð 
ð"=ð =ð =ð<ð ð ð
4ð 
4ð 
4ð
!ð 
!ð 
!ð'ð 'ð 'ð.ð ð ðð ð ð	
ð 	
ð 	
ð 	
ð 	
r   r�   c                   ó~   — e 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 )Ú	TestGraphz;Tests specific to dict-of-dict-of-dict graph data structurec                 óF  — t           j        | _        i i i }}}||dœ||dœ||dœdœ| _        g d¢| _        g d¢| _        |                      ¦   «         | _        | j        | j        _        i | j        _        i | j        j        d<   i | j        j        d<   i | j        j        d<   d S )	Nrl   rk   rj   rp   ri   r   r   r0   )r   r=   Úk3adjÚk3edgesr9   r   r3   r1   )r   Úed1Úed2Úed3s       r   Úsetup_methodzTestGraph.setup_methodR  s¬   € Ý”XˆŒ
à˜R �#ˆSˆØ  SÐ)Ð)°#¸#Ð.>Ð.>ÀsÈsÐCSÐCSÐTÐTˆŒ
Ø/Ð/Ð/ˆŒØ �y�yˆŒØ—*’*‘,”,ˆŒØ”zˆŒŒØˆŒŒØˆŒŒ�aÑØˆŒŒ�aÑØˆŒŒ�aÑÐÐr   c                 ó  — | j         }t          j        t          j        |d¦  «        ¦  «        }|                      ||¦  «         t          j        t          j        |¦  «        ¦  «        }|                      ||¦  «         d S )NrH   )r   ÚpickleÚloadsÚdumpsr   )r   r   Úpgs      r   Útest_picklezTestGraph.test_pickle`  sm   € ØŒGˆÝŒ\�&œ, q¨"Ñ-Ô-Ñ.Ô.ˆØ×Ò˜"˜aÑ Ô Ð ÝŒ\�&œ, q™/œ/Ñ*Ô*ˆØ×Ò˜"˜aÑ Ô Ð Ð Ð r   c                 óÄ   — |                       dgdgdœd¬¦  «        }|j        dk    sJ ‚t          |j                             ¦   «         ¦  «        ddi ifddi ifgk    sJ ‚d S )Nr0   r   rl   r°   r®   )r=   r¯   r7   r,   Úitemsr   s     r   Útest_data_inputzTestGraph.test_data_inputg  st   € Ø�JŠJ˜A˜3 A 3Ð'Ð'¨fˆJÑ5Ô5ˆØŒv˜ÒÐÐÐÝ�a”e—k’k‘m”mÑ$Ô$¨!¨a°¨W¨¸¸A¸r¸7°|Ð(DÒDÐDÐDÐDÐDÐDr   c                 ó|   — | j         }t          |                     ¦   «         ¦  «        i i dœi i dœi i dœdœk    sJ ‚d S )Nrl   rk   rj   rp   )r   rq   Ú	adjacencyr   s     r   Útest_adjacencyzTestGraph.test_adjacencyl  s_   € ØŒGˆÝ�A—K’K‘M”MÑ"Ô"Ø˜"ˆ~ˆ~Ø˜"ˆ~ˆ~Ø˜"ˆ~ˆ~ð'
ð '
ò 
ð 
ð 
ð 
ð 
ð 
r   c                 ó~  — | j         }|j        d         i i dœk    sJ ‚|d         i i dœk    sJ ‚t          j        t          ¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     dg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rl   ÚjÚA)r   r,   r   r   ÚKeyErrorÚ__getitem__Ú	TypeErrorr   s     r   Útest_getitemzTestGraph.test_getitemt  s@  € ØŒGˆØŒu�QŒx˜r b˜>˜>Ò)Ð)Ð)Ð)Ø�Œt˜2 "�~�~Ò%Ð%Ð%Ð%ÝŒ]�8Ñ$Ô$ð 	ð 	Ø�MŠM˜#ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�9Ñ%Ô%ð 	!ð 	!Ø�MŠM˜3˜%Ñ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s$   ÁA*Á*A.Á1A.ÂB2Â2B6Â9B6c                 ó¶  — |                       ¦   «         }|                     d¦  «         |j        di ik    sJ ‚|                     dd¬¦  «         |                     dd¬¦  «         |                     dd¬¦  «         |j        d         d         dk    sJ ‚|j        d         d         dk    sJ ‚|j        d         d         dk    sJ ‚|                     dd¬¦  «         |                     dd¬¦  «         |                     dd¬¦  «         |j        d         d         dk    sJ ‚|j        d         d         dk    sJ ‚|j        d         d         dk    sJ ‚d S )	Nr   r   Úred©Úcr0   Úbluer!   ri  )r=   r?   r,   r8   r   s     r   Útest_add_nodezTestGraph.test_add_node}  sa  € Ø�JŠJ‰LŒLˆØ	�
Š
�1‰ŒˆØŒu˜˜B˜ÒÐÐÐà	�
Š
�1˜ˆ
ÑÔÐØ	�
Š
�1˜ˆ
ÑÔÐØ	�
Š
�1˜ˆ
ÑÔÐØŒw�qŒz˜#Œ %Ò'Ð'Ð'Ð'ØŒw�qŒz˜#Œ &Ò(Ð(Ð(Ð(ØŒw�qŒz˜#Œ %Ò'Ð'Ð'Ð'à	�
Š
�1˜ˆ
ÑÔÐØ	�
Š
�1˜ˆ
ÑÔÐØ	�
Š
�1˜ˆ
ÑÔÐØŒw�qŒz˜#Œ &Ò(Ð(Ð(Ð(ØŒw�qŒz˜#Œ %Ò'Ð'Ð'Ð'ØŒw�qŒz˜#Œ &Ò(Ð(Ð(Ð(Ð(Ð(r   c                 ó<  — |                       ¦   «         }|                     g d¢¦  «         |j        i i i dœk    sJ ‚|                     g d¢d¬¦  «         |j        d         d         dk    sJ ‚|j        d         d         dk    sJ ‚|j        d         |j        d         usJ ‚|                     g d¢d¬¦  «         |j        d         d         dk    sJ ‚|j        d         d         dk    sJ ‚|j        d         |j        d         usJ ‚|                       ¦   «         }|                     |                     d	¬
¦  «        ¦  «         |j        d         d         dk    sJ ‚|j        d         d         dk    sJ ‚|j        d         |j        d         usJ ‚|                     ddddifdddifgd¬¦  «         |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 )Nrp   rg  rh  r   ri  r0   r   rj  Tr.   Úgreenr!   Úcyan)r=   r@   r,   r8   rÉ   s      r   Útest_add_nodes_fromzTestGraph.test_add_nodes_from�  sJ  € Ø�JŠJ‰LŒLˆØ	×Ò˜˜˜Ñ#Ô#Ð#ØŒu˜B 2¨"Ð-Ð-Ò-Ð-Ð-Ð-à	×Ò˜˜˜ eÐÑ,Ô,Ð,ØŒw�qŒz˜#Œ %Ò'Ð'Ð'Ð'ØŒw�qŒz˜#Œ %Ò'Ð'Ð'Ð'àŒw�qŒz ¤¨¤Ð+Ð+Ð+Ð+à	×Ò˜˜˜ fÐÑ-Ô-Ð-ØŒw�qŒz˜#Œ &Ò(Ð(Ð(Ð(ØŒw�qŒz˜#Œ &Ò(Ð(Ð(Ð(ØŒw�qŒz ¤¨¤Ð+Ð+Ð+Ð+à�JŠJ‰LŒLˆØ	×Ò˜Ÿš d˜Ñ+Ô+Ñ,Ô,Ð,ØŒw�qŒz˜#Œ &Ò(Ð(Ð(Ð(ØŒw�qŒz˜#Œ &Ò(Ð(Ð(Ð(ØŒw�qŒz ¤¨¤Ð+Ð+Ð+Ð+à	×Ò˜!˜a # w Ð0°1°s¸F°mÐ2DÐEÈÐÑOÔOÐOØŒw�qŒz˜#Œ %Ò'Ð'Ð'Ð'ØŒw�qŒz˜#Œ 'Ò)Ð)Ð)Ð)ØŒw�qŒz˜#Œ &Ò(Ð(Ð(Ð(ØŒw�qŒz˜#Œ &Ò(Ð(Ð(Ð(Ð(Ð(r   c                 ó"  — | j                              ¦   «         }|                     d¦  «         |j        di idi idœk    sJ ‚t	          j        t          j        ¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r0   r   rl   rH   )r   rd   r�   r,   r   r   r   r   r   s     r   Útest_remove_nodezTestGraph.test_remove_node¬  sÏ   € ØŒG�LŠL‰NŒNˆØ	�Š�aÑÔÐØŒu˜Q ˜G¨¨B¨Ð0Ð0Ò0Ð0Ð0Ð0ÝŒ]�2Ô+Ñ,Ô,ð 	ð 	Ø�MŠM˜"ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Á!BÂBÂBc                 ó°   — | j                              ¦   «         }|                     ddg¦  «         |j        di ik    sJ ‚|                     dg¦  «         d S rL   )r   rd   rŽ   r,   r   s     r   Útest_remove_nodes_fromz TestGraph.test_remove_nodes_fromµ  s\   € ØŒG�LŠL‰NŒNˆØ	×Ò˜Q ˜FÑ#Ô#Ð#ØŒu˜˜B˜ÒÐÐÐØ	×Ò˜R˜DÑ!Ô!Ð!Ð!Ð!r   c                 óž  — |                       ¦   «         }|                     dd¦  «         |j        di idi idœk    sJ ‚|                       ¦   «         } |j        dŽ  |j        di idi idœk    sJ ‚|                       ¦   «         }t          j        t
          ¦  «        5  |                     d d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   rj   Úanything)r=   rA   r,   r   r   r>   r   s     r   Útest_add_edgezTestGraph.test_add_edge»  s  € Ø�JŠJ‰LŒLˆØ	�
Š
�1�aÑÔÐØŒu˜Q ˜G¨¨B¨Ð0Ð0Ò0Ð0Ð0Ð0Ø�JŠJ‰LŒLˆØˆŒ
�FÐÐØŒu˜Q ˜G¨¨B¨Ð0Ð0Ò0Ð0Ð0Ð0Ø�JŠJ‰LŒLˆÝŒ]�:Ñ&Ô&ð 	)ð 	)Ø�JŠJ�t˜ZÑ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)s   ÂCÃCÃ	Cc                 ó®  — |                       ¦   «         }|                     dddddifg¦  «         |j        i ddidœdi idddiidœk    sJ ‚|                       ¦   «         }|                     dddddifddd	d
ifgd¬¦  «         |j        d	didddœdœd	did	d
idœdddœd	d
idœdœk    sJ ‚t          j        t
          j        ¦  «        5  |                     dg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          j        ¦  «        5  |                     dg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     dg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     ddg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrj   r   r0   rƒ   r!   rl   rp   r   r/   r   r.   )rƒ   r/   rk   )r   r  r    )r!   r0   )	r=   rB   r,   r   r   r   r   rd  r>   r   s     r   Útest_add_edges_fromzTestGraph.test_add_edges_fromÆ  s(  € Ø�JŠJ‰LŒLˆØ	×Ò˜& 1 a¨(°A¨Ð"7Ð8Ñ9Ô9Ð9ØŒuØ˜8 Q˜-Ð(Ð(Ø�2ˆwØ�H˜a�=Ð!ð
ð 
ò 
ð 
ð 
ð 
ð
 �JŠJ‰LŒLˆØ	×Ò˜& 1 a¨(°A¨Ð"7¸!¸QÀÈÀÐ9LÐMÐTUÐÑVÔVÐVØŒuØ˜A�;¨a¸Ð#;Ð#;Ð<Ð<Ø˜A�; F¨A ;Ð/Ð/Ø¨Ð+Ð+°¸°Ð<Ð<ð
ð 
ò 
ð 
ð 
ð 
õ Œ]�2Ô+Ñ,Ô,ð 	%ð 	%Ø×Ò˜d˜VÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%åŒ]�2Ô+Ñ,Ô,ð 	-ð 	-Ø×Ò˜l˜^Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-åŒ]�9Ñ%Ô%ð 	"ð 	"Ø×Ò˜a˜SÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"åŒ]�:Ñ&Ô&ð 	2ð 	2Ø×Ò˜i¨Ð0Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2sH   ÃC.Ã.C2Ã5C2ÄD:Ä:D>ÅD>ÅFÆFÆFÆ%G
Ç
GÇGc                 ó.  — | j                              ¦   «         }|                     dd¦  «         |j        di idi ii i dœdœk    sJ ‚t	          j        t          j        ¦  «        5  |                     dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r0   rj   rp   rH   )r   rd   r‹   r,   r   r   r   r   r   s     r   Útest_remove_edgezTestGraph.test_remove_edgeß  sÛ   € ØŒG�LŠL‰NŒNˆØ	�Š�a˜ÑÔÐØŒu˜Q ˜G¨¨B¨¸¸r°N°NÐCÐCÒCÐCÐCÐCÝŒ]�2Ô+Ñ,Ô,ð 	!ð 	!Ø�MŠM˜"˜aÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s   Á&B
Â
BÂBc                 óÀ   — | j                              ¦   «         }|                     dg¦  «         |j        di idi ii i dœdœk    sJ ‚|                     dg¦  «         d S )Nrj   r0   rp   r‡   )r   rd   rŒ   r,   r   s     r   Útest_remove_edges_fromz TestGraph.test_remove_edges_fromæ  sn   € ØŒG�LŠL‰NŒNˆØ	×Ò˜V˜HÑ%Ô%Ð%ØŒu˜Q ˜G¨¨B¨¸¸r°N°NÐCÐCÒCÐCÐCÐCØ	×Ò˜V˜HÑ%Ô%Ð%Ð%Ð%r   c                 óÜ   — | j                              ¦   «         }d|j        d<   |                     ¦   «          t	          |j        ¦  «        g k    sJ ‚|j        i k    sJ ‚|j        i k    sJ ‚d S )Nr   r¯   )r   rd   r©   Úclearrz   r8   r,   r   s     r   Ú
test_clearzTestGraph.test_clearì  sd   € ØŒG�LŠL‰NŒNˆØˆŒ�‰Ø	�Š‰	Œ	ˆ	Ý�A”G‰}Œ} Ò"Ð"Ð"Ð"ØŒu˜Š{ˆ{ˆ{ˆ{ØŒw˜"Š}ˆ}ˆ}ˆ}ˆ}ˆ}r   c                 óL  — | j                              ¦   «         }d|j        d<   t          |j        ¦  «        }|                     ¦   «          t          |j        ¦  «        |k    sJ ‚|j        i i i dœk    sJ ‚t          |j        ¦  «        g k    sJ ‚|j        d         dk    sJ ‚d S )Nr   r¯   rp   )r   rd   r©   rz   r8   Úclear_edgesr,   rm   )r   r   r8   s      r   Útest_clear_edgeszTestGraph.test_clear_edgesô  s¢   € ØŒG�LŠL‰NŒNˆØˆŒ�‰Ý�Q”W‘”ˆØ	�Š‰ŒˆÝ�A”G‰}Œ} Ò%Ð%Ð%Ð%ØŒu˜B 2¨"Ð-Ð-Ò-Ð-Ð-Ð-Ý�A”G‰}Œ} Ò"Ð"Ð"Ð"ØŒw�vŒ $Ò&Ð&Ð&Ð&Ð&Ð&r   c                 óÆ  — | j         }ddi fddi fddi fg}t          |                     d¬¦  «        |¦  «        sJ ‚t          |                     dd¬¦  «        ddi fddi fg¦  «        sJ ‚t          |                     ddgd¬¦  «        |¦  «        sJ ‚t          j        t
          j        ¦  «        5  |                     dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r0   Tr.   rH   )r   r   rm   r   r   r   r   )r   r   Ú	all_edgess      r   Útest_edges_datazTestGraph.test_edges_dataþ  s7  € ØŒGˆØ˜˜B�Z ! Q¨ ¨a°°B¨ZÐ8ˆ	Ý˜1Ÿ7š7¨˜7Ñ-Ô-¨yÑ9Ô9Ð9Ð9Ð9Ý˜1Ÿ7š7 1¨4˜7Ñ0Ô0°A°q¸"°:ÀÀ1Àb¸zÐ2JÑKÔKÐKÐKÐKÝ˜1Ÿ7š7 A q 6°˜7Ñ5Ô5°yÑAÔAÐAÐAÐAÝŒ]�2Ô+Ñ,Ô,ð 	ð 	Ø�GŠG�B˜ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Â2CÃCÃCc                 ó4  — | j                              ¦   «         }|                     dd¦  «        i k    sJ ‚|d         d         i k    sJ ‚|                     dd¦  «        �J ‚|                     dd¦  «        �J ‚|                     ddd¬¦  «        dk    sJ ‚d S )Nr   r   r  r  rH   )r  )r   rd   Úget_edge_datar   s     r   Útest_get_edge_datazTestGraph.test_get_edge_data  s¢   € ØŒG�LŠL‰NŒNˆØ�Š˜q !Ñ$Ô$¨Ò*Ð*Ð*Ð*Ø�Œt�AŒw˜"Š}ˆ}ˆ}ˆ}Ø�Š˜r 2Ñ&Ô&Ð.Ð.Ð.Ø�Š˜r 1Ñ%Ô%Ð-Ð-Ð-Ø�Š˜r 1¨aˆÑ0Ô0°AÒ5Ð5Ð5Ð5Ð5Ð5r   c                 óV  — | j                              ¦   «         }|                     ddddifgdddddifg¬	¦  «         d
i fdi fdi fdi fdddifdi fdi fdi fg}t          |j                             ¦   «         ¦  «        |k    sJ ‚|                     ¦   «         r%d
di fd
di fdd
i fddi fdd
i fddi fddi fddddifg}nd
di fd
di fddi fddi fddddifg}t          |j                             ¦   «         ¦  «        |k    sJ ‚|j        i k    sJ ‚| j                              ¦   «         }|                     dddddifgddddifg¦  «         t          |j                             ¦   «         ¦  «        |k    sJ ‚t          |j                             ¦   «         ¦  «        |k    sJ ‚|j        i k    sJ ‚|  	                    ¦   «         }d|j        d<   | 
                    dd¬¦  «         |                     d
dd¬¦  «         |                     ¦   «         }|  	                    ¦   «         }|                     |¦  «         t          ||¦  «        sJ ‚|                     |¦  «         t          ||¦  «        sJ ‚|  	                    ¦   «         }|                     ddg¬¦  «         |j        ddhz  t          ¦   «         k    sJ ‚|                     ¦   «         d
k    sJ ‚|  	                    ¦   «         }|                     dg¬¦  «         t          |j                             ¦   «         ¦  «        ddi fgk    sJ ‚|                     ¦   «         dk    sJ ‚t          j        t"          j        ¦  «        5  t#          j	        ¦   «                              ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr!   r   rt   r0   )r   r   é   r¥   rƒ   )r8   rm   r   r   r   rý   rx   r.   g      à?r„   )r8   r  )rm   )r   rd   Úupdater7   r8   r/   rù   rm   r©   r=   r?   rA   r   r   rt   r   r   r   r   )r   r   ÚnlistÚelistÚGGrÊ   s         r   Útest_updatezTestGraph.test_update  s  € àŒG�LŠL‰NŒNˆØ	�Š˜˜A ¨˜{Ð+Ð,°V¸aÀÀXÈqÀMÐ=RÐ4SˆÑTÔTÐTà�ˆGØ�ˆGØ�ˆGØ�ˆGØ�˜�ÐØ�ˆGØ�ˆGØ�ˆGð	
ˆõ �a”g—l’l‘n”nÑ%Ô%¨Ò.Ð.Ð.Ð.Ø�=Š=‰?Œ?ð 	à�A�r�
Ø�A�r�
Ø�A�r�
Ø�A�r�
Ø�A�r�
Ø�A�r�
Ø�A�r�
Ø�A˜ !�}Ð%ð	ˆEˆEð �A�r�
Ø�A�r�
Ø�A�r�
Ø�A�r�
Ø�A˜ !�}Ð%ðˆEõ �a”g—l’l‘n”nÑ%Ô%¨Ò.Ð.Ð.Ð.ØŒw˜"Š}ˆ}ˆ}ˆ}ð ŒG�LŠL‰NŒNˆØ	�Š�&˜1˜a (¨A Ð/Ð0°1°q¸6À1¸+Ð6FÐ2GÑHÔHÐHÝ�a”g—l’l‘n”nÑ%Ô%¨Ò.Ð.Ð.Ð.Ý�a”g—l’l‘n”nÑ%Ô%¨Ò.Ð.Ð.Ð.ØŒw˜"Š}ˆ}ˆ}ˆ}ð �JŠJ‰LŒLˆØˆŒ�‰Ø	�
Š
�1˜1ˆ
ÑÔÐØ	�
Š
�1�a ˆ
Ñ$Ô$Ð$Ø�VŠV‰XŒXˆØ�JŠJ‰LŒLˆØ
�	Š	�!‰ŒˆÝ˜A˜rÑ"Ô"Ð"Ð"Ð"Ø	�Š�‰ŒˆÝ˜A˜qÑ!Ô!Ð!Ð!Ð!ð �JŠJ‰LŒLˆØ	�Š˜˜1�vˆÑÔÐØŒw˜!˜Q˜Ñ¥3¡5¤5Ò(Ð(Ð(Ð(Ø�vŠv‰xŒx˜1Š}ˆ}ˆ}ˆ}ð �JŠJ‰LŒLˆØ	�Š˜�xˆÑ Ô Ð Ý�a”g—l’l‘n”nÑ%Ô%¨1¨a°¨*¨Ò5Ð5Ð5Ð5Ø�vŠv‰xŒx˜1Š}ˆ}ˆ}ˆ}õ Œ]�2Ô+Ñ,Ô,ð 	 ð 	 ÝŒH‰JŒJ×ÒÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s   Í+&NÎN"Î%N"N)r^   r_   r`   r—   rR  rX  r[  r^  re  rk  ro  rq  rs  rv  rx  rz  r|  r  r‚  r…  rˆ  r�  ra   r   r   rK  rK  O  s0  € € € € € ØEÐEðð ð ð!ð !ð !ðEð Eð Eð

ð 
ð 
ð!ð !ð !ð)ð )ð )ð&)ð )ð )ð8ð ð ð"ð "ð "ð	)ð 	)ð 	)ð2ð 2ð 2ð2!ð !ð !ð&ð &ð &ðð ð ð'ð 'ð 'ðð ð ð6ð 6ð 6ðF ð F ð F ð F ð F r   rK  c                   óB   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚTestEdgeSubgraphz6Unit tests for the :meth:`Graph.edge_subgraph` method.c                 ó  — t          j        d¦  «        }t          d¦  «        D ]}d|› �|j        |         d<   Œd|j        d         d<   d|j        d         d<   d|j        d<   || _        |                     ddg¦  «        | _        d S )	Nr   Únoder¯   Úedge01rj   Úedge34r  r©   )	r   r   Úranger8   rm   r©   r   Úedge_subgraphrÊ   )r   r   Úis      r   rR  zTestEdgeSubgraph.setup_method[  s�   € åŒM˜!ÑÔˆå�q‘”ð 	,ð 	,ˆAØ!+¨  ˆAŒG�AŒJ�vÑÐØ (ˆŒ�Œ�fÑØ (ˆŒ�Œ�fÑØ!ˆŒ�‰àˆŒØ—’ &¨&Ð!1Ñ2Ô2ˆŒˆˆr   c                 ób   — g d¢t          | j                             ¦   «         ¦  «        k    sJ ‚dS )z.Tests that the subgraph has the correct nodes.©r   r   r!   r   N)r7   rÊ   r8   ©r   s    r   Útest_correct_nodesz#TestEdgeSubgraph.test_correct_nodesh  s/   € àˆ|ˆ|�v d¤f§l¢l¡n¤nÑ5Ô5Ò5Ð5Ð5Ð5Ð5Ð5r   c                 óf   — ddgt          | j                             d¬¦  «        ¦  «        k    sJ ‚dS )z.Tests that the subgraph has the correct edges.)r   r   r”  )r!   r   r•  r¯   r.   N)r7   rÊ   rm   r›  s    r   Útest_correct_edgesz#TestEdgeSubgraph.test_correct_edgesl  s8   € à Ð"2Ð3µv¸d¼f¿lºlÐPV¸lÑ>WÔ>WÑ7XÔ7XÒXÐXÐXÐXÐXÐXr   c                 ó–   — | j                              d¦  «         g d¢t          | j                             ¦   «         ¦  «        k    sJ ‚dS )zkTests that adding a node to the original graph does not
        affect the nodes of the subgraph.

        r   rš  N)r   r?   r7   rÊ   r8   r›  s    r   rk  zTestEdgeSubgraph.test_add_nodep  sE   € ð
 	Œ�Š˜ÑÔÐØˆ|ˆ|�v d¤f§l¢l¡n¤nÑ5Ô5Ò5Ð5Ð5Ð5Ð5Ð5r   c                 ó–   — | j                              d¦  «         g d¢t          | j                             ¦   «         ¦  «        k    sJ ‚dS )ziTests that removing a node in the original graph does
        affect the nodes of the subgraph.

        r   )r   r!   r   N)r   r�   r7   rÊ   r8   r›  s    r   rq  z!TestEdgeSubgraph.test_remove_nodex  sG   € ð
 	Œ×Ò˜1ÑÔÐØˆyˆy�F 4¤6§<¢<¡>¤>Ñ2Ô2Ò2Ð2Ð2Ð2Ð2Ð2r   c                 ó^  — | j         D ]*}| j        j        |         | j         j        |         k    sJ ‚Œ+d| j        j        d         d<   | j        j        d         | j         j        d         k    sJ ‚d| j         j        d         d<   | j        j        d         | j         j        d         k    sJ ‚dS )z`Tests that the node attribute dictionary of the two graphs is
        the same object.

        rx   r   r¯   rý   r   N)rÊ   r   r8   )r   r  s     r   Útest_node_attr_dictz$TestEdgeSubgraph.test_node_attr_dict€  s¥   € ð
 ”ð 	6ð 	6ˆAØ”6”< ”? d¤f¤l°1¤oÒ5Ð5Ð5Ð5Ð5à"'ˆŒŒ�QŒ˜ÑØŒvŒ|˜AŒ $¤&¤,¨q¤/Ò1Ð1Ð1Ð1Ø"'ˆŒŒ�QŒ˜ÑØŒvŒ|˜AŒ $¤&¤,¨q¤/Ò1Ð1Ð1Ð1Ð1Ð1r   c                 óÀ  — | j                              ¦   «         D ]1\  }}| j        j        ||f         | j         j        ||f         k    sJ ‚Œ2d| j        j        d         d<   | j        j        d         d         | j         j        d         d         k    sJ ‚d| j         j        d         d<   | j        j        d         d         | j         j        d         d         k    sJ ‚dS )z`Tests that the edge attribute dictionary of the two graphs is
        the same object.

        rx   rj   r¯   rý   r  N)rÊ   rm   r   )r   r  r  s      r   Útest_edge_attr_dictz$TestEdgeSubgraph.test_edge_attr_dict�  sÕ   € ð
 ”F—L’L‘N”Nð 	<ð 	<‰DˆAˆqØ”6”<  1 Ô%¨¬¬°a¸°dÔ);Ò;Ð;Ð;Ð;Ð;à%*ˆŒŒ�TÔ˜6Ñ"ØŒvŒ|˜DÔ! &Ô)¨T¬V¬\¸$Ô-?ÀÔ-GÒGÐGÐGÐGØ%*ˆŒŒ�TÔ˜6Ñ"ØŒvŒ|˜DÔ! &Ô)¨T¬V¬\¸$Ô-?ÀÔ-GÒGÐGÐGÐGÐGÐGr   c                 ó:   — | j         j        | j        j        u sJ ‚dS )zaTests that the graph attribute dictionary of the two graphs
        is the same object.

        N)r   r©   rÊ   r›  s    r   Útest_graph_attr_dictz%TestEdgeSubgraph.test_graph_attr_dictš  s#   € ð
 ŒvŒ|˜tœvœ|Ð+Ð+Ð+Ð+Ð+Ð+r   N)r^   r_   r`   r—   rR  rœ  rž  rk  rq  r¢  r¤  r¦  ra   r   r   r‘  r‘  X  s˜   € € € € € Ø@Ð@ð3ð 3ð 3ð6ð 6ð 6ðYð Yð Yð6ð 6ð 6ð3ð 3ð 3ð2ð 2ð 2ðHð Hð Hð,ð ,ð ,ð ,ð ,r   r‘  c                  óH  —  G d„ dt           j        ¦  «        }  | d¬¦  «        }|j        dk    sJ ‚ | g d¦  «        }|j        dk    sJ ‚ | dgdd¬¦  «        }|j        dk    sJ ‚|j        d	         dk    sJ ‚t           j                             |j        dg¦  «        sJ ‚d
S )zuTest that subclasses can accept additional arguments.

    See: https://github.com/networkx/networkx/issues/8367
    c                   ó    ‡ — e Zd Zdˆ fd„	Zˆ xZS )ú*test_graph_new_extra_args.<locals>.MyGraphNc                 óJ   •—  t          ¦   «         j        |fi |¤Ž || _        d S r(   )ÚsuperÚ__init__Ú	extra_arg)r   Úincoming_graph_datar­  ÚattrrÍ   s       €r   r¬  z3test_graph_new_extra_args.<locals>.MyGraph.__init__©  s.   ø€ Ø�E‰GŒGÔÐ0Ð9Ð9°DÐ9Ð9Ð9Ø&ˆDŒNˆNˆNr   )NN)r^   r_   r`   r¬  Ú__classcell__)rÍ   s   @r   rb   r©  ¨  s=   ø€ € € € € ð	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'r   rb   z	extra arg)r­  rj   rx   rý   )r­  r¯   r¯   N)r   r=   r­  r©   Úutilsr   rm   )rb   r   s     r   Útest_graph_new_extra_argsr²  ¢  sã   € ð'ð 'ð 'ð 'ð '•"”(ñ 'ô 'ð 'ð
 	ˆ˜+Ð&Ñ&Ô&€AØŒ;˜+Ò%Ð%Ð%Ð%àˆ��KÑ Ô €AØŒ;˜+Ò%Ð%Ð%Ð%àˆ�� E°Ð6Ñ6Ô6€AØŒ;˜%ÒÐÐÐØŒ7�6Œ?˜eÒ#Ð#Ð#Ð#ÝŒ8×Ò ¤¨&¨Ñ2Ô2Ð2Ð2Ð2Ð2Ð2r   )rY   rT  rš   rT   r   Únetworkxr   Únetworkx.utilsr   r   r   r   r   r�   rK  r‘  r²  ra   r   r   ú<module>rµ     sM  ðØ 	€	€	€	Ø €€€Ø €€€Ø €€€à €€€à Ð Ð Ð Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aðð ð ð@&ð @&ð @&ð @&ð @&ñ @&ô @&ð @&ðFv
ð v
ð v
ð v
ð v
˜/ñ v
ô v
ð v
ðrF ð F ð F ð F ð F Ð#ñ F ô F ð F ðRG,ð G,ð G,ð G,ð G,ñ G,ô G,ð G,ðT3ð 3ð 3ð 3ð 3r   