
    9 jxK                        S SK r S SKrS rS rS r " S S5      rS rS rS	 r	S
 r
S rS rS r\ R                  R                  S\R                   \R"                  /5      S 5       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 " S S5      r " S S5      r " S  S!5      rg)"    Nc                  ~    [         R                  " / SQ5      n SSSSSSS.n[         R                  " U 5      U:X  d   eg )N)      r      r      r   r
   r      )r
      )r   r         ?UUUUUU?r   r   r   r
   r   r   nxGraphsquare_clusteringGexpecteds     w/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/networkx/algorithms/tests/test_cluster.py'test_square_clustering_adjacent_squaresr      s<    
IJA35UssCH"h...    c            
          [         R                  " SS5      n SSSSSSSSSS.	n[         R                  " U 5      U:X  d   eg )Nr   r   g      ?皙?)	r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   )r   grid_2d_graphr   r   s     r   test_square_clustering_2d_gridr%      sS    
AA 
H "h...r   c                      [         R                  " / SQ5      n U  Vs0 s H  oS_M     nn[         R                  " U 5      U:X  d   egs  snf )zcAn example where all nodes are part of all squares, but not every node
is connected to every other.)r   r    r   r   r   r   r
   r	   )r   r   r   r   r   Nr   )r   nr   s      r   4test_square_clustering_multiple_squares_non_completer+      sG     	QRA a1aH "h... !s   Ac                   ,    \ rS rSrS rS rS rS rSrg)TestTriangles&   c                     [         R                  " 5       n[        [         R                  " U5      R	                  5       5      / :X  d   eg N)r   r   list	trianglesvaluesselfr   s     r   
test_emptyTestTriangles.test_empty'   s1    HHJBLLO**,-333r   c                     [         R                  " S5      n[        [         R                  " U5      R	                  5       5      / SQ:X  d   e[         R                  " U5      SSSSSSSSSSS.
:X  d   eg N
   
r   r   r   r   r   r   r   r   r   r   r   
r   r   r   r   r
   r   r         	   )r   
path_graphr1   r2   r3   r4   s     r   	test_pathTestTriangles.test_path+   sr    MM"BLLO**,-1OOOO||A#
 
 	
 
r   c                    [         R                  " 5       n[        [         R                  " U5      R	                  5       5      / SQ:X  d   e[         R                  " US5      S:X  d   e[        [         R                  " USS/5      R	                  5       5      SS/:X  d   e[         R                  " US5      S:X  d   e[         R                  " USS/5      SSS.:X  d   eg Nr   r   r   r   r   r   r   r   r   r   r   r   )r   cubical_graphr1   r2   r3   r4   s     r   test_cubicalTestTriangles.test_cubical;   s    BLLO**,-1IIII||Aq!Q&&&BLLQF+2245!Q???||Aq!Q&&&||A1v&aA,666r   c                    [         R                  " S5      n[        [         R                  " U5      R	                  5       5      / SQ:X  d   e[        [         R                  " U5      R	                  5       5      S-  S:X  d   e[         R                  " US5      S:X  d   eUR                  SS5        [        [         R                  " U5      R	                  5       5      / SQ:X  d   e[         R                  " US5      S:X  d   eUR                  SS5        [        [         R                  " U5      R	                  5       5      / SQ:X  d   e[         R                  " US5      S:X  d   eg )	Nr   )r   r   r   r   r   r   r:   r   r   r   )r   r   r   r   r   )r   complete_graphr1   r2   r3   sumremove_edgeadd_edger4   s     r   test_k5TestTriangles.test_k5C   s   a BLLO**,-@@@2<<?))+,q0B666||Aq!Q&&&	aBLLO**,-@@@||Aq!Q&&&	

1aBLLO**,-@@@||Aq!Q&&&r    N)	__name__
__module____qualname____firstlineno__r6   rA   rG   rN   __static_attributes__rP   r   r   r-   r-   &   s    4
 7
'r   r-   c                      [         R                  " 5       n U R                  / SQ5        [        1 Sk5      1n[         R                  " U 5       Vs1 s H  n[        U5      iM     snU:X  d   eg s  snf )N))ab)rX   c)rY   rW   >   rW   rX   rY   r   r   add_edges_from	frozensetall_trianglesr   r   ts      r   $test_all_triangles_non_integer_nodesr`   P   s`    

A	
 /*+H"$"2"21"56"5QIaL"56(BBB6s   A.c                      [         R                  " 5       n U R                  / SQ5        [        1 Sk5      [        1 Sk5      1n[         R                  " U 5       Vs1 s H  n[        U5      iM     snU:X  d   eg s  snf )N)r   r   r"   r    r'   )r   r      r   r   r      r   r   r   rZ   r^   s      r   test_all_triangles_overlappingrd   ]   sg    

A	
	 )$i	&:;H"$"2"21"56"5QIaL"56(BBB6s   A:c                      [         R                  " 5       n U R                  / SQ5        [         R                  " U SS/S9 Vs1 s H  n[	        U5      iM     sn[	        1 Sk5      1:X  d   eg s  snf )N)r   r   r"   r'   r   r
   r   r   r   nbunchrb   )r   r   r[   r]   r\   )r   r_   s     r   test_all_triangles_subsetri   m   sk    

A	
	 #%"2"21aV"DE"DQIaL"DE)J   Es   A-c                      [         R                  " 5       n U R                  / SQ5        [        [         R                  " U S/S95      / :X  d   eg )N)r   r   r"   r'   r   rf   )r   r   r   rg   )r   r   r[   r1   r]   r   s    r   test_all_triangles_subset_emptyrl   ~   sD    

A	

   A3/0B666r   c                  z    [         R                  " S5      n [        [         R                  " U 5      5      / :X  d   eg )Nr
   )r   r@   r1   r]   rk   s    r   test_all_triangles_no_trianglesrn      s.    
aA  #$***r   c                  
   [         R                  " S5      n [        1 Sk5      [        1 Sk5      [        1 Sk5      [        1 Sk5      1n[         R                  " U 5       Vs1 s H  n[        U5      iM     snU:X  d   eg s  snf )Nr
   rb   >   r   r   r   rc   >   r   r   r   )r   rJ   r\   r]   r^   s      r   'test_all_triangles_complete_graph_exactrp      sn    
!A 	))))	H #%"2"21"56"5QIaL"56(BBB6s   !B c                     [         R                  " 5       n U R                  / SQ5        [        R                  " [         R
                  5         [        [         R                  " U 5      5        S S S 5        g ! , (       d  f       g = f)N)r   r   r"   )r   DiGraphr[   pytestraisesNetworkXNotImplementedr1   r]   rk   s    r   !test_all_triangles_directed_graphrv      sM    


A-.	r00	1Ra ! 
2	1	1s    A66
B
graph_typec                     U " 5       nUR                  / SQ5        [        R                  " U5       Vs1 s H  n[        U5      iM     sn[        1 Sk5      1:X  d   eg s  snf )N)r   r    r   r   rb   )r[   r   r]   r\   )rw   r   r_   s      r   test_all_triangles_multiedgesry      sQ    A56"$"2"21"56"5QIaL"569Y;O:PPPP6s   Ac                   ,    \ rS rSrS rS rS rS rSrg)TestDirectedClustering   c                     [         R                  " 5       n[        [         R                  " U5      R	                  5       5      / :X  d   e[         R                  " U5      0 :X  d   eg r0   r   rr   r1   
clusteringr3   r4   s     r   test_clustering&TestDirectedClustering.test_clustering   sI    JJLBMM!$++-."444}}Q2%%%r   c                 F   [         R                  " S[         R                  " 5       S9n[        [         R                  " U5      R                  5       5      / SQ:X  d   e[         R                  " U5      SSSSSSSSSSS.
:X  d   e[         R                  " US5      S:X  d   eg )Nr:   create_usingr;   r   r<   r   r@   rr   r1   r   r3   r4   s     r   rA    TestDirectedClustering.test_path   s    MM"2::<8BMM!$++-. 3
 
 	
 
 }}Q$
 
 	
 
 }}Q"a'''r   c                    [         R                  " S[         R                  " 5       S9n[        [         R                  " U5      R                  5       5      / SQ:X  d   e[         R                  " U5      S:X  d   eUR                  SS5        [        [         R                  " U5      R                  5       5      / SQ:X  d   e[         R                  " USS/5      SSS	.:X  d   eUR                  SS5        [        [         R                  " U5      R                  5       5      / S
Q:X  d   e[         R                  " USS/5      SSS	.:X  d   e[         R                  " US5      S:X  d   eg )Nr   r   r   r   r   r   r   r   r   UUUUUU?r   r   r   r   r
   r   r(   竪?r   r   r   r   r   r   rJ   rr   r1   r   r3   average_clusteringrL   r4   s     r   rN   TestDirectedClustering.test_k5   s2   abjjl;BMM!$++-./AAA$$Q'1,,,	aBMM!$++-. 3
 
 	
 
 }}QA'qW+====	aBMM!$++-. 3
 
 	
 
 }}QA'q5H+IIII}}Q"e+++r   c                     [         R                  " S[         R                  " 5       S9nUR                  SS5        [         R                  " U5      S   S:X  d   eg )Nr   r   r   r
   UUUUUU?)r   cycle_graphrr   rM   r   r4   s     r   test_triangle_and_edge-TestDirectedClustering.test_triangle_and_edge   sB    NN12::<8	

1a}}Q"e+++r   rP   N)	rQ   rR   rS   rT   r   rA   rN   r   rU   rP   r   r   r{   r{      s    &
(8,0,r   r{   c                   <    \ rS rSr\S 5       rS rS rS rS r	Sr
g)	TestDirectedWeightedClustering   c                 0    [         R                  " S5      qg Nnumpyrs   importorskipnpclss    r   setup_class*TestDirectedWeightedClustering.setup_class          )r   c                     [         R                  " 5       n[        [         R                  " USS9R	                  5       5      / :X  d   e[         R                  " U5      0 :X  d   eg Nweightr   r~   r4   s     r   r   .TestDirectedWeightedClustering.test_clustering   sK    JJLBMM!H5<<>?2EEE}}Q2%%%r   c                    [         R                  " S[         R                  " 5       S9n[        [         R                  " USS9R                  5       5      / SQ:X  d   e[         R                  " USS9SSSSSSSSSSS.
:X  d   eg )Nr:   r   r   r   r;   r   r<   r   r4   s     r   rA   (TestDirectedWeightedClustering.test_path   s    MM"2::<8BMM!H5<<>? D
 
 	
 
 }}Qx05
 
 	
 
r   c                    [         R                  " S[         R                  " 5       S9n[        [         R                  " USS9R                  5       5      / SQ:X  d   e[         R                  " USS9S:X  d   eUR                  SS5        [        [         R                  " USS9R                  5       5      / SQ:X  d   e[         R                  " USS	/SS9SS
S.:X  d   eUR                  SS5        [        [         R                  " USS9R                  5       5      / SQ:X  d   e[         R                  " USS	/SS9SSS.:X  d   eg )Nr   r   r   r   r   r   r   r   r
   r   r(   r   r   r   r4   s     r   rN   &TestDirectedWeightedClustering.test_k5  s0   abjjl;BMM!H5<<>??RRR$$Qx8A===	aBMM!H5<<>? D
 
 	
 
 }}QAx8g<NNNN	aBMM!H5<<>? D
 
 	
 
 }}QAx8"=
 
 	
 
r   c                    [         R                  " S[         R                  " 5       S9nUR                  SSSS9  [         R                  " U5      S   S:X  d   e[
        R                  R                  [         R                  " USS9S   S	5        [
        R                  R                  [         R                  " USSS9S	5        g )
Nr   r   r   r
   r   r   r   r   gUUUUUU?)r   r   rr   rM   r   r   testingassert_allcloser4   s     r   r   5TestDirectedWeightedClustering.test_triangle_and_edge.  s    NN12::<8	

1a
"}}Q"e+++


""2==8#DQ#GP


""2==Ah#GPr   rP   N)rQ   rR   rS   rT   classmethodr   r   rA   rN   r   rU   rP   r   r   r   r      s)    * *&

6
4Qr   r   c                   H    \ rS rSr\S 5       rS rS rS rS r	S r
S rS	rg
)TestWeightedClusteringi7  c                 0    [         R                  " S5      qg r   r   r   s    r   r   "TestWeightedClustering.setup_class8  r   r   c                     [         R                  " 5       n[        [         R                  " USS9R	                  5       5      / :X  d   e[         R                  " U5      0 :X  d   eg r   r   r   r1   r   r3   r4   s     r   r   &TestWeightedClustering.test_clustering=  sK    HHJBMM!H5<<>?2EEE}}Q2%%%r   c                     [         R                  " S5      n[        [         R                  " USS9R	                  5       5      / SQ:X  d   e[         R                  " USS9SSSSSSSSSSS.
:X  d   eg )Nr:   r   r   r;   r   r<   r   r@   r1   r   r3   r4   s     r   rA    TestWeightedClustering.test_pathB  s    MM"BMM!H5<<>? D
 
 	
 
 }}Qx05
 
 	
 
r   c                    [         R                  " 5       n[        [         R                  " USS9R	                  5       5      / SQ:X  d   e[         R                  " US5      S:X  d   e[        [         R                  " USS/SS9R	                  5       5      SS/:X  d   e[         R                  " USSS9S:X  d   e[         R                  " USS/SS9SSS.:X  d   eg )Nr   r   rE   r   r   r   r   r   rF   r1   r   r3   r4   s     r   rG   #TestWeightedClustering.test_cubical]  s    BMM!H5<<>? 	D
 	
 		
 	
 }}Q"a'''BMM!aVH=DDFGAq6QQQ}}Q(3q888}}QAx8aLHHHr   c                    [         R                  " S5      n[        [         R                  " USS9R	                  5       5      / SQ:X  d   e[         R
                  " USS9S:X  d   eUR                  SS5        [        [         R                  " USS9R	                  5       5      / SQ:X  d   e[         R                  " USS/SS9SS	S
.:X  d   eg )Nr   r   r   r   r   r   r   r
   r   r(   r   rJ   r1   r   r3   r   rL   r4   s     r   rN   TestWeightedClustering.test_k5n  s    a BMM!H5<<>??RRR$$Qx8A===	aBMM!H5<<>? D
 
 	
 
 }}QAx8"=
 
 	
 
r   c                 d   [         R                  " S5      nUR                  SSSS9  [         R                  " U5      S   S:X  d   e[        R
                  R                  [         R                  " USS9S   S5        [        R
                  R                  [         R                  " USSS9S5        g )	Nr   r   r
   r   r   r   r   r   )r   r   rM   r   r   r   r   r4   s     r   r   -TestWeightedClustering.test_triangle_and_edge  s    NN1	

1a
"}}Q"e+++


""2==8#DQ#GO


""2==Ah#GOr   c                     [         R                  " S5      nUR                  SSSS9  UR                  SSSS9  [         R                  " U5      S   S:X  d   e[         R                  " USS9S   S:X  d   eg )	Nr   r   r   r   r   r   UUUUUUտ)r   r   rM   r   r4   s     r   test_triangle_and_signed_edge4TestWeightedClustering.test_triangle_and_signed_edge  sn    NN1	

1a
#	

1a
"}}Q"e+++}}Qx03v===r   rP   N)rQ   rR   rS   rT   r   r   r   rA   rG   rN   r   r   rU   rP   r   r   r   r   7  s4    * *&

6I"
"P>r   r   c                   B    \ rS rSr\S 5       rS rS rS rS r	S r
Srg	)
TestClusteringi  c                 0    [         R                  " S5        g r   rs   r   r   s    r   r   TestClustering.setup_class      G$r   c                     [         R                  " 5       n[        [         R                  " U5      R	                  5       5      / :X  d   e[         R                  " U5      0 :X  d   eg r0   r   r4   s     r   r   TestClustering.test_clustering  sI    HHJBMM!$++-."444}}Q2%%%r   c                     [         R                  " S5      n[        [         R                  " U5      R	                  5       5      / SQ:X  d   e[         R                  " U5      SSSSSSSSSSS.
:X  d   eg r9   r   r4   s     r   rA   TestClustering.test_path  s~    MM"BMM!$++-. 3
 
 	
 
 }}Q$
 
 	
 
r   c                    [         R                  " 5       n[        [         R                  " U5      R	                  5       5      / SQ:X  d   e[         R                  " US5      S:X  d   e[        [         R                  " USS/5      R	                  5       5      SS/:X  d   e[         R                  " US5      S:X  d   e[         R                  " USS/5      SSS.:X  d   eg rD   r   r4   s     r   rG   TestClustering.test_cubical  s    BMM!$++-.2JJJJ}}Q"a'''BMM!aV,33561a&@@@}}Q"a'''}}QA'qQ<777r   c                    [         R                  " S5      n[        [         R                  " U5      R	                  5       5      / SQ:X  d   e[         R
                  " U5      S:X  d   eUR                  SS5        [        [         R                  " U5      R	                  5       5      / SQ:X  d   e[         R                  " USS/5      SSS.:X  d   eg )	Nr   r   r   r   r   r
   r   r(   r   r4   s     r   rN   TestClustering.test_k5  s    a BMM!$++-./AAA$$Q'1,,,	aBMM!$++-. 3
 
 	
 
 }}QA'q5H+IIIIr   c                    [         R                  " S5      n[        [         R                  " U5      R	                  5       5      / SQ:X  d   e[         R
                  " U5      S:X  d   eUR                  SS5        UR                  SSSS9  [        [         R                  " USS9R	                  5       5      / S	Q:X  d   eg )
Nr   r   r   r   r   r   r   r   )r   r   r   r   r   )r   rJ   r1   r   r3   r   rL   rM   r4   s     r   test_k5_signedTestClustering.test_k5_signed  s    a BMM!$++-./AAA$$Q'1,,,	a	

1a
#BMM!H5<<>? D
 
 	
 
r   rP   N)rQ   rR   rS   rT   r   r   r   rA   rG   rN   r   rU   rP   r   r   r   r     s.    % %&

68J
r   r   c                   ,    \ rS rSrS rS rS rS rSrg)TestTransitivityi  c                 f    [         R                  " 5       n[         R                  " U5      S:X  d   eg Nr   )r   r   transitivityr4   s     r   test_transitivity"TestTransitivity.test_transitivity  s$    HHJq!Q&&&r   c                 h    [         R                  " S5      n[         R                  " U5      S:X  d   eg )Nr:   r   )r   r@   r   r4   s     r   rA   TestTransitivity.test_path  s'    MM"q!Q&&&r   c                 f    [         R                  " 5       n[         R                  " U5      S:X  d   eg r   )r   rF   r   r4   s     r   rG   TestTransitivity.test_cubical  s'    q!Q&&&r   c                     [         R                  " S5      n[         R                  " U5      S:X  d   eUR                  SS5        [         R                  " U5      S:X  d   eg )Nr   r   r   g      ?)r   rJ   r   rL   r4   s     r   rN   TestTransitivity.test_k5  sN    a q!Q&&&	aq!U***r   rP   N)	rQ   rR   rS   rT   r   rA   rG   rN   rU   rP   r   r   r   r     s    '''+r   r   c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestSquareClusteringi  c                     [         R                  " 5       n[        [         R                  " U5      R	                  5       5      / :X  d   e[         R                  " U5      0 :X  d   eg r0   )r   r   r1   r   r3   r4   s     r   r   $TestSquareClustering.test_clustering  sM    HHJB((+2245;;;##A&",,,r   c                     [         R                  " S5      n[        [         R                  " U5      R	                  5       5      / SQ:X  d   e[         R                  " U5      SSSSSSSSSSS.
:X  d   eg r9   )r   r@   r1   r   r3   r4   s     r   rA   TestSquareClustering.test_path  s    MM"B((+2245 :
 
 	
 
 ##A&+
 
 	
 
r   c                    [         R                  " 5       n[        [         R                  " U5      R	                  5       5      / SQ:X  d   e[        [         R                  " USS/5      R	                  5       5      SS/:X  d   e[         R                  " US/5      S   S:X  d   e[         R                  " US5      S:X  d   e[         R                  " USS/5      SSS.:X  d   eg )N)r   r   r   r   r   r   r   r   r   r   r   r   )r   rF   r1   r   r3   r4   s     r   rG   !TestSquareClustering.test_cubical  s    B((+2245 	:
 	
 		
 	
 B((QF3::<=%OOO##As+A.%777##Aq)U222##A1v.e2FFFFr   c                     [         R                  " S5      n[        [         R                  " U5      R	                  5       5      / SQ:X  d   eg )Nr   r   )r   rJ   r1   r   r3   r4   s     r   rN   TestSquareClustering.test_k5  s9    a B((+2245HHHr   c                     [         R                  " SS5      n[        [         R                  " U5      R	                  5       5      / SQ:X  d   eg )Nr   )
r   r   r   r   r   r   r   r   r   r   )r   complete_bipartite_graphr1   r   r3   r4   s     r   test_bipartite_k5&TestSquareClustering.test_bipartite_k5"  s<    ''1-B((+22459WWWWr   c                 F   [         R                  " / SQ5      nUR                  / SQ5      nUR                  / SQ5      n[         R                  " US/5      S   S:X  d   e[         R                  " US/5      S   S:X  d   e[         R                  " US/5      S   S:X  d   eg)	z&Test C4 for figure 1 Lind et al (2005))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   r=   r>   r?   r:   r   r   r   gwqGܱ?r   r   N)r   r   subgraphr   )r5   r   G1G2s       r   test_lind_square_clustering0TestSquareClustering.test_lind_square_clustering&  s    HH
. ZZ78ZZ34##As+A.&888##B,Q/5888##B,Q/5888r   c                 ~    [         R                  " / SQ5      nSSSSSSS.n[         R                  " U5      U:X  d   eg)z'Test eq2 for figure 1 Peng et al (2008))r   r   r	   r   r   )r   r   r   r   r   r   r   Nr   )r5   r   r   s      r   test_peng_square_clustering0TestSquareClustering.test_peng_square_clusteringE  s>     HHEFsuqA##A&(222r   c                     [         R                  " S5      n[         R                  " U5      SSSSSS.:X  d   eUR                  / SQ5        [         R                  " U5      SSSSSS.:X  d   eg )Nr   r   r   r   r   r   r
   )r   r!   r#   )r   r@   r   r[   r4   s     r   !test_self_loops_square_clustering6TestSquareClustering.test_self_loops_square_clusteringM  sg    MM!##A&aA!a*HHHH	12##A&aA!a*HHHHr   rP   N)rQ   rR   rS   rT   r   rA   rG   rN   r   r   r  r  rU   rP   r   r   r   r     s.    -

6G"IX9>3Ir   r   c                   6    \ rS rSr\S 5       rS rS rS rSr	g)TestAverageClusteringiT  c                 0    [         R                  " S5        g r   r   r   s    r   r   !TestAverageClustering.setup_classU  r   r   c                     [         R                  " 5       n[        R                  " [        5         [         R
                  " U5        S S S 5        g ! , (       d  f       g = fr0   )r   r   rs   rt   ZeroDivisionErrorr   r4   s     r   r6    TestAverageClustering.test_emptyY  s4    HHJ]],-!!!$ .--   A
Ac                    [         R                  " S5      nUR                  SS5        [         R                  " U5      S:X  d   e[         R                  " USS9S:X  d   e[         R                  " USS9S:X  d   e[         R                  " U/ SQ5      S	:X  d   e[         R                  " U/ SQSS9S	:X  d   e[         R                  " U/ SQSS9S
:X  d   eg )Nr   r   g?Tcount_zerosFg98?r   r   r   gqq?gUUUUUU?r   r   rM   r   r4   s     r   test_average_clustering-TestAverageClustering.test_average_clustering^  s    NN1	

1a$$Q'+>>>>$$QD9=PPPP$$QE:>QQQQ$$Q	2oEEE$$Q	tDWWW$$Q	uEXXXr   c                    [         R                  " S5      nUR                  SS5        UR                  SSSS9  [         R                  " USS9S:X  d   e[         R                  " USS	S
9S:X  d   e[         R                  " USSS
9S:X  d   eg )Nr   r   r   r   r   r   r   gT)r   r  Fg98r  r4   s     r   test_average_clustering_signed4TestAverageClustering.test_average_clustering_signedh  s    NN1	

1a	

1a
#$$Qx8<PPPP!!!H$G#$	
$ !!!H%H#$	
$r   rP   N)
rQ   rR   rS   rT   r   r   r6   r  r  rU   rP   r   r   r  r  T  s$    % %%
Y
r   r  c                   0    \ rS rSr\S 5       rS rS rSrg)TestDirectedAverageClusteringiw  c                 0    [         R                  " S5        g r   r   r   s    r   r   )TestDirectedAverageClustering.setup_classx  r   r   c                     [         R                  " 5       n[        R                  " [        5         [         R
                  " U5        S S S 5        g ! , (       d  f       g = fr0   )r   rr   rs   rt   r  r   r4   s     r   r6   (TestDirectedAverageClustering.test_empty|  s4    JJL]],-!!!$ .--r  c                    [         R                  " S[         R                  " 5       S9nUR                  SS5        [         R                  " U5      S:X  d   e[         R                  " USS9S:X  d   e[         R                  " USS9S:X  d   e[         R                  " U/ S	Q5      S
:X  d   e[         R                  " U/ S	QSS9S
:X  d   e[         R                  " U/ S	QSS9S:X  d   eg )Nr   r   r   g?Tr  Fg98?r  gqq?r   )r   r   rr   rM   r   r4   s     r   r  5TestDirectedAverageClustering.test_average_clustering  s    NN12::<8	

1a$$Q'+>>>>$$QD9=PPPP$$QE:>QQQQ$$Q	2oEEE$$Q	tDWWW$$Q	uEXXXr   rP   N)	rQ   rR   rS   rT   r   r   r6   r  rU   rP   r   r   r  r  w  s    % %%
Yr   r  c                   ,    \ rS rSrS rS rS rS rSrg)TestGeneralizedDegreei  c                 f    [         R                  " 5       n[         R                  " U5      0 :X  d   eg r0   )r   r   generalized_degreer4   s     r   test_generalized_degree-TestGeneralizedDegree.test_generalized_degree  s&    HHJ$$Q'2---r   c                     [         R                  " S5      n[         R                  " US5      SS0:X  d   e[         R                  " US5      SS0:X  d   eg )Nr   r   r   r   )r   r@   r$  r4   s     r   rA   TestGeneralizedDegree.test_path  sN    MM!$$Q*q!f444$$Q*q!f444r   c                 l    [         R                  " 5       n[         R                  " US5      SS0:X  d   eg )Nr   r   )r   rF   r$  r4   s     r   rG   "TestGeneralizedDegree.test_cubical  s/    $$Q*q!f444r   c                 |   [         R                  " S5      n[         R                  " US5      SS0:X  d   eUR                  SS5        [         R                  " US5      SS0:X  d   e[         R                  " USS/5      SS0SSS.S.:X  d   e[         R                  " U5      SS0SS0SSS.SSS.SSS.S	.:X  d   eg )
Nr   r   r   r
   r   r   r'   r   r  )r   rJ   r$  rL   r4   s     r   rN   TestGeneralizedDegree.test_k5  s    a $$Q*q!f444	a$$Q*q!f444$$QA/1vaA,3OOOO$$Q'1v1v|||,
 
 	
 
r   rP   N)	rQ   rR   rS   rT   r%  rA   rG   rN   rU   rP   r   r   r"  r"    s    .5
5
r   r"  )rs   networkxr   r   r%   r+   r-   r`   rd   ri   rl   rn   rp   rv   markparametrizer   
MultiGraphry   r{   r   r   r   r   r   r  r  r"  rP   r   r   <module>r1     s     //"/'' ''T
CC "7 +

C" "--'@AQ BQ=, =,@FQ FQRT> T>nG
 G
T+ +(eI eIP 
  
FY Y*
 
r   