Ë
    D^(hâ	  ã                   óx   — d dl mZ d dlZd dlZd dlmZmZ d dlmZ d dl	m
Z
mZmZ  G d„ d«      Z G d„ d	«      Zy)
é    )ÚgroupbyN)Úgraph_atlasÚgraph_atlas_g)Ú
NUM_GRAPHS)Úedges_equalÚnodes_equalÚpairwisec                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚTestAtlasGraphz:Unit tests for the :func:`~networkx.graph_atlas` function.c                 óv   — t        j                  t        «      5  t        d«       d d d «       y # 1 sw Y   y xY w)Néÿÿÿÿ)ÚpytestÚraisesÚ
ValueErrorr   ©Úselfs    úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/networkx/generators/tests/test_atlas.pyÚtest_index_too_smallz#TestAtlasGraph.test_index_too_small   s*   € Ü�]‰]œ:Ó&ñ 	Ü˜ŒO÷	÷ 	ñ 	ús   š/¯8c                 ó~   — t        j                  t        «      5  t        t        «       d d d «       y # 1 sw Y   y xY w©N)r   r   r   r   r   r   s    r   Útest_index_too_largez#TestAtlasGraph.test_index_too_large   s+   € Ü�]‰]œ:Ó&ñ 	$Üœ
Ô#÷	$÷ 	$ñ 	$ús   š3³<c                 ó    — t        d«      }t        |j                  «       t        d«      «      sJ ‚t	        |j                  «       ddg«      sJ ‚y )Né   é   )r   é   )r   é   )r   r   ÚnodesÚranger   Úedges©r   ÚGs     r   Ú
test_graphzTestAtlasGraph.test_graph   s@   € Ü˜‹NˆÜ˜1Ÿ7™7›9¤e¨A£hÔ/Ð/Ð/Ü˜1Ÿ7™7›9 v¨vÐ&6Ô7Ð7Ñ7ó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r"   © r#   r   r   r      s   „ ÙDòò$ó8r#   r   c                   ó>   — e Zd ZdZed„ «       Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y)	ÚTestAtlasGraphGz<Unit tests for the :func:`~networkx.graph_atlas_g` function.c                 ó"   — t        «       | _        y r   )r   ÚGAG)Úclss    r   Úsetup_classzTestAtlasGraphG.setup_class   s   € ä“/ˆ�r#   c                 óè   — | j                   d   }|j                  «       dk(  sJ ‚|j                  «       dk(  sJ ‚| j                   d   }|j                  «       dk(  sJ ‚|j                  «       dk(  sJ ‚y )Nr   é   r   )r,   Únumber_of_nodesÚnumber_of_edgesr    s     r   Ú
test_sizeszTestAtlasGraphG.test_sizes#   sx   € Ø�H‰H�Q‰KˆØ× Ñ Ó" aÒ'Ð'Ð'Ø× Ñ Ó" aÒ'Ð'Ð'à�H‰H�Q‰KˆØ× Ñ Ó" aÒ'Ð'Ð'Ø× Ñ Ó" aÒ'Ð'Ñ'r#   c                 óx   — t        | j                  «      D ]"  \  }}t        |j                  dd  «      |k(  rŒ"J ‚ y ©Nr   )Ú	enumerater,   ÚintÚname)r   Úir!   s      r   Ú
test_nameszTestAtlasGraphG.test_names,   s:   € Ü˜dŸh™hÓ'ò 	(‰DˆAˆqÜ�q—v‘v˜a˜b�z“? aÓ'Ð'Ð'ñ	(r#   c                 ón   — t        t        t        | j                  «      «      D ]  \  }}||dz   k  rŒJ ‚ y r5   )r	   ÚmapÚlenr,   )r   Ún1Ún2s      r   Útest_nondecreasing_nodesz(TestAtlasGraphG.test_nondecreasing_nodes0   s5   € äœs¤3¨¯©Ó1Ó2ò 	 ‰FˆB�Ø˜˜a™“<Ð�<ñ	 r#   c                 óÈ   — t        | j                  t        j                  ¬«      D ]:  \  }}t	        t        t        j                  |«      «      D ]  \  }}||dz   k  rŒJ ‚ Œ< y )N©Úkeyr   )r   r,   Únxr1   r	   r<   r2   )r   ÚnÚgroupÚm1Úm2s        r   Útest_nondecreasing_edgesz(TestAtlasGraphG.test_nondecreasing_edges5   s]   € ô   §¡¬b×.@Ñ.@ÔAò 	$‰HˆAˆuÜ"¤3¤r×'9Ñ'9¸5Ó#AÓBò $‘��BØ˜R !™V“|Ð#�|ñ$ñ	$r#   c                 ó–  — g d¢}t        | j                  t        j                  ¬«      D ]�  \  }}t        |t        j                  ¬«      D ]z  \  }}t        |«      D ]g  \  }}|j                  |j                  f|v rŒ!t        d„ |j                  «       D «       «      }t        d„ |j                  «       D «       «      }||k  rŒgJ ‚ Œ| ŒŸ y )N))ÚG55ÚG56)ÚG1007ÚG1008)ÚG1012ÚG1013rB   c              3   ó&   K  — | ]	  \  }}|–— Œ y ­wr   r(   ©Ú.0ÚvÚds      r   ú	<genexpr>zETestAtlasGraphG.test_nondecreasing_degree_sequence.<locals>.<genexpr>I   ó   è ø€ Ò:¡d a¨¤Ñ:ùó   ‚c              3   ó&   K  — | ]	  \  }}|–— Œ y ­wr   r(   rR   s      r   rV   zETestAtlasGraphG.test_nondecreasing_degree_sequence.<locals>.<genexpr>J   rW   rX   )	r   r,   rD   r1   r2   r	   r8   ÚsortedÚdegree)	r   Ú
exceptionsrE   rF   ÚmÚG1ÚG2Úd1Úd2s	            r   Ú"test_nondecreasing_degree_sequencez2TestAtlasGraphG.test_nondecreasing_degree_sequence<   s´   € ò Nˆ
Ü §¡¬b×.@Ñ.@ÔAò 	$‰HˆAˆuÜ# E¬r×/AÑ/AÔBò $‘��5Ü& u›oò $‘F�B˜ØŸ™ §¡Ð)¨ZÑ7Ø ÜÑ:¨b¯i©i«kÔ:Ó:�BÜÑ:¨b¯i©i«kÔ:Ó:�BØ ›8�O˜8ñ$ñ$ñ	$r#   N)r$   r%   r&   r'   Úclassmethodr.   r3   r:   r@   rI   rb   r(   r#   r   r*   r*      s0   „ ÙFàñ"ó ð"ò(ò(ò ò
$ó$r#   r*   )Ú	itertoolsr   r   ÚnetworkxrD   r   r   Únetworkx.generators.atlasr   Únetworkx.utilsr   r   r	   r   r*   r(   r#   r   ú<module>rh      s.   ðÝ ã ã ß /Ý 0ß =Ñ =÷8ñ 8÷"/$ò /$r#   