o
    ]Zh}                     @   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rcZrc0 r   V/var/www/auris/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   Z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   Z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   Zkarate_club_graphr   r   r   r   r   r   test_richclub3&   sF   	
r2   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'   r-   )r   r   r   r   )r   r   Zadd_edges_fromr   r1   r   r   r   test_richclub4>   s   r3   c                  C   D   t tj t } t|  W d    d S 1 sw   Y  d S N)pytestraisesr   NetworkXNotImplementedZDiGraphr   r   r   r   r   test_richclub_exceptionG      "r:   c                  C   r4   r5   )r6   r7   r   r8   Z
MultiGraphr   r9   r   r   r   test_rich_club_exception2M   r;   r<   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_edger6   r7   	Exceptionr   r9   r   r   r   test_rich_club_selfloopS   s   "rA   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_noder?   Zadd_nodes_fromr   r   ir   r   r   'test_rich_club_leq_3_nodes_unnormalized^   s,   
rF   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 nodesr=   Tr   r   )	r   r   r6   r7   	exceptionZNetworkXErrorr   rB   rC   rD   r   r   r   %test_rich_club_leq_3_nodes_normalized   s"   
rH   )r6   Znetworkxr   r   r   r!   r%   r2   r3   r:   r<   rA   rF   rH   r   r   r   r   <module>   s    

	#