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)ÚpytestÚraisesÚnxÚNetworkXErrorÚsudoku_graph© r	   r	   ú\/var/www/ideatree/venv/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    