o
    ִiI                     @   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            )nxempty_graphmaximal_independent_setG r   U/home/kuhnn/.local/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.SmithSalviatiPazziN)r   florentine_families_graphpytestraisesNetworkXUnfeasibler
   NetworkXNotImplemented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   Ginorir#   r$   
CastellaniLamberteschi)r   r   r
   setr   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   complete_bipartite_graphr
   sortedlistranger)   r   r   r   test_bipartite0   s   r4   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(   	neighborsr   vr   r   r   r   =   s    z%test_random_graphs.<locals>.<genexpr>c                 3   s    | ]}| v V  qd S r   r   r7   )nbrs_of_MISr   r   r   >   s    N)r3   r   erdos_renyi_graphrandomr
   subgraphnumber_of_edgesr(   unionr   nodes
difference)iISr   )r   r9   r   test_random_graphs6   s   
*rC   )__doc__r;   r   networkxr   r   markparametrizecomplete_graphr   r"   r+   r4   rC   r   r   r   r   <module>   s    
