o
    h}                     @   sl   d dl Z d dlZdd Zdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dd Zdd Zdd ZdS )    Nc                  C   sT   t g d} t jj| dd}|dddksJ t jj| ddd }|dks(J d S )Nr      r      )r   r   )r      )r      r      F
normalizedg?UUUUUU?r   r   nxGraphrichclubrich_club_coefficient)Grcrc0 r   [/var/www/vscode/kcb/lib/python3.10/site-packages/networkx/algorithms/tests/test_richclub.pytest_richclub   s
   r   c                  C   6   t g d} t jj| ddd}|dddksJ d S )Nr   r   r   Qseed      ?r   r   r   rcNormr   r   r   test_richclub_seed      r    c                  C   r   )Nr   r   *   r   r   r   r   r   r   r   r   test_richclub_normalized   r!   r#   c                  C   s4   t dd} t jj| dd}|ddddksJ d S )	Nr   
   Fr   g @ P?g@ `?g2<`?r   r   r   )r   balanced_treer   r   )Tr   r   r   r   test_richclub2   s   r(   c                  C   s   t  } t j| dd}|i ddddddd	d
ddddddddddddddddddddddddksAJ d S )NFr   r   g)?r   g?r   gyy?r   g?r   gII?r
   g10?         ?      	   r$   gUUUUUU?                       )r   karate_club_graphr   r   r   r   r   r   test_richclub3&   sF   	
r6   c                  C   s>   t  } | g d t j| dd}|dddddksJ d S )N)	r   r   )r   r   )r   r   r	   )r
   r-   )r)   r-   )r+   r-   )r,   r-   Fr   g?r*   r0   )r   r   r   r   )r   r   add_edges_fromr   r5   r   r   r   test_richclub4>   s   r8   c                  C   D   t tj t } t|  W d    d S 1 sw   Y  d S N)pytestraisesr   NetworkXNotImplementedDiGraphr   r   r   r   r   test_richclub_exceptionG      "r@   c                  C   r9   r:   )r;   r<   r   r=   
MultiGraphr   r?   r   r   r   test_rich_club_exception2M   rA   rC   c                  C   s^   t  } | dd | dd tjtdd t |  W d    d S 1 s(w   Y  d S )Nr   r   zDrich_club_coefficient is not implemented for graphs with self loops.match)r   r   add_edger;   r<   	Exceptionr   r?   r   r   r   test_rich_club_selfloopS   s   "rH   c                  C   s   t  } t j| dd}|i ksJ tdD ]}| | t j| dd}|i ks)J qt  } | dd t j| dd}|ddiksCJ t  } | g d | dd t j| dd}|ddikscJ | dd t j| dd}|ddiksxJ | dd t j| dd}|ddd	ksJ d S )
NFr   r   r   r   r%   r   r   r   )r   r   r   rangeadd_noderF   add_nodes_fromr   r   ir   r   r   'test_rich_club_leq_3_nodes_unnormalized^   s,   
rN   c               	   C   s   t  } tjt jjdd t j| dd}W d    n1 sw   Y  tdD ]'}| | tjt jjdd t j| dd}W d    n1 sJw   Y  q(d S )NzGraph has fewer than four nodesrD   Tr   r   )	r   r   r;   r<   	exceptionNetworkXErrorr   rI   rJ   rL   r   r   r   %test_rich_club_leq_3_nodes_normalized   s"   
rQ   )r;   networkxr   r   r    r#   r(   r6   r8   r@   rC   rH   rN   rQ   r   r   r   r   <module>   s    

	#