
    ܛ7ixK                        d dl Z d dlZd Zd Zd Z G d d      Zd Zd Zd	 Z	d
 Z
d Zd Zd Ze j                  j                  dej                   ej"                  g      d        Z G d d      Z G d d      Z G d d      Z G d d      Z G d d      Z G d d      Z G d d      Z G d d      Z G d  d!      Zy)"    Nc                  x    t        j                  g d      } ddddddd}t        j                  |       |k(  sJ y )N)      r      r      r   r
   r      )r
      )r   r         ?UUUUUU?r   r   r   r
   r   r   nxGraphsquare_clusteringGexpecteds     c/home/rose/Desktop/poly/venv/lib/python3.12/site-packages/networkx/algorithms/tests/test_cluster.py'test_square_clustering_adjacent_squaresr      s<    
IJA35UssCH"h...    c            
      |    t        j                  dd      } dddddddddd	}t        j                  |       |k(  sJ y )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                      t        j                  g d      } | D ci c]  }|d }}t        j                  |       |k(  sJ yc c}w )zgAn 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+      sI     	QRA a1aH "h... !s   
Ac                   $    e Zd Zd Zd Zd Zd Zy)TestTrianglesc                     t        j                         }t        t        j                  |      j	                               g k(  sJ y N)r   r   list	trianglesvaluesselfr   s     r   
test_emptyzTestTriangles.test_empty'   s1    HHJBLLO**,-333r   c                     t        j                  d      }t        t        j                  |      j	                               g dk(  sJ t        j                  |      ddddddddddd
k(  sJ y N
   
r   r   r   r   r   r   r   r   r   r   r   
r   r   r   r   r
   r   r         	   )r   
path_graphr0   r1   r2   r3   s     r   	test_pathzTestTriangles.test_path+   sr    MM"BLLO**,-1OOOO||A#
 
 	
 
