
    9 j                     n    S SK r S SKrS SKJs  Jr  S SKJr	   " S S5      r
 " S S5      r " S S5      rg)    Nc                      \ rS rSr\R
                  R                  S/ SQ5      S 5       r\R
                  R                  S\" S5      5      S 5       r	\R
                  R                  S\" S5      5      S	 5       r
S
 rS r\R
                  R                  S\R                  \R                  \R                   /5      S 5       rSrg)TestKFactor   n)         c                     [         R                  " U5      n[         R                  " US5      nUR                  UR                  :X  d   eUR                  UR                  :X  d   eg )N   )nxcycle_graphk_factoredgesnodes)selfr   gkfs       w/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/networkx/algorithms/tests/test_regular.pytest_k_factor_cycleTestKFactor.test_k_factor_cycle	   sL    NN1[[Aww"(("""ww"(("""    kr   c                    ^ [         R                  " SS5      m[         R                  " TU5      nTR                  UR                  :X  d   e[	        U4S jUR
                   5       5      (       d   e[         R                  " X!5      (       d   eg )Nr   c              3   B   >#    U  H  nTR                   " U6 v   M     g 7fNhas_edge.0er   s     r   	<genexpr>1TestKFactor.test_k_factor_grid.<locals>.<genexpr>        48a1::q>8   )r   grid_2d_graphr   r   allr   is_k_regularr   r   r   r   s      @r   test_k_factor_gridTestKFactor.test_k_factor_grid   sk    Q"[[Aww"(("""428844444r%%%%r      c                   ^ [         R                  " S5      m[         R                  " TU5      nTR                  UR                  :X  d   e[	        U4S jUR
                   5       5      (       d   e[         R                  " X!5      (       d   eg )Nr+   c              3   B   >#    U  H  nTR                   " U6 v   M     g 7fr   r   r   s     r   r!   5TestKFactor.test_k_factor_complete.<locals>.<genexpr>   r#   r$   )r   complete_graphr   r   r&   r   r'   r(   s      @r   test_k_factor_complete"TestKFactor.test_k_factor_complete   si    a [[Aww"(("""428844444r%%%%r   c                     [         R                  " SS5      n[        R                  " [         R                  SS9   [         R
                  " US5        S S S 5        g ! , (       d  f       g = f)Nr   zdegree less thanmatchr   )r   r%   pytestraisesNetworkXUnfeasibler   r   r   s     r   test_k_factor_degree TestKFactor.test_k_factor_degree    sD    Q"]]2008KLKK1 MLL   A
A*c                     [         R                  " SS5      n[        R                  " [         R                  SS9   [         R
                  " US5        S S S 5        g ! , (       d  f       g = f)Nr   zno perfect matchingr3   r   )r   hexagonal_lattice_graphr5   r6   r7   r   r8   s     r   test_k_factor_no_matching%TestKFactor.test_k_factor_no_matching%   sD    &&q!,]]2008NOKK1 POOr;   
graph_typec                     [         R                  " [        R                  SS9   [        R                  " U" 5       S5        S S S 5        g ! , (       d  f       g = f)Nznot implemented forr3   r   )r5   r6   r   NetworkXNotImplementedr   )r   r@   s     r   test_k_factor_not_implemented)TestKFactor.test_k_factor_not_implemented+   s4    ]]244<RSKK
a( TSSs   A


A N)__name__
__module____qualname____firstlineno__r5   markparametrizer   ranger)   r0   r9   r>   r   DiGraph
MultiGraphMultiDiGraphrC   __static_attributes__rE   r   r   r   r      s    [[S),# -# [[S%(+& ,& [[S%(+& ,&
 [[\BJJr+WX) Y)r   r   c                      \ rS rSr\R
                  R                  S\R                  " S5      S4\R                  " S5      S4\R                  " S5      S4\R                  " SS5      S4\R                  " S\R                  S9S4\R                  " S	/5      S4\R                  " S	/5      S4\R                  " S	S	/5      S4\R                  " S	S	/5      S4/	5      S
 5       rS rSrg)TestIsRegular1   zgraph,expectedr   Tr	   Fr   )create_using)r      c                 <    [         R                  " U5      U:X  d   eg r   )reg
is_regular)r   graphexpecteds      r   test_is_regularTestIsRegular.test_is_regular2   s     ~~e$000r   c                     [         R                  " 5       n[        R                  " [         R                  SS9   [         R
                  " U5        S S S 5        g ! , (       d  f       g = f)NzGraph has no nodesr3   )r   Graphr5   r6   NetworkXPointlessConceptrX   )r   Gs     r   "test_is_regular_empty_graph_raises0TestIsRegular.test_is_regular_empty_graph_raisesC   s;    HHJ]]266>RSMM! TSSs   A
A'rE   N)rF   rG   rH   rI   r5   rJ   rK   r   r   r/   
path_graphlollipop_graphrM   r^   rN   rO   r[   ra   rP   rE   r   r   rR   rR   1   s    [[^^A%q!4(]]1u%q!$e,^^ABJJ7>XXvh&ZZ!5)]]FF+,d3__ff-.6
	
11r   rR   c                   &    \ rS rSrS rS rS rSrg)TestIsKRegularI   c                     [         R                  " S5      n[        R                  " US5      (       d   e[        R                  " US5      (       a   eg )Nr   r   r   )genr   rW   r'   r8   s     r   test_is_k_regular1!TestIsKRegular.test_is_k_regular1J   sE    OOA1%%%%##Aq)))))r   c                     [         R                  " S5      n[        R                  " US5      (       d   e[        R                  " US5      (       a   e[        R                  " US5      (       a   eg )Nr	   r   r   r+   )ri   r/   rW   r'   r8   s     r   test_is_k_regular2!TestIsKRegular.test_is_k_regular2O   s`    q!1%%%%##Aq))))##Aq)))))r   c                     [         R                  " SS5      n[        R                  " US5      (       a   e[        R                  " US5      (       a   eg )Nr	   r+   )ri   rd   rW   r'   r8   s     r   test_is_k_regular3!TestIsKRegular.test_is_k_regular3U   sI    q!$##Aq))))##Aq)))))r   rE   N)rF   rG   rH   rI   rj   rm   rp   rP   rE   r   r   rf   rf   I   s    *
**r   rf   )r5   networkxr   networkx.algorithms.regular
algorithmsregularrW   networkx.generators
generatorsri   r   rR   rf   rE   r   r   <module>rx      s3      ) ) !&) &)R 0* *r   