
    wgI                         d Z ddlZddlZddlZd Zej                  j                  d ej                  d       ej                  d      g      d        Z	d Z
d	 Zd
 Zd Zy)z4
Tests for maximal (not maximum) independent sets.

    Nc                  j    t        j                  d      } t        j                  | d      g dk(  sJ y )N      )seed)r   r            )nxempty_graphmaximal_independent_setGs    g/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/networkx/algorithms/tests/test_mis.pytest_random_seedr      s+    
qA%%aa0OCCC    graphr   7   c                 2     t         fd D              sJ y)z+Maximal independent set for complete graphsc              3   T   K   | ]  }t        j                  |g      |gk(   ! y wN)r
   r   ).0nr   s     r   	<genexpr>ztest_K5.<locals>.<genexpr>   s'     Lr))%!5!<Ls   %(N)all)r   s   `r   test_K5r      s     LeLLLLr   c                     t        j                         } t        j                  t         j                  t         j
                  | dg       t        j                  t         j                  t         j
                  | ddg       t        j                  t         j                  t         j
                  t        j                  |              y)z!Bad input should raise exception.SmithSalviatiPazziN)r
   florentine_families_graphpytestraisesNetworkXUnfeasibler   NetworkXNotImplementedDiGraphr   s    r   test_exceptionsr&      s}    
$$&A
MM"'')C)CQ	R
MM
r991z7>S MM"++R-G-GTUWr   c                      t        j                         } t        j                  | ddg      }t        |      h dk(  sJ y )NMediciBischeri>   r   Ginorir(   r)   
CastellaniLamberteschi)r
   r    r   setr   indeps     r   test_florentine_familyr0   #   sB    
$$&A&&q8Z*@AEu:    r   c                      t        j                  dd      } t        j                  | g d      }t        |      t	        t        d            k(  sJ y )N   "   )r	   r   	   
   )r
   complete_bipartite_graphr   sortedlistranger.   s     r   test_bipartiter:   0   s@    
##B+A&&q-8E%=DrO+++r   c                     t        ddd      D ]  } t        j                  | dz  dz   t        j                               t        j                        }j                  |      j                         dk(  sJ t        j                  fd|D         t        fdt        j                               j                  |      D              rJ  y)zrGenerate 5 random graphs of different types and sizes and
    make sure that all sets are independent and maximal.r   2   r5   r   c              3   R   K   | ]  }t        j                  |               y wr   )r-   	neighbors)r   vr   s     r   r   z%test_random_graphs.<locals>.<genexpr>=   s     !B!#akk!n"5!Bs   $'c              3   &   K   | ]  }|v  
 y wr    )r   r?   nbrs_of_MISs     r   r   z%test_random_graphs.<locals>.<genexpr>>   s     K1#Ks   N)r9   r
   erdos_renyi_graphrandomr   subgraphnumber_of_edgesr-   unionr   nodes
difference)iISr   rB   s     @@r   test_random_graphsrL   6   s     1b" L  R!V]]_=''*zz"~--/1444ii!Br!BCKS^-F-Fr-JKKKKLr   )__doc__rD   r!   networkxr
   r   markparametrizecomplete_graphr   r&   r0   r:   rL   rA   r   r   <module>rR      sz   
   D
 #42#4#4Q#79J9J9J29N"OPM QM
X
,Lr   