o
    3ήc                     @   s.   d dl Z d dlZd dlmZ G dd dZdS )    N)	bipartitec                   @   sH   e Zd Zedd Zdd Zdd Zdd Zd	d
 Zdd Z	dd Z
dS )TestBipartiteCentralityc                 C   sN   t d| _t dd| _t d| _t  | _dd | jj	ddD | _
d S )N      c                 S   s    g | ]\}}|d  dkr|qS )r   r    ).0ndr   r   Z/tmp/pip-target-vg8gfxp4/lib/python/networkx/algorithms/bipartite/tests/test_centrality.py
<listcomp>   s
    z7TestBipartiteCentrality.setup_class.<locals>.<listcomp>T)data)nx
path_graphP4complete_bipartite_graphK3cycle_graphC4davis_southern_women_graphdavisnodes	top_nodes)clsr   r   r
   setup_class   s   
z#TestBipartiteCentrality.setup_classc                 C   s   t | jddg}ddddd}||ksJ t | jg d}ddddddd}||ks.J t | jdd	g}ddddd}||ksDJ d S )
N   r         ?      ?r   r      r   r   r   r   r   r   r   r   r      r   r   )r   degree_centralityr   r   r   )selfr	   answerr   r   r
   test_degree_centrality      z.TestBipartiteCentrality.test_degree_centralityc                 C   s   t | jddg}ddddd}||ksJ t | jg d}ddddddd}||ks.J t | jd	d
g}ddddd}||ksDJ d S )Nr   r           r   r   r   g      ?r    r   r   g      ?)r   betweenness_centralityr   r   r   )r#   cr$   r   r   r
   test_betweenness_centrality   r&   z3TestBipartiteCentrality.test_betweenness_centralityc                 C   s   t | jddg}ddddd}||ksJ t | jg d}ddddddd}||ks.J t | jdd	g}ddddd}||ksDJ t }|d |d t |dg}|d
d
dksbJ t |dg}|d
d
dksrJ d S )Nr   r   gUUUUUU?r   r   r   r    r   r   r'   )r   r   )r   closeness_centralityr   r   r   r   Graphadd_node)r#   r)   r$   Gr   r   r
   test_closeness_centrality(   s    

z1TestBipartiteCentrality.test_closeness_centralityc                 C   s   | j }t|| j}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ddddddddddddd d dd d d!}| D ]\}}|tj|| d"d#ksfJ qUd S )$NE8g(\?E9q=
ףp?E7Q?Nora Fayetteg=
ףp=?Evelyn JeffersonTheresa AndersonE6g)\(?Sylvia Avondaler   Laura MandevilleBrenda RogersKatherina RogersgQ?E5Helen Lloydg
ףp=
?E3gQ?Ruth DeSandg(\?Verne SandersonE12g)\(?gzG?gQ?gQ?g(\?zMyra LiddelE11zEleanor NyezFrances AndersonzPearl OglethorpeE4zCharlotte McDowdE10zOlivia CarletonzFlora PriceE2E1zDorothy MurchisonE13E14{Gz?abs)r   r   r"   r   itemspytestapprox)r#   r.   degr$   nodevaluer   r   r
   test_davis_degree_centrality:   p   	
"z4TestBipartiteCentrality.test_davis_degree_centralityc                 C   s   | j }t|| j}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dddddddddddddddddd}| D ]\}}|tj|| ddksfJ qUd S ) Nr0   gQ?r1   gq=
ףp?r3   gp=
ף?r5   g)\(?r6   g?r7   g
ףp=
?r8   gQ?r9   r:   g?r;   r<   r=   g{Gz?r>   r?   g{Gz?r@   rA   rB   rK   r'   rC   rL   )r   r   r(   r   rN   rO   rP   )r#   r.   betr$   rR   rS   r   r   r
   !test_davis_betweenness_centralityb   rU   z9TestBipartiteCentrality.test_davis_betweenness_centralityc                 C   s   | j }t|| j}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ddddddddddddddd ddd!}| D ]\}}|tj|| d"d#ksfJ qUd S )$Nr0   g333333?r1   gHzG?r3   g\(\?r5   g?r6   r7   r8   gGz?r9   gp=
ף?r:   r;   r<   r=   gzG?r>   r?   r4   r@   gQ?rA   rB   gHzG?r2   g333333?g?gp=
ף?g?rC   rK   rL   )r   r   r+   r   rN   rO   rP   )r#   r.   closr$   rR   rS   r   r   r
   test_davis_closeness_centrality   rU   z7TestBipartiteCentrality.test_davis_closeness_centralityN)__name__
__module____qualname__classmethodr   r%   r*   r/   rT   rW   rY   r   r   r   r
   r      s    
	((r   )rO   networkxr   networkx.algorithmsr   r   r   r   r   r
   <module>   s    