
    fi2
                         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d Z G d d          ZdS )	    Nc                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TestKFactorc                 |    t          j        d          }t          j        |d          }|j        |j        k    sJ d S N      )gencycle_graphregk_factoredges)selfgfs      ~/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/networkx/algorithms/tests/test_regular.pytest_k_factor_trivialz!TestKFactor.test_k_factor_trivial	   s=    OALAw!'!!!!!!    c                    t          j        dd          }t          j        |d          }|                                D ]&}|                    |d         |d                   sJ '|                                D ]\  }}|dk    sJ d S )Nr   r   r      )r	   grid_2d_graphr   r   r   has_edgedegreer   r   g_kfedge_r   s         r   test_k_factor1zTestKFactor.test_k_factor1   s    a##|Aq!!JJLL 	0 	0D::d1gtAw////// 	 	IAvQ;;;;;	 	r   c                    t          j        d          }t          j        |d          }|                                D ]&}|                    |d         |d                   sJ '|                                D ]\  }}|dk    sJ d S )N      r   r   r	   complete_graphr   r   r   r   r   r   s         r   test_k_factor2zTestKFactor.test_k_factor2   s    q!!|Aq!!JJLL 	0 	0D::d1gtAw////// 	 	IAvQ;;;;;	 	r   c                     t          j        dd          }t          j        t          j                  5  t          j        |d           d d d            d S # 1 swxY w Y   d S )Nr   r    )r	   r   pytestraisesnxNetworkXUnfeasibler   r   r   r   s     r   test_k_factor3zTestKFactor.test_k_factor3   s    a##]2011 	 	LA	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAc                     t           j                            dd          }t          j        t
          j                  5  t          j        |d           d d d            d S # 1 swxY w Y   d S r   )	r	   latticehexagonal_lattice_graphr%   r&   r'   r(   r   r   r)   s     r   test_k_factor4zTestKFactor.test_k_factor4#   s    K//155]2011 	 	LA	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A""A&)A&c                    t          j        d          }t          j        |d          }|                                D ]&}|                    |d         |d                   sJ '|                                D ]\  }}|dk    sJ d S )Nr   r   r   r   r!   r   s         r   test_k_factor5zTestKFactor.test_k_factor5)   s    q!!|Aq!!JJLL 	0 	0D::d1gtAw////// 	 	IAvQ;;;;;	 	r   N)	__name__
__module____qualname__r   r   r#   r*   r.   r0    r   r   r   r      sn        " " "
      
      r   r   c                   &    e Zd Zd Zd Zd Zd ZdS )TestIsRegularc                 Z    t          j        d          }t          j        |          sJ d S )Nr   )r	   r
   r   
is_regularr)   s     r   test_is_regular1zTestIsRegular.test_is_regular14   s-    OA~a       r   c                 Z    t          j        d          }t          j        |          sJ d S N   )r	   r"   r   r8   r)   s     r   test_is_regular2zTestIsRegular.test_is_regular28   s.    q!!~a       r   c                 \    t          j        dd          }t          j        |          rJ d S r;   )r	   lollipop_graphr   r8   r)   s     r   test_is_regular3zTestIsRegular.test_is_regular3<   s0    q!$$>!$$$$$$$r   c                     t          j                    }|                    g d           t          j        |          sJ d S )N))r   r   )r   r   )r   r   )r'   DiGraphadd_edges_fromr   r8   r)   s     r   test_is_regular4zTestIsRegular.test_is_regular4@   sD    JLL	111222~a       r   N)r1   r2   r3   r9   r=   r@   rD   r4   r   r   r6   r6   3   sP        ! ! !! ! !% % %! ! ! ! !r   r6   c                      t          j                    } t          j        t           j        d          5  t          j        |            d d d            d S # 1 swxY w Y   d S )NzGraph has no nodes)match)r'   Graphr%   r&   NetworkXPointlessConceptr8   )Gs    r   "test_is_regular_empty_graph_raisesrJ   F   s    


A	r2:N	O	O	O  
a                 s   AAAc                        e Zd Zd Zd Zd ZdS )TestIsKRegularc                     t          j        d          }t          j        |d          sJ t          j        |d          rJ d S )Nr   r   r    )r	   r
   r   is_k_regularr)   s     r   test_is_k_regular1z!TestIsKRegular.test_is_k_regular1M   sI    OA1%%%%%#Aq)))))))r   c                     t          j        d          }t          j        |d          sJ t          j        |d          rJ t          j        |d          rJ d S )Nr<   r   r    r   )r	   r"   r   rN   r)   s     r   test_is_k_regular2z!TestIsKRegular.test_is_k_regular2R   sc    q!!1%%%%%#Aq)))))#Aq)))))))r   c                     t          j        dd          }t          j        |d          rJ t          j        |d          rJ d S )Nr<   r   )r	   r?   r   rN   r)   s     r   test_is_k_regular3z!TestIsKRegular.test_is_k_regular3X   sL    q!$$#Aq)))))#Aq)))))))r   N)r1   r2   r3   rO   rQ   rS   r4   r   r   rL   rL   L   sA        * * *
* * ** * * * *r   rL   )r%   networkxr'   networkx.algorithms.regular
algorithmsregularr   networkx.generators
generatorsr	   r   r6   rJ   rL   r4   r   r   <module>rZ      s         ) ) ) ) ) ) ) ) ) ! ! ! ! ! !( ( ( ( ( ( ( (V! ! ! ! ! ! ! !&  * * * * * * * * * *r   