o
    ִi                     @   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)pytestraisesnxNetworkXErrorsudoku_graph r	   r	   X/home/kuhnn/.local/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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   is_directedis_multigraphnumber_of_nodesnumber_of_edgesalldegreesorted	neighbors)r   Gexpected_nodesexpected_edgesr	   r   r
   test_sudoku_generator   s"   
rS   )__doc__r   networkxr   r   markparametrizerS   r	   r	   r	   r
   <module>   s    