Ë
    ©Ó^j‡  ã                   ón   — d dl Z d dlZd dlmc mZ d dlmZ	  G d„ d«      Z
 G d„ d«      Z G d„ d«      Zy)é    Nc                   ó†  — e Zd Zej                  j                  dg d¢«      d„ «       Zej                  j                  d ed«      «      d„ «       Zej                  j                  d ed«      «      d„ «       Z	d	„ Z
d
„ Zej                  j                  dej                  ej                  ej                  g«      d„ «       Zy)ÚTestKFactorÚn)é   é   é   c                 óÆ   — t        j                  |«      }t        j                  |d«      }|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚y )Né   )ÚnxÚcycle_graphÚk_factorÚedgesÚnodes)Úselfr   ÚgÚkfs       úq/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/networkx/algorithms/tests/test_regular.pyÚtest_k_factor_cyclezTestKFactor.test_k_factor_cycle	   sL   € ä�N‰N˜1ÓˆÜ�[‰[˜˜AÓˆØ�w‰w˜"Ÿ(™(Ò"Ð"Ð"Ø�w‰w˜"Ÿ(™(Ò"Ð"Ñ"ó    Úkr   c                 ó  ‡— t        j                  dd«      Št        j                  ‰|«      }‰j                  |j                  k(  sJ ‚t	        ˆfd„|j
                  D «       «      sJ ‚t        j                  ||«      sJ ‚y )Nr   c              3   ó<   •K  — | ]  } ‰j                   |Ž –— Œ y ­w©N©Úhas_edge©Ú.0Úer   s     €r   ú	<genexpr>z1TestKFactor.test_k_factor_grid.<locals>.<genexpr>   ó   øè ø€ Ò4 a�:�1—:‘:˜q”>Ñ4ùó   ƒ)r   Úgrid_2d_graphr   r   Úallr   Úis_k_regular©r   r   r   r   s      @r   Útest_k_factor_gridzTestKFactor.test_k_factor_grid   sg   ø€ ä×Ñ˜Q Ó"ˆÜ�[‰[˜˜AÓˆØ�w‰w˜"Ÿ(™(Ò"Ð"Ð"ÜÓ4¨2¯8©8Ô4Ô4Ð4Ð4Ü�‰˜r 1Ô%Ð%Ñ%r   é   c                 ó  ‡— t        j                  d«      Št        j                  ‰|«      }‰j                  |j                  k(  sJ ‚t	        ˆfd„|j
                  D «       «      sJ ‚t        j                  ||«      sJ ‚y )Nr'   c              3   ó<   •K  — | ]  } ‰j                   |Ž –— Œ y ­wr   r   r   s     €r   r   z5TestKFactor.test_k_factor_complete.<locals>.<genexpr>   r    r!   )r   Úcomplete_graphr   r   r#   r   r$   r%   s      @r   Útest_k_factor_completez"TestKFactor.test_k_factor_complete   se   ø€ ä×Ñ˜aÓ ˆÜ�[‰[˜˜AÓˆØ�w‰w˜"Ÿ(™(Ò"Ð"Ð"ÜÓ4¨2¯8©8Ô4Ô4Ð4Ð4Ü�‰˜r 1Ô%Ð%Ñ%r   c                 óÐ   — t        j                  dd«      }t        j                  t         j                  d¬«      5  t        j
                  |d«       d d d «       y # 1 sw Y   y xY w)Nr   zdegree less than©Úmatchr   )r   r"   ÚpytestÚraisesÚNetworkXUnfeasibler   ©r   r   s     r   Útest_k_factor_degreez TestKFactor.test_k_factor_degree    sL   € Ü×Ñ˜Q Ó"ˆÜ�]‰]œ2×0Ñ0Ð8KÔLñ 	Ü�K‰K˜˜1Ô÷	÷ 	ñ 	úó   ¼AÁA%c                 óÐ   — t        j                  dd«      }t        j                  t         j                  d¬«      5  t        j
                  |d«       d d d «       y # 1 sw Y   y xY w)Nr   zno perfect matchingr-   r
   )r   Úhexagonal_lattice_graphr/   r0   r1   r   r2   s     r   Útest_k_factor_no_matchingz%TestKFactor.test_k_factor_no_matching%   sL   € Ü×&Ñ& q¨!Ó,ˆä�]‰]œ2×0Ñ0Ð8NÔOñ 	Ü�K‰K˜˜1Ô÷	÷ 	ñ 	úr4   Ú
graph_typec                 ó®   — t        j                  t        j                  d¬«      5  t        j                   |«       d«       d d d «       y # 1 sw Y   y xY w)Nznot implemented forr-   r
   )r/   r0   r   ÚNetworkXNotImplementedr   )r   r8   s     r   Útest_k_factor_not_implementedz)TestKFactor.test_k_factor_not_implemented+   s<   € ä�]‰]œ2×4Ñ4Ð<RÔSñ 	)Ü�K‰K™
