o
    3ήc                      @   s.   d dl mZ d dlZd dlZG dd dZdS )    )chainNc                   @   sL   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d Z
dS )TestIsSemiconnectedc                 C   0   t tjtjt  t tjtjt  d S N)pytestraisesnxNetworkXNotImplementedis_semiconnectedGraph
MultiGraphself r   ^/tmp/pip-target-vg8gfxp4/lib/python/networkx/algorithms/components/tests/test_semiconnected.pytest_undirected	   s   z#TestIsSemiconnected.test_undirectedc                 C   r   r   )r   r   r   NetworkXPointlessConceptr
   DiGraphMultiDiGraphr   r   r   r   
test_empty   s   zTestIsSemiconnected.test_emptyc                 C   s$   t  }|d t |sJ d S )Nr   )r   r   add_noder
   r   Gr   r   r   test_single_node_graph   s   
z*TestIsSemiconnected.test_single_node_graphc                 C   s>   t jdt  d}t |sJ |dd t |rJ d S )Nd   create_usingc   )r   
path_graphr   r
   add_edger   r   r   r   	test_path   s   zTestIsSemiconnected.test_pathc                 C   sP   t jdt  d}t |sJ t jdt  d}|dd t |s&J d S )Nr   r   r   r   )r   cycle_graphr   r
   r   r   r   r   r   r   
test_cycle   s
   zTestIsSemiconnected.test_cyclec                 C   s8   t  }|tdd tdD  t |rJ d S )Nc                 s   s0    | ]}|d | d f|d | d  fgV  qdS )      Nr   .0ir   r   r   	<genexpr>(   s   . z0TestIsSemiconnected.test_tree.<locals>.<genexpr>r   )r   r   add_edges_fromr   from_iterableranger
   r   r   r   r   	test_tree%   s
   zTestIsSemiconnected.test_treec                 C   sV   t jdt  d}|dd tdD  t |rJ |dd t |s)J d S )Nr   r   c                 s   s(    | ]}|d  |d d  d  fV  qdS )r   r$   Nr   r%   r   r   r   r(   .      & z4TestIsSemiconnected.test_dumbbell.<locals>.<genexpr>r   )r   r!   r   r)   r+   r
   r   r   r   r   r   test_dumbbell,   s
   z!TestIsSemiconnected.test_dumbbellc              	   C   s4   t tdd tdddD }t |rJ d S )Nc                 s   s(    | ]}||d  f||d  fgV  qdS )r$   Nr   r%   r   r   r   r(   5   r-   z<TestIsSemiconnected.test_alternating_path.<locals>.<genexpr>r   r   r#   )r   r   r   r*   r+   r
   r   r   r   r   test_alternating_path3   s   z)TestIsSemiconnected.test_alternating_pathN)__name__
__module____qualname__r   r   r   r    r"   r,   r.   r/   r   r   r   r   r      s    r   )	itertoolsr   r   networkxr   r   r   r   r   r   <module>   s    