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                   @   s@   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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_graphis_isomorphicsortededgesselfGS r   `/var/www/ideatree/venv/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   sf   t  }|g d t |}tdd}t|jdddd|fdd|fdd|fdd|fgks1J d S )	N)r   r   r   r   r   r   g      ?r   Tr   r   r   r   )r	   MultiDiGraphadd_edges_fromr   dictr   r   )r   r   r   dr   r   r   test_multidigraph*   s   

z%TestStochasticGraph.test_multidigraphc                 C   @   t tj tt  W d    d S 1 sw   Y  d S N)pytestraisesr	   NetworkXNotImplementedr   Graphr   r   r   r   test_graph_disallowed6      "z)TestStochasticGraph.test_graph_disallowedc                 C   r#   r$   )r%   r&   r	   r'   r   
MultiGraphr)   r   r   r   test_multigraph_disallowed:   r+   z.TestStochasticGraph.test_multigraph_disallowedN)
__name__
__module____qualname____doc__r   r   r   r"   r*   r-   r   r   r   r   r      s    
r   )r1   r%   networkxr	   r   r   r   r   r   <module>   s    