
    ިsg                     f    d Z ddlZddlZd Zej
                  j                  dg d      d        Zy)zBUnit tests for the :mod:`networkx.generators.sudoku_graph` module.    Nc                  l    t        j                  t        j                  t        j                  d       y)z:Raise an error when generating a Sudoku graph of order -1.)nN)pytestraisesnxNetworkXErrorsudoku_graph     X/var/www/html/venv/lib/python3.12/site-packages/networkx/generators/tests/test_sudoku.pytest_sudoku_negativer      s    
MM"""BOOr:r   r   )r               c                 ,   t        j                  |       }| dz  }| dz
  d| z  dz   z  |z  dz  }|j                         rJ |j                         rJ |j	                         |k(  sJ |j                         |k(  sJ t        fd|j                  D              sJ | dk(  r"t        |j                  d            g dk(  sJ y| dk(  r"t        |j                  d            g d	k(  sJ y| dk(  r"t        |j                  d
            g dk(  sJ yy)zDGenerate Sudoku graphs of various sizes and verify their properties.r   r   r   r   c              3   .   K   | ]  \  }}|k(    y w)Nr   ).0_dexpected_degrees      r   	<genexpr>z(test_sudoku_generator.<locals>.<genexpr>   s     91qO#9s      )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   s       @r   test_sudoku_generatorrW      s&    	ATN1uQ+O#o5:N}}   .000.00099999Avakk!n%)@@@@	
aakk"o& +
 
 	
 
, 
aakk!n% (*
 (
 (	
 (
 
r   )__doc__r   networkxr   r   markparametrizerW   r   r   r   <module>r\      s:    H  ;
 o.N
 /N
r   