U
    ?h{                     @   sH   d Z ddlZddlmZ ddlmZmZ G dd dZG dd dZdS )	zCUnit tests for the :mod:`networkx.generators.duplication` module.

    N)NetworkXError)duplication_divergence_graphpartial_duplication_graphc                   @   s(   e Zd ZdZdd Zdd Zdd ZdS )	TestDuplicationDivergenceGraphzoUnit tests for the
    :func:`networkx.generators.duplication.duplication_divergence_graph`
    function.

    c                 C   s<   t dd}t|dkstt dddd}t|dks8td S )N      *   seed)r   lenAssertionError)selfG r   \/var/www/html/venv/lib/python3.8/site-packages/networkx/generators/tests/test_duplication.pytest_final_size   s    
z.TestDuplicationDivergenceGraph.test_final_sizec              	   C   s$   t t tdd W 5 Q R X d S )Nr      pytestraisesr   r   r   r   r   r   test_probability_too_large   s    z9TestDuplicationDivergenceGraph.test_probability_too_largec              	   C   s$   t t tdd W 5 Q R X d S )Nr   r   r   r   r   r   test_probability_too_small   s    z9TestDuplicationDivergenceGraph.test_probability_too_smallN)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r      s   r   c                   @   s0   e Zd ZdZdd Zdd Zdd Zdd	 Zd
S )TestPartialDuplicationGraphzlUnit tests for the
    :func:`networkx.generators.duplication.partial_duplication_graph`
    function.

    c                 C   sT   d}d}d}d}t ||||}t||ks.tt ||||dd}t||ksPtd S )N
            ?r   r	   r   r   r   r   Nnpqr   r   r   r   r   *   s    z+TestPartialDuplicationGraph.test_final_sizec                 C   s2   d}d}d}d}t ||||}t||ks.td S )Nr   r!   r"   r#   r   r   r   test_initial_clique_size4   s    z4TestPartialDuplicationGraph.test_initial_clique_sizec              	   C   s8   t t$ d}d}d}d}t||||}W 5 Q R X d S )Nr    r   r!   r   r   r   r   r#   r   r   r   test_invalid_initial_size<   s    z5TestPartialDuplicationGraph.test_invalid_initial_sizec                 C   s8   d}d}dD ]&\}}||||f}t jttf|  qd S )Nr   ))r!   r   )r!   r   )r   r!   )r   r!   r)   )r   r$   r%   r&   r'   argsr   r   r   test_invalid_probabilitiesD   s
    z6TestPartialDuplicationGraph.test_invalid_probabilitiesN)r   r   r   r   r   r(   r*   r,   r   r   r   r   r   #   s
   
r   )	r   r   Znetworkx.exceptionr   Znetworkx.generators.duplicationr   r   r   r   r   r   r   r   <module>   s
   