r   c                    t        j                         }t        t        j                  |      j	                               g dk(  sJ t        j                  |d      dk(  sJ t        t        j                  |ddg      j	                               ddgk(  sJ t        j                  |d      dk(  sJ t        j                  |ddg      dddk(  sJ y Nr   r   r   r   r   r   r   r   r   r   r   r   )r   cubical_graphr0   r1   r2   r3   s     r   test_cubicalz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                    t        j                  d      }t        t        j                  |      j	                               g dk(  sJ t        t        j                  |      j	                               dz  dk(  sJ t        j                  |d      dk(  sJ |j                  dd       t        t        j                  |      j	                               g dk(  sJ t        j                  |d      dk(  sJ |j                  dd       t        t        j                  |      j	                               g dk(  sJ t        j                  |d      dk(  sJ y )	Nr   )r   r   r   r   r   r   r8   r   r   r   )r   r   r   r   r   )r   complete_graphr0   r1   r2   sumremove_edgeadd_edger3   s     r   test_k5z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__r5   r?   rD   rJ    r   r   r-   r-   &   s    4
 7
'r   r-   c                      t        j                         } | j                  g d       t        h d      h}t        j                  |       D ch c]  }t        |       c}|k(  sJ y c c}w )N))ab)rQ   c)rR   rP   >   rP   rQ   rR   r   r   add_edges_from	frozensetall_trianglesr   r   ts      r   $test_all_triangles_non_integer_nodesrY   P   s`    

A	
 /*+H"$"2"21"56"5QIaL"56(BBB6s   A(c                      t        j                         } | j                  g d       t        h d      t        h d      h}t        j                  |       D ch c]  }t        |       c}|k(  sJ y c c}w )N)r   r   r"   r    r'   )r   r      r   r   r      r   r   r   rS   rW   s      r   test_all_triangles_overlappingr]   ]   sg    

A	
	 )$i	&:;H"$"2"21"56"5QIaL"56(BBB6s   A4c                      t        j                         } | j                  g d       t        j                  | ddg      D ch c]  }t	        |       c}t	        h d      hk(  sJ y c c}w )N)r   r   r"   r'   r   r
   r   r   r   nbunchr[   )r   r   rT   rV   rU   )r   rX   s     r   test_all_triangles_subsetrb   m   sk    

A	
	 #%"2"21aV"DE"DQIaL"DE)J   Es   A*c                      t        j                         } | j                  g d       t        t        j                  | dg            g k(  sJ y )N)r   r   r"   r'   r   r_   )r   r   r   r`   )r   r   rT   r0   rV   r   s    r   test_all_triangles_subset_emptyre   ~   sD    

A	

   A3/0B666r   c                  t    t        j                  d      } t        t        j                  |             g k(  sJ y )Nr
   )r   r>   r0   rV   rd   s    r   test_all_triangles_no_trianglesrg      s.    
aA  #$***r   c                      t        j                  d      } t        h d      t        h d      t        h d      t        h d      h}t        j                  |       D ch c]  }t        |       c}|k(  sJ y c c}w )Nr
   r[   >   r   r   r   r\   >   r   r   r   )r   rF   rU   rV   rW   s      r   'test_all_triangles_complete_graph_exactri      sn    
!A 	))))	H #%"2"21"56"5QIaL"56(BBB6s   A:c                      t        j                         } | j                  g d       t        j                  t         j
                        5  t        t        j                  |              d d d        y # 1 sw Y   y xY w)N)r   r   r"   )r   DiGraphrT   pytestraisesNetworkXNotImplementedr0   rV   rd   s    r   !test_all_triangles_directed_graphro      sM    


A-.	r00	1Ra ! 
2	1	1s   A33A<
graph_typec                      |        }|j                  g d       t        j                  |      D ch c]  }t        |       c}t        h d      hk(  sJ y c c}w )N)r   r    r   r   r[   )rT   r   rV   rU   )rp   r   rX   s      r   test_all_triangles_multiedgesrr      sQ    A56"$"2"21"56"5QIaL"569Y;O:PPPP6s   Ac                   $    e Zd Zd Zd Zd Zd Zy)TestDirectedClusteringc                     t        j                         }t        t        j                  |      j	                               g k(  sJ t        j                  |      i k(  sJ y r/   r   rk   r0   
clusteringr2   r3   s     r   test_clusteringz&TestDirectedClustering.test_clustering   sI    JJLBMM!$++-."444}}Q2%%%r   c                 <   t        j                  dt        j                               }t        t        j                  |      j                               g dk(  sJ t        j                  |      ddddddddddd
k(  sJ t        j                  |d      dk(  sJ y )Nr8   create_usingr9   r   r:   r   r>   rk   r0   rw   r2   r3   s     r   r?   z TestDirectedClustering.test_path   s    MM"2::<8BMM!$++-. 3
 
 	
 
 }}Q$
 
 	
 
 }}Q"a'''r   c                    t        j                  dt        j                               }t        t        j                  |      j                               g dk(  sJ t        j                  |      dk(  sJ |j                  dd       t        t        j                  |      j                               g dk(  sJ t        j                  |ddg      ddd	k(  sJ |j                  dd       t        t        j                  |      j                               g d
k(  sJ t        j                  |ddg      ddd	k(  sJ t        j                  |d      dk(  sJ y )Nr   rz   r   r   r   r   r   r   r   UUUUUU?r   r   r   r   r
   r   r(   竪?r   r   r   r   r   r   rF   rk   r0   rw   r2   average_clusteringrH   r3   s     r   rJ   z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                     t        j                  dt        j                               }|j                  dd       t        j                  |      d   dk(  sJ y )Nr   rz   r   r
   UUUUUU?)r   cycle_graphrk   rI   rw   r3   s     r   test_triangle_and_edgez-TestDirectedClustering.test_triangle_and_edge   sB    NN12::<8	

1a}}Q"e+++r   N)rK   rL   rM   rx   r?   rJ   r   rN   r   r   rt   rt      s    &
(8,0,r   rt   c                   4    e Zd Zed        Zd Zd Zd Zd Zy)TestDirectedWeightedClusteringc                 .    t        j                  d      ay Nnumpyrl   importorskipnpclss    r   setup_classz*TestDirectedWeightedClustering.setup_class          )r   c                     t        j                         }t        t        j                  |d      j	                               g k(  sJ t        j                  |      i k(  sJ y Nweightr   rv   r3   s     r   rx   z.TestDirectedWeightedClustering.test_clustering   sK    JJLBMM!H5<<>?2EEE}}Q2%%%r   c                    t        j                  dt        j                               }t        t        j                  |d      j                               g dk(  sJ t        j                  |d      ddddddddddd
k(  sJ y )Nr8   rz   r   r   r9   r   r:   r|   r3   s     r   r?   z(TestDirectedWeightedClustering.test_path   s    MM"2::<8BMM!H5<<>? D
 
 	
 
 }}Qx05
 
 	
 
r   c                    t        j                  dt        j                               }t        t        j                  |d      j                               g dk(  sJ t        j                  |d      dk(  sJ |j                  dd       t        t        j                  |d      j                               g dk(  sJ t        j                  |dd	gd      dd
dk(  sJ |j                  dd       t        t        j                  |d      j                               g dk(  sJ t        j                  |dd	gd      dddk(  sJ y )Nr   rz   r   r   r~   r   r   r   r
   r   r(   r   r   r   r3   s     r   rJ   z&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                    t        j                  dt        j                               }|j                  ddd       t        j                  |      d   dk(  sJ t
        j                  j                  t        j                  |d      d   d	       t
        j                  j                  t        j                  |dd      d	       y )
Nr   rz   r   r
   r   r   r   r   gUUUUUU?)r   r   rk   rI   rw   r   testingassert_allcloser3   s     r   r   z5TestDirectedWeightedClustering.test_triangle_and_edge.  s    NN12::<8	

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


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


""2==Ah#GPr   N)	rK   rL   rM   classmethodr   rx   r?   rJ   r   rN   r   r   r   r      s)    * *&

6
4Qr   r   c                   @    e Zd Zed        Zd Zd Zd Zd Zd Z	d Z
y)	TestWeightedClusteringc                 .    t        j                  d      ay r   r   r   s    r   r   z"TestWeightedClustering.setup_class8  r   r   c                     t        j                         }t        t        j                  |d      j	                               g k(  sJ t        j                  |      i k(  sJ y r   r   r   r0   rw   r2   r3   s     r   rx   z&TestWeightedClustering.test_clustering=  sK    HHJBMM!H5<<>?2EEE}}Q2%%%r   c                     t        j                  d      }t        t        j                  |d      j	                               g dk(  sJ t        j                  |d      ddddddddddd
k(  sJ y )Nr8   r   r   r9   r   r:   r   r>   r0   rw   r2   r3   s     r   r?   z TestWeightedClustering.test_pathB  s    MM"BMM!H5<<>? D
 
 	
 
 }}Qx05
 
 	
 
r   c                    t        j                         }t        t        j                  |d      j	                               g dk(  sJ t        j                  |d      dk(  sJ t        t        j                  |ddgd      j	                               ddgk(  sJ t        j                  |dd      dk(  sJ t        j                  |ddgd      dddk(  sJ y )Nr   r   rB   r   r   r   r   r   rC   r0   rw   r2   r3   s     r   rD   z#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                    t        j                  d      }t        t        j                  |d      j	                               g dk(  sJ t        j
                  |d      dk(  sJ |j                  dd       t        t        j                  |d      j	                               g dk(  sJ t        j                  |ddgd      dd	d
k(  sJ y )Nr   r   r   r~   r   r   r   r
   r   r(   r   rF   r0   rw   r2   r   rH   r3   s     r   rJ   zTestWeightedClustering.test_k5n  s    a BMM!H5<<>??RRR$$Qx8A===	aBMM!H5<<>? D
 
 	
 
 }}QAx8"=
 
 	
 
r   c                 l   t        j                  d      }|j                  ddd       t        j                  |      d   dk(  sJ t        j
                  j                  t        j                  |d      d   d       t        j
                  j                  t        j                  |dd      d       y )	Nr   r   r
   r   r   r   r   r   )r   r   rI   rw   r   r   r   r3   s     r   r   z-TestWeightedClustering.test_triangle_and_edge  s    NN1	

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


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


""2==Ah#GOr   c                     t        j                  d      }|j                  ddd       |j                  ddd       t        j                  |      d   dk(  sJ t        j                  |d      d   dk(  sJ y )	Nr   r   r   r   r   r   UUUUUUտ)r   r   rI   rw   r3   s     r   test_triangle_and_signed_edgez4TestWeightedClustering.test_triangle_and_signed_edge  sn    NN1	

1a
#	

1a
"}}Q"e+++}}Qx03v===r   N)rK   rL   rM   r   r   rx   r?   rD   rJ   r   r   rN   r   r   r   r   7  s4    * *&

6I"
"P>r   r   c                   :    e Zd Zed        Zd Zd Zd Zd Zd Z	y)TestClusteringc                 .    t        j                  d       y r   rl   r   r   s    r   r   zTestClustering.setup_class      G$r   c                     t        j                         }t        t        j                  |      j	                               g k(  sJ t        j                  |      i k(  sJ y r/   r   r3   s     r   rx   zTestClustering.test_clustering  sI    HHJBMM!$++-."444}}Q2%%%r   c                     t        j                  d      }t        t        j                  |      j	                               g dk(  sJ t        j                  |      ddddddddddd
k(  sJ y r7   r   r3   s     r   r?   zTestClustering.test_path  s~    MM"BMM!$++-. 3
 
 	
 
 }}Q$
 
 	
 
r   c                    t        j                         }t        t        j                  |      j	                               g dk(  sJ t        j                  |d      dk(  sJ t        t        j                  |ddg      j	                               ddgk(  sJ t        j                  |d      dk(  sJ t        j                  |ddg      dddk(  sJ y rA   r   r3   s     r   rD   z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                    t        j                  d      }t        t        j                  |      j	                               g dk(  sJ t        j
                  |      dk(  sJ |j                  dd       t        t        j                  |      j	                               g dk(  sJ t        j                  |ddg      dddk(  sJ y )	Nr   r~   r   r   r   r
   r   r(   r   r3   s     r   rJ   zTestClustering.test_k5  s    a BMM!$++-./AAA$$Q'1,,,	aBMM!$++-. 3
 
 	
 
 }}QA'q5H+IIIIr   c                 ~   t        j                  d      }t        t        j                  |      j	                               g dk(  sJ t        j
                  |      dk(  sJ |j                  dd       |j                  ddd       t        t        j                  |d      j	                               g d	k(  sJ y )
Nr   r~   r   r   r   r   r   r   )r   r   r   r   r   )r   rF   r0   rw   r2   r   rH   rI   r3   s     r   test_k5_signedzTestClustering.test_k5_signed  s    a BMM!$++-./AAA$$Q'1,,,	a	

1a
#BMM!H5<<>? D
 
 	
 
r   N)
rK   rL   rM   r   r   rx   r?   rD   rJ   r   rN   r   r   r   r     s.    % %&

68J
r   r   c                   $    e Zd Zd Zd Zd Zd Zy)TestTransitivityc                 `    t        j                         }t        j                  |      dk(  sJ y Nr   )r   r   transitivityr3   s     r   test_transitivityz"TestTransitivity.test_transitivity  s$    HHJq!Q&&&r   c                 b    t        j                  d      }t        j                  |      dk(  sJ y )Nr8   r   )r   r>   r   r3   s     r   r?   zTestTransitivity.test_path  s'    MM"q!Q&&&r   c                 `    t        j                         }t        j                  |      dk(  sJ y r   )r   rC   r   r3   s     r   rD   zTestTransitivity.test_cubical  s'    q!Q&&&r   c                     t        j                  d      }t        j                  |      dk(  sJ |j                  dd       t        j                  |      dk(  sJ y )Nr   r   r   g      ?)r   rF   r   rH   r3   s     r   rJ   zTestTransitivity.test_k5  sN    a q!Q&&&	aq!U***r   N)rK   rL   rM   r   r?   rD   rJ   rN   r   r   r   r     s    '''+r   r   c                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
TestSquareClusteringc                     t        j                         }t        t        j                  |      j	                               g k(  sJ t        j                  |      i k(  sJ y r/   )r   r   r0   r   r2   r3   s     r   rx   z$TestSquareClustering.test_clustering  sM    HHJB((+2245;;;##A&",,,r   c                     t        j                  d      }t        t        j                  |      j	                               g dk(  sJ t        j                  |      ddddddddddd
k(  sJ y r7   )r   r>   r0   r   r2   r3   s     r   r?   zTestSquareClustering.test_path  s    MM"B((+2245 :
 
 	
 
 ##A&+
 
 	
 
r   c                    t        j                         }t        t        j                  |      j	                               g dk(  sJ t        t        j                  |ddg      j	                               ddgk(  sJ t        j                  |dg      d   dk(  sJ t        j                  |d      dk(  sJ t        j                  |ddg      dddk(  sJ y )N)r   r   r   r   r   r   r   r   r   r   r   r   )r   rC   r0   r   r2   r3   s     r   rD   z!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                     t        j                  d      }t        t        j                  |      j	                               g dk(  sJ y )Nr   r~   )r   rF   r0   r   r2   r3   s     r   rJ   zTestSquareClustering.test_k5  s9    a B((+2245HHHr   c                     t        j                  dd      }t        t        j                  |      j	                               g dk(  sJ y )Nr   )
r   r   r   r   r   r   r   r   r   r   )r   complete_bipartite_graphr0   r   r2   r3   s     r   test_bipartite_k5z&TestSquareClustering.test_bipartite_k5"  s<    ''1-B((+22459WWWWr   c                 8   t        j                  g d      }|j                  g d      }|j                  g d      }t        j                  |dg      d   dk(  sJ t        j                  |dg      d   dk(  sJ t        j                  |dg      d   dk(  sJ y)	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;   r8   )r      )r      )r      )r      )r      )r      )	r   r   r   r
   r   r   r   r   r   )r   r   r;   r<   r=   r8   r   r   r   gwqGܱ?r   r   N)r   r   subgraphr   )r4   r   G1G2s       r   test_lind_square_clusteringz0TestSquareClustering.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                 x    t        j                  g d      }ddddddd}t        j                  |      |k(  sJ y)z'Test eq2 for figure 1 Peng et al (2008))r   r   r	   r   r   )r   r   r   r   r   r   r   Nr   )r4   r   r   s      r   test_peng_square_clusteringz0TestSquareClustering.test_peng_square_clusteringE  s>     HHEFsuqA##A&(222r   c                     t        j                  d      }t        j                  |      ddddddk(  sJ |j                  g d       t        j                  |      ddddddk(  sJ y )Nr   r   r   r   r   r   r
   )r   r!   r#   )r   r>   r   rT   r3   s     r   !test_self_loops_square_clusteringz6TestSquareClustering.test_self_loops_square_clusteringM  sg    MM!##A&aA!a*HHHH	12##A&aA!a*HHHHr   N)rK   rL   rM   rx   r?   rD   rJ   r   r   r   r   rN   r   r   r   r     s.    -

6G"IX9>3Ir   r   c                   .    e Zd Zed        Zd Zd Zd Zy)TestAverageClusteringc                 .    t        j                  d       y r   r   r   s    r   r   z!TestAverageClustering.setup_classU  r   r   c                     t        j                         }t        j                  t              5  t        j
                  |       d d d        y # 1 sw Y   y xY wr/   )r   r   rl   rm   ZeroDivisionErrorr   r3   s     r   r5   z TestAverageClustering.test_emptyY  s4    HHJ]],-!!!$ .--   AAc                    t        j                  d      }|j                  dd       t        j                  |      dk(  sJ t        j                  |d      dk(  sJ t        j                  |d      dk(  sJ t        j                  |g d      d	k(  sJ t        j                  |g dd      d	k(  sJ t        j                  |g dd      d
k(  sJ y )Nr   r   g?Tcount_zerosFg98?r   r   r   gqq?gUUUUUU?r   r   rI   r   r3   s     r   test_average_clusteringz-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                 &   t        j                  d      }|j                  dd       |j                  ddd       t        j                  |d      dk(  sJ t        j                  |dd	
      dk(  sJ t        j                  |dd
      dk(  sJ y )Nr   r   r   r   r   r   r   gT)r   r   Fg98r   r3   s     r   test_average_clustering_signedz4TestAverageClustering.test_average_clustering_signedh  s    NN1	

1a	

1a
#$$Qx8<PPPP!!!H$G#$	
$ !!!H%H#$	
$r   N)rK   rL   rM   r   r   r5   r   r   rN   r   r   r   r   T  s$    % %%
Y
r   r   c                   (    e Zd Zed        Zd Zd Zy)TestDirectedAverageClusteringc                 .    t        j                  d       y r   r   r   s    r   r   z)TestDirectedAverageClustering.setup_classx  r   r   c                     t        j                         }t        j                  t              5  t        j
                  |       d d d        y # 1 sw Y   y xY wr/   )r   rk   rl   rm   r   r   r3   s     r   r5   z(TestDirectedAverageClustering.test_empty|  s4    JJL]],-!!!$ .--r   c                    t        j                  dt        j                               }|j                  dd       t        j                  |      dk(  sJ t        j                  |d      dk(  sJ t        j                  |d      dk(  sJ t        j                  |g d	      d
k(  sJ t        j                  |g d	d      d
k(  sJ t        j                  |g d	d      dk(  sJ y )Nr   rz   r   g?Tr   Fg98?r   gqq?r   )r   r   rk   rI   r   r3   s     r   r   z5TestDirectedAverageClustering.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   N)rK   rL   rM   r   r   r5   r   rN   r   r   r   r   w  s    % %%
Yr   r   c                   $    e Zd Zd Zd Zd Zd Zy)TestGeneralizedDegreec                 `    t        j                         }t        j                  |      i k(  sJ y r/   )r   r   generalized_degreer3   s     r   test_generalized_degreez-TestGeneralizedDegree.test_generalized_degree  s&    HHJ$$Q'2---r   c                     t        j                  d      }t        j                  |d      ddik(  sJ t        j                  |d      ddik(  sJ y )Nr   r   r   r   )r   r>   r   r3   s     r   r?   zTestGeneralizedDegree.test_path  sN    MM!$$Q*q!f444$$Q*q!f444r   c                 f    t        j                         }t        j                  |d      ddik(  sJ y )Nr   r   )r   rC   r   r3   s     r   rD   z"TestGeneralizedDegree.test_cubical  s/    $$Q*q!f444r   c                 j   t        j                  d      }t        j                  |d      ddik(  sJ |j                  dd       t        j                  |d      ddik(  sJ t        j                  |ddg      ddiddddk(  sJ t        j                  |      ddiddidddddddddd	k(  sJ y )
Nr   r   r   r
   r   r   r'   r   r   )r   rF   r   rH   r3   s     r   rJ   z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   N)rK   rL   rM   r   r?   rD   rJ   rN   r   r   r   r     s    .5
5
r   r   )rl   networkxr   r   r%   r+   r-   rY   r]   rb   re   rg   ri   ro   markparametrizer   
MultiGraphrr   rt   r   r   r   r   r   r   r   r   rN   r   r   <module>r      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   