› aÔ(÷	)÷ 	)ñ 	)ús   ¦AÁAN)Ú__name__Ú
__module__Ú__qualname__r/   ÚmarkÚparametrizer   Úranger&   r+   r3   r7   r   ÚDiGraphÚ
MultiGraphÚMultiDiGraphr;   © r   r   r   r      sº   „ Ø‡[�[×Ñ˜S¢)Ó,ñ#ó -ð#ð ‡[�[×Ñ˜S¡%¨£(Ó+ñ&ó ,ð&ð ‡[�[×Ñ˜S¡%¨£(Ó+ñ&ó ,ð&òò
ð ‡[�[×Ñ˜\¨B¯J©J¸¿¹ÀrÇÁÐ+WÓXñ)ó Yñ)r   r   c                   óÒ  — e Zd Zej                  j                  d ej                  d«      df ej                  d«      df ej                  d«      df ej                  dd«      df ej                  dej                  ¬«      df ej                  dg«      df ej                  dg«      df ej                  ddg«      df ej                  ddg«      dfg	«      d	„ «       Zd
„ Zy)ÚTestIsRegularzgraph,expectedr   Tr   Fr   )Úcreate_using)r   é   c                 ó8   — t        j                  |«      |k(  sJ ‚y r   )ÚregÚ
is_regular)r   ÚgraphÚexpecteds      r   Útest_is_regularzTestIsRegular.test_is_regular2   s   € ô �~‰~˜eÓ$¨Ò0Ð0Ñ0r   c                 óÊ   — t        j                  «       }t        j                  t         j                  d¬«      5  t        j
                  |«       d d d «       y # 1 sw Y   y xY w)NzGraph has no nodesr-   )r   ÚGraphr/   r0   ÚNetworkXPointlessConceptrL   )r   ÚGs     r   Ú"test_is_regular_empty_graph_raisesz0TestIsRegular.test_is_regular_empty_graph_raisesC   sC   € Ü�H‰H‹JˆÜ�]‰]œ2×6Ñ6Ð>RÔSñ 	Ü�M‰M˜!Ô÷	÷ 	ñ 	ús   ºAÁA"N)r<   r=   r>   r/   r?   r@   r   r   r*   Ú
path_graphÚlollipop_graphrB   rQ   rC   rD   rO   rT   rE   r   r   rG   rG   1   sõ   „ Ø‡[�[×ÑØàˆR�^‰^˜AÓ Ð%ØˆR×Ñ˜qÓ! 4Ð(ØˆR�]‰]˜1Ó˜uÐ%ØˆR×Ñ˜q !Ó$ eÐ,ØˆR�^‰^˜A¨B¯J©JÔ7¸Ð>ØˆR�X‰X�v�hÓ Ð&ØˆR�Z‰Z˜˜Ó! 5Ð)ØˆR�]‰]˜F FÐ+Ó,¨dÐ3ØˆR�_‰_˜f fÐ-Ó.°Ð6ð
	
óñ1óð1ór   rG   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestIsKRegularc                 óŽ   — t        j                  d«      }t        j                  |d«      sJ ‚t        j                  |d«      rJ ‚y )Nr   r
   r   )Úgenr   rK   r$   r2   s     r   Útest_is_k_regular1z!TestIsKRegular.test_is_k_regular1J   s?   € Ü�O‰O˜AÓˆÜ×Ñ  1Ô%Ð%Ð%Ü×#Ñ# A qÔ)Ð)Ð)Ð)r   c                 ó¾   — t        j                  d«      }t        j                  |d«      sJ ‚t        j                  |d«      rJ ‚t        j                  |d«      rJ ‚y )Nr   r   r   r'   )rZ   r*   rK   r$   r2   s     r   Útest_is_k_regular2z!TestIsKRegular.test_is_k_regular2O   sW   € Ü×Ñ˜qÓ!ˆÜ×Ñ  1Ô%Ð%Ð%Ü×#Ñ# A qÔ)Ð)Ð)Ü×#Ñ# A qÔ)Ð)Ð)Ð)r   c                 ó�   — t        j                  dd«      }t        j                  |d«      rJ ‚t        j                  |d«      rJ ‚y )Nr   r'   )rZ   rV   rK   r$   r2   s     r   Útest_is_k_regular3z!TestIsKRegular.test_is_k_regular3U   sC   € Ü×Ñ˜q !Ó$ˆÜ×#Ñ# A qÔ)Ð)Ð)Ü×#Ñ# A qÔ)Ð)Ð)Ð)r   N)r<   r=   r>   r[   r]   r_   rE   r   r   rX   rX   I   s   „ ò*ò
*ó*r   rX   )r/   Únetworkxr   Únetworkx.algorithms.regularÚ
algorithmsÚregularrK   Únetworkx.generatorsÚ
generatorsrZ   r   rG   rX   rE   r   r   ú<module>rf      s3   ðÛ ã ß )Ð )Ý !÷&)ñ &)÷Rñ ÷0*ò *r   