
    h                         S SK rSSKJr  SSKJr  SSKJr  SSKJr	  SSK
Jr  SSKJr  S	 r " S
 S\	5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rg)    N   )BaseDiGraphTester)TestDiGraph)BaseGraphTester)	TestGraph)TestMultiDiGraph)TestMultiGraphc                  D  ^^^^^  " S S[         5      m " S S[         5      m " S S[         5      m " S S[         5      m " S	 S
[         5      m[        R                  [        R                  [        R                  [        R
                  4 GH  n  " UUUUU4S jSU 5      nU" 5       n[        UR                  T5      (       d   e[        UR                  T5      (       d   eUR                  S5        [        UR                  S   T5      (       d   eUR                  5       (       aZ  [        UR                  T5      (       d   e[        UR                  T5      (       d   e[        UR                  S   T5      (       d   eUR                  SS5        UR                  5       (       aL  [        UR                  S   S   T5      (       d   e[        UR                  S   S   S   T5      (       d   eGMj  [        UR                  S   S   T5      (       a  GM   e   g )Nc                       \ rS rSrSrg)test_factories.<locals>.mydict1    N__name__
__module____qualname____firstlineno____static_attributes__r       U/var/www/html/env/lib/python3.13/site-packages/networkx/classes/tests/test_special.pymydict1r          r   r   c                       \ rS rSrSrg)test_factories.<locals>.mydict2   r   Nr   r   r   r   mydict2r      r   r   r   c                       \ rS rSrSrg)test_factories.<locals>.mydict3   r   Nr   r   r   r   mydict3r      r   r   r    c                       \ rS rSrSrg)test_factories.<locals>.mydict4   r   Nr   r   r   r   mydict4r"      r   r   r$   c                       \ rS rSrSrg)test_factories.<locals>.mydict5   r   Nr   r   r   r   mydict5r&      r   r   r(   c                   4   > \ rS rSr Y r Yr Yr Yr YrSr	g)test_factories.<locals>.MyGraph   r   N)
r   r   r   r   node_dict_factoryadjlist_outer_dict_factoryadjlist_inner_dict_factoryedge_key_dict_factoryedge_attr_dict_factoryr   )r   r   r    r$   r(   s   r   MyGraphr*      s!     ')0&)0&$+!%,"r   r1   r      r   )dictnxGraphDiGraph
MultiGraphMultiDiGraph
isinstance_node_adjadd_nodeis_directed_pred_succadd_edgeis_multigraph)r5   r1   Gr   r   r    r$   r(   s      @@@@@r   test_factoriesrC      s   $ $ $ $ $  ((BJJrG	- 	-e 	- I!''7++++!&&'****	

1!&&)W----==??aggw////aggw////aggaj'2222	

1a??affQilG4444affQil1ow7777affQilG4444/ Hr   c                       \ rS rSrS rSrg)TestSpecialGraph5   c                 Z    [         R                  " U 5        [        R                  U l        g N)
_TestGraphsetup_methodr4   r5   selfs    r   rJ   TestSpecialGraph.setup_method6   s    %XX
r   r5   Nr   r   r   r   rJ   r   r   r   r   rE   rE   5   s    r   rE   c                       \ rS rSrS rSrg)TestThinGraph;   c                   ^ SS0m " U4S jS[         R                  5      nXl        TTTpCnX#S.X$S.X4S.S.U l        / S	QU l        / SQU l        U R                  5       U l        U R                  U R
                  l        0 U R
                  l        0 U R
                  R                  S
'   0 U R
                  R                  S'   0 U R
                  R                  S'   g )Nweightr   c                   "   > \ rS rSrU 4S jrSrg)+TestThinGraph.setup_method.<locals>.MyGraph?   c                    > T$ rH   r   rL   all_edge_dicts    r   r0   BTestThinGraph.setup_method.<locals>.MyGraph.edge_attr_dict_factory@   	    $$r   r   Nr   r   r   r   r0   r   rZ   s   r   r1   rV   ?       % %r   r1   r   r2   r   r2   r   r   r   r   r2   rb   ra   r`   r   r2   )r4   r5   k3adjk3edgesk3nodesK3r;   r:   )rL   r1   ed1ed2ed3rZ   s        @r   rJ   TestThinGraph.setup_method<   s    !1	%bhh 	% 
&}# )#.>sCST
/ **,zzaaar   )r5   rh   re   rf   rg   NrO   r   r   r   rQ   rQ   ;   s    r   rQ   c                       \ rS rSrS rSrg)TestSpecialDiGraphQ   c                 Z    [         R                  " U 5        [        R                  U l        g rH   )_TestDiGraphrJ   r4   r6   r5   rK   s    r   rJ   TestSpecialDiGraph.setup_methodR   s    !!$'ZZ
r   rN   NrO   r   r   r   rn   rn   Q   s     r   rn   c                       \ rS rSrS rSrg)TestThinDiGraphW   c                 F  ^ SS0m " U4S jS[         R                  5      nXl        TTTpCnTTTpvnX#S.XES.XgS.S.U l        / S	QU l        / SQU l        U R                  5       U l        U R                  U R                  l        XFS.X'S.X5S.S.U R                  l        0 U R                  l	        0 U R                  R                  S
'   0 U R                  R                  S'   0 U R                  R                  S'   TTp2U R                  5       U l
        SU0SU00 S.U R                  l        0 S
U0SU0S.U R                  l        0 U R                  l	        0 U R                  R                  S
'   0 U R                  R                  S'   0 U R                  R                  S'   g )NrT   r   c                   "   > \ rS rSrU 4S jrSrg)-TestThinDiGraph.setup_method.<locals>.MyGraph[   c                    > T$ rH   r   rY   s    r   r0   DTestThinDiGraph.setup_method.<locals>.MyGraph.edge_attr_dict_factory\   r\   r   r   Nr]   r^   s   r   r1   rx   [   r_   r   r1   r`   ra   rb   rc   rd   r   r2   )r4   r6   r5   re   rf   rg   rh   r?   r>   r:   P3)	rL   r1   ri   rj   rk   ed4ed5ed6rZ   s	           @r   rJ   TestThinDiGraph.setup_methodX   s_   !1	%bjj 	% 
&}#&}# )#.>sCST
/ **,

 #,S1A#FVWaaa!=S**,H!Sb9As8C9aaar   )r5   rh   r|   re   rf   rg   NrO   r   r   r   rt   rt   W   s    r   rt   c                       \ rS rSrS rSrg)TestSpecialMultiGraphz   c                 Z    [         R                  " U 5        [        R                  U l        g rH   )_TestMultiGraphrJ   r4   r7   r5   rK   s    r   rJ   "TestSpecialMultiGraph.setup_method{   s    $$T*]]
r   rN   NrO   r   r   r   r   r   z   s    #r   r   c                       \ rS rSrS rSrg)TestSpecialMultiDiGraph   c                 Z    [         R                  " U 5        [        R                  U l        g rH   )_TestMultiDiGraphrJ   r4   r8   r5   rK   s    r   rJ   $TestSpecialMultiDiGraph.setup_method   s    &&t,__
r   rN   NrO   r   r   r   r   r      s    %r   r   )networkxr4   test_digraphr   r   rq   
test_graphr   r   rI   test_multidigraphr   r   test_multigraphr	   r   rC   rE   rQ   rn   rt   r   r   r   r   r   <module>r      sk     + 5 ' / D >'5Tz O ,    '  F#O #%/ %r   