U
    ?h                     @   s@   d Z ddlZddlZdd Zejdddddd	g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   W/var/www/html/venv/lib/python3.8/site-packages/networkx/generators/tests/test_sudoku.pytest_sudoku_negative   s    r	   r               c              (      sp  t | }| d }| d d|  d   |  d }| r>t| rJt| |ksZt| |ksjtt fdd|jD st| dkrt	|
dddddd	d
dgkstn| dkrt	|
dddddddddddddddddddddgkstnp| dkrlt	|
d ddddddd	d!d"d
d#d$d%ddd&d'd(d)d*dddd+d,d-dd.d/d0d1d2d3d4d5d6d7d8d9g'kslt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>         
      *         !   "   #   $   %   &   '   (   )   +   ,   3   4   5   <   E   N   r      	                            0   1   2   @   P   `   p                           N)r   r   Zis_directedAssertionErrorZis_multigraphZnumber_of_nodesZnumber_of_edgesallZdegreesortedZ	neighbors)r   GZexpected_nodesZexpected_edgesr   r   r   test_sudoku_generator   s    
&
rI   )__doc__r   Znetworkxr   r	   markZparametrizerI   r   r   r   r   <module>   s
   