o
    ]ZŽhI  ã                   @   sn   d Z ddlZddlZddlZdd„ Zej de d¡e d¡g¡dd	„ ƒZ	d
d„ Z
dd„ Zdd„ Zdd„ ZdS )z4
Tests for maximal (not maximum) independent sets.

é    Nc                  C   s(   t  d¡} t j| ddg d¢ksJ ‚d S )Né   é   )Úseed)r   r   é   é   é   )ÚnxZempty_graphÚmaximal_independent_set©ÚG© r   úQ/var/www/auris/lib/python3.10/site-packages/networkx/algorithms/tests/test_mis.pyÚtest_random_seed   s   
r   Úgraphr   é7   c                    s   t ‡ fdd„ˆ D ƒƒsJ ‚dS )z+Maximal independent set for complete graphsc                 3   s$    | ]}t  ˆ |g¡|gkV  qd S ©N)r   r	   )Ú.0Ún©r   r   r   Ú	<genexpr>   s   €" ztest_K5.<locals>.<genexpr>N)Úallr   r   r   r   Útest_K5   s   r   c                  C   sR   t  ¡ } t t jt j| dg¡ t t jt j| ddg¡ t t jt jt  | ¡¡ dS )z!Bad input should raise exception.ZSmithZSalviatiÚPazziN)r   Úflorentine_families_graphÚpytestZraisesZNetworkXUnfeasibler	   ZNetworkXNotImplementedZDiGraphr
   r   r   r   Útest_exceptions   s   ÿr   c                  C   s0   t  ¡ } t  | ddg¡}t|ƒh d£ksJ ‚d S )NÚMediciÚBischeri>   r   r   r   ZLamberteschiZGinoriZ
Castellani)r   r   r	   Úset©r   Zindepr   r   r   Útest_florentine_family#   s   r    c                  C   s8   t  dd¡} t  | g d¢¡}t|ƒttdƒƒksJ ‚d S )Né   é"   )r   r   é	   é
   )r   Zcomplete_bipartite_graphr	   ÚsortedÚlistÚranger   r   r   r   Útest_bipartite0   s   r(   c                     sŽ   t dddƒD ]>} t | d d t ¡ ¡‰ t ˆ ¡}ˆ  |¡ ¡ dks$J ‚tj‡ fdd„|D ƒŽ ‰t	‡fdd„tˆ  
¡ ƒ |¡D ƒƒsDJ ‚qdS )	zrGenerate 5 random graphs of different types and sizes and
    make sure that all sets are independent and maximal.r   é2   r$   r   c                 3   s    | ]
}t ˆ  |¡ƒV  qd S r   )r   Z	neighbors©r   Úvr
   r   r   r   =   s   € z%test_random_graphs.<locals>.<genexpr>c                 3   s    | ]}|ˆ v V  qd S r   r   r*   )Únbrs_of_MISr   r   r   >   s   € N)r'   r   Zerdos_renyi_graphÚrandomr	   ZsubgraphZnumber_of_edgesr   Úunionr   ÚnodesÚ
difference)ÚiZISr   )r   r,   r   Útest_random_graphs6   s   
*ûr2   )Ú__doc__r-   r   Znetworkxr   r   ÚmarkZparametrizeZcomplete_graphr   r   r    r(   r2   r   r   r   r   Ú<module>   s    
