o
    &?e                     @   s:   d Z ddlZddlZdd Zejdg ddd ZdS )	zBUnit tests for the :mod:`networkx.generators.sudoku_graph` module.    Nc                   C   s   t jtjtjdd dS )z:Raise an error when generating a Sudoku graph of order -1.)nN)pytestZraisesnxZNetworkXErrorsudoku_graph r   r   f/home/www/facesmatcher.com/pyenv/lib/python3.10/site-packages/networkx/generators/tests/test_sudoku.pytest_sudoku_negative   s   r	   r   )r               c                    s   t | }| d }| d d|  d   |  d }| rJ | r%J | |ks-J | |ks5J t fdd|jD sCJ | dkrVt|	dg dksTJ dS | dkrit|	d	g d
ksgJ dS | dkrzt|	dg dks|J dS dS )zDGenerate Sudoku graphs of various sizes and verify their properties.r   r
   r   r   c                 3   s    | ]	\}}| kV  qd S )Nr   ).0_dZexpected_degreer   r   	<genexpr>   s    z(test_sudoku_generator.<locals>.<genexpr>   )r   r   r         
      *   )r         !   "   #   $   %   &   '   (   )   +   ,   3   4   5   <   E   N   r   )'r
   r   r   r   r   r   r      	   r            r   r                   r   r   r   0   1   2   r&   @   P   `   p                           N)
r   r   Zis_directedZis_multigraphZnumber_of_nodesZnumber_of_edgesallZdegreesortedZ	neighbors)r   GZexpected_nodesZexpected_edgesr   r   r   test_sudoku_generator   s"   
rH   )__doc__r   Znetworkxr   r	   markZparametrizerH   r   r   r   r   <module>   s    