o
    &?e                     @   s&   d Z ddlZddlZG dd dZdS )z@Unit tests for the :mod:`networkx.generators.stochastic` module.    Nc                   @   sH   e Zd 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 )TestStochasticGraphz?Unit tests for the :func:`~networkx.stochastic_graph` function.c                 C   sn   t  }|dd |dd t |}t ||sJ t|jddddddifddddifgks5J d S )Nr         Tdataweight      ?)nxDiGraphadd_edgestochastic_graphZis_isomorphicsortededgesselfGS r   j/home/www/facesmatcher.com/pyenv/lib/python3.10/site-packages/networkx/generators/tests/test_stochastic.pytest_default_weights
   s   
z(TestStochasticGraph.test_default_weightsc                 C   sj   t  }|jdddd |jdddd t j|dd t|jddddd	d
ifddd	d
ifgks3J dS )z<Tests for an in-place reweighting of the edges of the graph.r   r   r   r   F)copyTr   r   r   Nr	   r
   r   r   r   r   )r   r   r   r   r   test_in_place   s   z!TestStochasticGraph.test_in_placec                 C   sf   t  }|jdddd |jdddd t |}t|jddddddifddddifgks1J d S )	Nr   r   r   r   Tr   r   r   r   r   r   r   r   test_arbitrary_weights    s   
z*TestStochasticGraph.test_arbitrary_weightsc                 C   sd   t  }|g d t |}ddi}t|jdddd|fdd|fdd|fdd|fgks0J d S )	N)r   r   r   r   r   r   r   g      ?Tr   r   r   r   )r	   ZMultiDiGraphZadd_edges_fromr   r   r   )r   r   r   dr   r   r   test_multidigraph*   s   
z%TestStochasticGraph.test_multidigraphc                 C   sf   t  }|jdddd |jdddd t |}t|jddddddifddddifgks1J dS )	z3Smoke test: ensure ZeroDivisionError is not raised.r   r   r   r   Tr   r   Nr   r   r   r   r   test_zero_weights6   s   
z%TestStochasticGraph.test_zero_weightsc                 C   @   t tj tt  W d    d S 1 sw   Y  d S N)pytestraisesr	   NetworkXNotImplementedr   ZGraphr   r   r   r   test_graph_disallowedA      "z)TestStochasticGraph.test_graph_disallowedc                 C   r    r!   )r"   r#   r	   r$   r   Z
MultiGraphr%   r   r   r   test_multigraph_disallowedE   r'   z.TestStochasticGraph.test_multigraph_disallowedN)__name__
__module____qualname____doc__r   r   r   r   r   r&   r(   r   r   r   r   r      s    
r   )r,   r"   Znetworkxr	   r   r   r   r   r   <module>   s    