o
    3ήc
                     @   s   d dl Z d dlZd dlm  mZ d dlmZmZm	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 )    N)cc_dotcc_maxcc_minc                  C   s   t g d} t g d}t g d}g dg dg dd}t| ||gD ]J\}}t|s3J tt|d t|d	 || d ksHJ tt|d t|d	 || d	 ks]J tt|d t|d	 || d
 ksrJ q(d S )N)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   	   )gUUUUUU?UUUUUU?皙?)      ?r   r   )g      ?r   r   )r   r   r   r   r   r   )	nxGraph	enumerate	bipartiteis_bipartiter   setr   r   )G1G2G3resultiG r%   W/tmp/pip-target-vg8gfxp4/lib/python/networkx/algorithms/bipartite/tests/test_cluster.py$test_pairwise_bipartite_cc_functions   s   **,r'   c                  C   s^   t d} ddddd}tj| dd|ksJ tj| dd|ks"J tj| dd|ks-J d S )	Nr   r   r   r   r   r   r   dotmodeminmax)r   
star_graphr   
clusteringr$   answerr%   r%   r&   test_star_graph   s
   
r2   c                   C   sB   t tj ttd W d    d S 1 sw   Y  d S )Nr
   )pytestraisesr   NetworkXErrorr   r/   complete_graphr%   r%   r%   r&   test_not_bipartite&   s   "r7   c                   C   sF   t tj tjtddd W d    d S 1 sw   Y  d S )Nr
   foor*   )r3   r4   r   r5   r   r/   
path_graphr%   r%   r%   r&   test_bad_mode+   s   "r:   c                  C   sl   t d} ddddd}tj| dd|ksJ tj| dd|ks"J ddddd}tj| dd|ks4J d S )	Nr
   r   r(   r)   r*   r-   r   r,   )r   r9   r   r/   r0   r%   r%   r&   test_path_graph0   s   
r;   c                  C   sP   t d} tj| dddksJ tj| dddksJ tj| dddks&J d S )Nr
   r)   r*   r   r-   r,   r   )r   r9   r   average_clusteringr$   r%   r%   r&   test_average_path_graph9   s   
r>   c                  C   s(   t  } tt| d}|dksJ d S )Nr   gʡE?)r   davis_southern_women_graphroundr   robins_alexander_clustering)r$   cc4r%   r%   r&   test_ra_clustering_davis@   s   rC   c                  C   s,   t d} | dd t| dksJ d S )Nr
   r   r   g      ?)r   r9   add_edger   rA   r=   r%   r%   r&   test_ra_clustering_squareF   s   
rE   c                  C   s|   t  } t| dksJ | td t| dksJ | g d t| dks-J | dd t| dks<J d S )Nr   r
   ))r   r   )r   r   )r   r
   r   r   )r   r   r   rA   add_nodes_fromrangeadd_edges_fromrD   r=   r%   r%   r&   test_ra_clustering_zeroL   s   rI   )r3   networkxr   networkx.algorithms.bipartite
algorithmsr   %networkx.algorithms.bipartite.clusterr   r   r   r'   r2   r7   r:   r;   r>   rC   rE   rI   r%   r%   r%   r&   <module>   s    		