
    Vh
                     j    d dl Z d dlZd dlmZ d dlmZmZmZ d Z	d Z
d Zd Zd Zd	 Zd
 Zd Zd Zy)    N)	bipartite)cc_dotcc_maxcc_minc                     t        j                  g d      } t        j                  g d      }t        j                  g d      }g dg dg dd}t        | ||g      D ]  \  }}t        j                  |      sJ t        t        |d         t        |d	               ||   d   k(  sJ t        t        |d         t        |d	               ||   d	   k(  sJ t        t        |d         t        |d	               ||   d
   k(  rJ  y )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	enumerater   is_bipartiter   setr   r   )G1G2G3resultiGs         `/home/dcms/DCMS/lib/python3.12/site-packages/networkx/algorithms/bipartite/tests/test_cluster.py$test_pairwise_bipartite_cc_functionsr(      s     
R	SB	B	CB	X
B '&&F
 2r2,' <1%%a(((c!A$iQqT+vay|;;;c!A$iQqT+vay|;;;c!A$iQqT+vay|;;;	<    c                      t        j                  d      } ddddd}t        j                  | d      |k(  sJ t        j                  | d      |k(  sJ t        j                  | d      |k(  sJ y )	Nr   r   r   r   r   r	   r   dotmodeminmax)r   
star_graphr   
clusteringr&   answers     r'   test_star_graphr5      so    
aAqQ1%F.&888.&888.&888r)   c                      t        j                  t        j                        5  t	        j
                  t        j                  d             d d d        y # 1 sw Y   y xY w)Nr   )pytestraisesr   NetworkXErrorr   r2   complete_graph r)   r'   test_not_bipartiter<   &   sB    	r''	( 3R..q123 3 3s   )AAc                      t        j                  t        j                        5  t	        j
                  t        j                  d      d       d d d        y # 1 sw Y   y xY w)Nr   foor-   )r7   r8   r   r9   r   r2   
path_graphr;   r)   r'   test_bad_moder@   +   sB    	r''	( ;R]]1-E:; ; ;s   +AA!c                      t        j                  d      } ddddd}t        j                  | d      |k(  sJ t        j                  | d      |k(  sJ ddddd}t        j                  | d      |k(  sJ y )	Nr   r   r+   r,   r-   r0   r   r/   )r   r?   r   r2   r3   s     r'   test_path_graphrB   0   s}    
aA-F.&888.&888qQ1%F.&888r)   c                      t        j                  d      } t        j                  | d      dk(  sJ t        j                  | d      dk(  sJ t        j                  | d      dk(  sJ y )Nr   r,   r-   r   r0   r/   r   )r   r?   r   average_clusteringr&   s    r'   test_average_path_graphrF   9   sa    
aA''6#===''6#===''6!;;;r)   c                  x    t        j                         } t        t        j                  |       d      }|dk(  sJ y )Nr   gʡE?)r   davis_southern_women_graphroundr   robins_alexander_clustering)r&   cc4s     r'   test_ra_clustering_davisrL   @   s3    
%%'A
	55a8!
<C%<<r)   c                      t        j                  d      } | j                  dd       t        j                  |       dk(  sJ y )Nr   r   r   g      ?)r   r?   add_edger   rJ   rE   s    r'   test_ra_clustering_squarerO   F   s7    
aAJJq!003s:::r)   c                  z   t        j                         } t        j                  |       dk(  sJ | j	                  t        d             t        j                  |       dk(  sJ | j                  g d       t        j                  |       dk(  sJ | j                  dd       t        j                  |       dk(  sJ y )Nr   r   ))r   r   )r	   r   )r   r   r   r	   )r   r   r   rJ   add_nodes_fromrangeadd_edges_fromrN   rE   s    r'   test_ra_clustering_zerorT   L   s    

A003q888U1X003q888-.003q888JJq!003q888r)   )r7   networkxr   networkx.algorithmsr   %networkx.algorithms.bipartite.clusterr   r   r   r(   r5   r<   r@   rB   rF   rL   rO   rT   r;   r)   r'   <module>rX      sA      ) H H<*93
;
9<;9r)   