
    h}                     V    S SK r S SKrS rS rS rS rS rS rS r	S	 r
S
 rS rS rg)    Nc                      [         R                  " / SQ5      n [         R                  R                  U SS9nUSSS.:X  d   e[         R                  R                  U SS9S   nUS:X  d   eg )Nr      r      )r   r   )r      )r      r
      F
normalizedg?UUUUUU?r   r   nxGraphrichclubrich_club_coefficient)Grcrc0s      Y/var/www/html/env/lib/python3.13/site-packages/networkx/algorithms/tests/test_richclub.pytest_richclubr      sk    
ABA		*	*1	*	?BY8,,,, ++
+
+A%
+
@
CC+    c                      [         R                  " / SQ5      n [         R                  R                  U SSS9nUSSS.:X  d   eg )Nr   r   r   Qseed      ?r   r   r   rcNorms     r   test_richclub_seedr"      s?    
ABA[[..qAA.>F%%%%r   c                      [         R                  " / SQ5      n [         R                  R                  U SSS9nUSSS.:X  d   eg )Nr   r   *   r   r   r   r   r    s     r   test_richclub_normalizedr%      s?    
ABA[[..qAB.?F%%%%r   c                      [         R                  " SS5      n [         R                  R                  U SS9nUSSSS.:X  d   eg )	Nr   
   Fr   g @ P?g@ `?g2<`?r   r   r   )r   balanced_treer   r   )Tr   s     r   test_richclub2r+      sM    
BA		*	*1	*	?B!""   r   c                      [         R                  " 5       n [         R                  " U SS9nU0 SS_SS_SS_S	S
_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_:X  d   eg )NFr   r   g)?r   g?r   gyy?r	   g?r
   gII?r   g10?         ?      	   r'   gUUUUUU?                       )r   karate_club_graphr   r   r   s     r   test_richclub3r:   &   s    
A		!	!!	6B 	<	< 	
; 	
:	
 	
9 	
9 	
9 	
9 	
9 	
8 	G 	G 	C 	C 	C  	C!   r   c                      [         R                  " 5       n U R                  / SQ5        [         R                  " U SS9nUSSSSS.:X  d   eg )N)	r   r   )r   r	   )r   r
   r   )r   r1   )r-   r1   )r/   r1   )r0   r1   Fr   g?r.   r4   )r   r   r   r	   )r   r   add_edges_fromr   r9   s     r   test_richclub4r=   >   sI    

AP 
	!	!!	6BY8<<<<r   c                      [         R                  " [        R                  5         [        R                  " 5       n [        R
                  " U 5        S S S 5        g ! , (       d  f       g = fN)pytestraisesr   NetworkXNotImplementedDiGraphr   r   s    r   test_richclub_exceptionrE   G   s9    	r00	1JJL
  # 
2	1	1   ,A
A(c                      [         R                  " [        R                  5         [        R                  " 5       n [        R
                  " U 5        S S S 5        g ! , (       d  f       g = fr?   )r@   rA   r   rB   
MultiGraphr   rD   s    r   test_rich_club_exception2rI   M   s9    	r00	1MMO
  # 
2	1	1rF   c                     [         R                  " 5       n U R                  SS5        U R                  SS5        [        R                  " [
        SS9   [         R                  " U 5        S S S 5        g ! , (       d  f       g = f)Nr   r   zDrich_club_coefficient is not implemented for graphs with self loops.match)r   r   add_edger@   rA   	Exceptionr   rD   s    r   test_rich_club_selflooprO   S   s[    

AJJq!JJq!	W
 	  #	
 
 
s   A33
Bc                     [         R                  " 5       n [         R                  " U SS9nU0 :X  d   e[        S5       H1  nU R	                  U5        [         R                  " U SS9nU0 :X  a  M1   e   [         R                  " 5       n U R                  SS5        [         R                  " U SS9nUSS0:X  d   e[         R                  " 5       n U R                  / SQ5        U R                  SS5        [         R                  " U SS9nUSS0:X  d   eU R                  SS5        [         R                  " U SS9nUSS0:X  d   eU R                  SS5        [         R                  " U SS9nUSSS	.:X  d   eg )
NFr   r	   r   r   r(   r   r   r   )r   r   r   rangeadd_noderM   add_nodes_fromr   r   is      r   'test_rich_club_leq_3_nodes_unnormalizedrV   ^   sP   

A		!	!!	6B8O81X	

1%%aE:Rxx  	
AJJq!		!	!!	6B!Q<< 	
AYJJq!		!	!!	6B!Q<< JJq!		!	!!	6B!U JJq!		!	!!	6BQ1r   c                     [         R                  " 5       n [        R                  " [         R                  R
                  SS9   [         R                  " U SS9nS S S 5        [        S5       H_  nU R                  U5        [        R                  " [         R                  R
                  SS9   [         R                  " U SS9nS S S 5        Ma     g ! , (       d  f       N}= f! , (       d  f       M  = f)NzGraph has fewer than four nodesrK   Tr   r	   )	r   r   r@   rA   	exceptionNetworkXErrorr   rQ   rR   rT   s      r   %test_rich_club_leq_3_nodes_normalizedrZ      s    

A	
""/
 %%aD9	
 1X	

1]]LL&&3
 ))!=B	
 
 
 

 
s   C-C!
C!
C0	)r@   networkxr   r   r"   r%   r+   r:   r=   rE   rI   rO   rV   rZ    r   r   <module>r]      sC     &&0=$$$ F>r   