o
    3ήc                     @   sN   d dl Z e d e d d dlZd dlmZmZmZmZ G dd dZ	dS )    Nnumpyscipy)&communicability_betweenness_centralityestrada_indexsubgraph_centralitysubgraph_centrality_expc                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestSubgraphc                 C   s   ddd}t td}| D ]\}}|| tj|ddks!J qdddd	d
d}tg d}t |}| D ]\}}|| tj|ddksJJ q9t|}| D ]\}}|| tj|ddksdJ qSd S )NgNQu?r         Hz>absgjXF{CP?g}~@g}~@g^G<	@gJi|@1AlbertAricDanFranck)r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   nx
path_graphitemspytestapproxGraphr   selfanswerresultkvanswer1G1result1 r%   Y/tmp/pip-target-vg8gfxp4/lib/python/networkx/algorithms/centrality/tests/test_subgraph.pytest_subgraph_centrality   s(   

z%TestSubgraph.test_subgraph_centralityc                 C   s@   t d}t d}t |}t |}t |}t |}d S )N      )r   complete_graphr   r   )r   g199g200comm199comm199_expcomm200comm200_expr%   r%   r&   "test_subgraph_centrality_big_graph.   s   




z/TestSubgraph.test_subgraph_centrality_big_graphc                 C   s   t td}|dddksJ t td}|ddiksJ t td}|i ks,J dddd}t td}| D ]\}}|| tj|d	d
ksNJ q=t td}| D ]\}}dtj|d	d
ksiJ qZd S )Nr   r   r	   r
   gKL?g      ?)r   r
   r      r   r   g63?)r   r   r   r   r   r   r*   )r   r   r   r    r!   r%   r%   r&   1test_communicability_betweenness_centrality_small8   s   z>TestSubgraph.test_communicability_betweenness_centrality_smallc                 C   s   ddddd}t td}| D ]\}}|| tj|ddks#J qddd	d
dd}tg d}t |}| D ]\}}|| tj|ddksLJ q;d S )Ngf?g(lb?)r   r
   r   r2      r   r   gNJq?gG0?gG0?gD;?gwG!?r   r   )r   r   r   r   r   r   r   r   r%   r%   r&   +test_communicability_betweenness_centralityK   s*   
z8TestSubgraph.test_communicability_betweenness_centralityc                 C   s*   d}t t }|tj|ddksJ d S )Ng'TD@r   r   )r   r   karate_club_graphr   r   )r   r   r   r%   r%   r&   test_estrada_indexk   s   zTestSubgraph.test_estrada_indexN)__name__
__module____qualname__r'   r1   r3   r5   r7   r%   r%   r%   r&   r      s    
 r   )
r   importorskipnetworkxr   +networkx.algorithms.centrality.subgraph_algr   r   r   r   r   r%   r%   r%   r&   <module>   s    

