o
    3ήcn	                     @   sR   d dl mZ d dlZd dlZd dlmZ dd Zdd ZG dd	 d	Z	d
d Z
dS )    )combinationsN)k_clique_communitiesc                  C   s   t  } | ttdd | ttddd tt| d}|ttdgks+J tt| d}|ttdttddhksCJ d S )N            )	nxGraphadd_edges_fromr   rangelistr   	frozensetsetGc r   W/tmp/pip-target-vg8gfxp4/lib/python/networkx/algorithms/community/tests/test_kclique.pytest_overlapping_K5	   s   &r   c                  C   sh   t  } | ttddd | ttddd tt| d}|ttdttddhks2J d S )Nr   r   r   
   )r   r	   r
   r   r   r   r   r   r   r   r   r   test_isolated_K5   s
   &r   c                   @   sD   e Z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 )TestZacharyKarateClubc                 C   s   t  | _d S N)r   karate_club_graphr   )selfr   r   r   setup_method   s   z"TestZacharyKarateClub.setup_methodc                 C   s    t t| j|}||ksJ d S r   )r   r   r   )r   kexpectedcommunitiesr   r   r   _check_communities   s   z(TestZacharyKarateClub._check_communitiesc                 C   s   t | jh}| d| d S )Nr   )r   r   r   r   r   r   r   r   test_k2#   s   zTestZacharyKarateClub.test_k2c                 C   s>   g d}g d}g d}t |t |t |h}| d| d S )N)r      r      r                                                             !   )r   r   r      r      )      r5   r#   r   r   )r   comm1comm2comm3r   r   r   r   test_k3(   s
   zTestZacharyKarateClub.test_k3c                 C   s2   t g dt g dt g dh}| d| d S )Nr   r"   r   r#   r   r&   )r$   r6   r4   r7   )r6   r7   r3   r/   r   r<   r    r   r   r   test_k4I   s
   


zTestZacharyKarateClub.test_k4c                 C   s   t g dh}| d| d S )NrA   r   r<   r    r   r   r   test_k5Q   s   zTestZacharyKarateClub.test_k5c                 C   s   t  }| d| d S )Nr8   )r   r   r    r   r   r   test_k6U   s   zTestZacharyKarateClub.test_k6N)
__name__
__module____qualname__r   r   r!   r@   rB   rC   rD   r   r   r   r   r      s    !r   c                   C   sD   t tj ttt d W d    d S 1 sw   Y  d S )Nr"   )pytestraisesr   NetworkXErrorr   r   r	   r   r   r   r   
test_bad_kZ   s   "rK   )	itertoolsr   rH   networkxr   networkx.algorithms.communityr   r   r   r   rK   r   r   r   r   <module>   s    
?