o
    3Î®c	  ã                   @   s4   d dl Zd dl mZ G dd„ dƒZG dd„ dƒZdS )é    N)Úis_strongly_regularc                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTestDistanceRegularc                 C   sÀ   t  t  ¡ ¡s	J ‚t  t  ¡ ¡sJ ‚t  t  ¡ ¡sJ ‚t  t  dd¡¡s&J ‚t  t  ¡ ¡s/J ‚t  t  ¡ ¡s8J ‚t  t  ¡ ¡sAJ ‚t  t  	¡ ¡sJJ ‚t  t  
d¡¡sTJ ‚t  t  d¡¡r^J ‚d S )Né   é   )ÚnxÚis_distance_regularÚicosahedral_graphÚpetersen_graphÚcubical_graphÚcomplete_bipartite_graphÚtetrahedral_graphÚdodecahedral_graphÚpappus_graphÚheawood_graphÚcycle_graphÚ
path_graph)Úself© r   úV/tmp/pip-target-vg8gfxp4/lib/python/networkx/algorithms/tests/test_distance_regular.pyÚtest_is_distance_regular   s   z,TestDistanceRegular.test_is_distance_regularc                 C   s,   t  d¡}t  |g d¢¡ t  |¡rJ ‚d S )Nr   )é   é   é   )r   r   Ú	add_cycler   ©r   ÚGr   r   r   Útest_not_connected   s   
z&TestDistanceRegular.test_not_connectedc                 C   sl   t  t  d¡¡\}}t  ||¡}t|ƒg d¢ksJ ‚t  t  d¡¡\}}t  ||¡}t|ƒddgks4J ‚d S )Nr   )©r   r   é   )é   r   r   ©r   r   r   r   r   r    )r   Úintersection_arrayr   Úglobal_parametersÚlist)r   ÚbÚcÚgr   r   r   Útest_global_parameters   s   z*TestDistanceRegular.test_global_parametersc                 C   sœ   t  t  d¡¡\}}|ddgksJ ‚|ddgksJ ‚t  t  ¡ ¡\}}|g d¢ks+J ‚|g d¢ks3J ‚t  t  ¡ ¡\}}|g d¢ksDJ ‚|g d¢ksLJ ‚d S )Nr   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   )r   r   r   )r   r!   r   r   r   )r   r$   r%   r   r   r   Útest_intersection_array    s   z+TestDistanceRegular.test_intersection_arrayN)Ú__name__Ú
__module__Ú__qualname__r   r   r'   r(   r   r   r   r   r      s
    r   c                   @   s(   e Zd ZdZdd„ Zdd„ Zdd„ ZdS )	ÚTestStronglyRegularzLUnit tests for the :func:`~networkx.is_strongly_regular`
    function.

    c                 C   s   t  d¡}t|ƒsJ ‚dS )zRTests that the cycle graph on five vertices is strongly
        regular.

        r   N)r   r   r   r   r   r   r   Útest_cycle_graph2   s   
z$TestStronglyRegular.test_cycle_graphc                 C   s   t  ¡ }t|ƒs
J ‚dS )z2Tests that the Petersen graph is strongly regular.N)r   r	   r   r   r   r   r   Útest_petersen_graph:   s   z'TestStronglyRegular.test_petersen_graphc                 C   s   t  d¡}t|ƒrJ ‚dS )z2Tests that the path graph is not strongly regular.r   N)r   r   r   r   r   r   r   Útest_path_graph?   s   
z#TestStronglyRegular.test_path_graphN)r)   r*   r+   Ú__doc__r-   r.   r/   r   r   r   r   r,   ,   s
    r,   )Únetworkxr   r   r   r,   r   r   r   r   Ú<module>   s    '