Ë
    D^(hŠ(  ã                   óh   — d dl Z d dlZd dlmZ d dlmZ  G d„ d«      Z G d„ d«      Z G d„ d	«      Z	y)
é    N)Úline)Úedges_equalc                   óN   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zy)ÚTestGeneratorLinec                 ó®   — t        j                  d«      }t        j                  |«      }t        j                  |t        j                  d«      «      sJ ‚y ©Né   )ÚnxÚ
star_graphÚ
line_graphÚis_isomorphicÚcomplete_graph©ÚselfÚGÚLs      úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/networkx/generators/tests/test_line.pyÚ	test_starzTestGeneratorLine.test_star	   s?   € Ü�M‰M˜!ÓˆÜ�M‰M˜!ÓˆÜ×Ñ ¤2×#4Ñ#4°QÓ#7Ô8Ð8Ñ8ó    c                 ó®   — t        j                  d«      }t        j                  |«      }t        j                  |t        j                  d«      «      sJ ‚y )Nr	   é   )r
   Ú
path_graphr   r   r   s      r   Ú	test_pathzTestGeneratorLine.test_path   s=   € Ü�M‰M˜!ÓˆÜ�M‰M˜!ÓˆÜ×Ñ ¤2§=¡=°Ó#3Ô4Ð4Ñ4r   c                 óˆ   — t        j                  d«      }t        j                  |«      }t        j                  ||«      sJ ‚y r   )r
   Úcycle_graphr   r   r   s      r   Ú
test_cyclezTestGeneratorLine.test_cycle   s4   € Ü�N‰N˜1ÓˆÜ�M‰M˜!ÓˆÜ×Ñ  1Ô%Ð%Ñ%r   c                 ó†   — t        j                  g d¢«      }t        j                  |«      }|j                  i i i dœk(  sJ ‚y )N)©r   é   ©r   é   ©r   é   )r
   ÚDiGraphr   Úadjr   s      r   Útest_digraph1zTestGeneratorLine.test_digraph1   s8   € Ü�J‰JÒ/Ó0ˆÜ�M‰M˜!Óˆà�u‰u ¨R¸Ñ<Ò<Ð<Ñ<r   c                 ó˜   — t        j                  g d¢«      }t        j                  |«      }t        |j	                  «       g d¢«      sJ ‚y )N)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   r!   )r)   r,   )r)   r*   )r)   r-   )r)   r+   )r,   r-   )r,   r*   )r,   r+   )r-   r*   )r-   r+   )r*   r+   ©r
   Ú
MultiGraphr   r   Úedgesr   s      r   Útest_multigraph1z"TestGeneratorLine.test_multigraph1   s?   € Ü�M‰MÒJÓKˆÜ�M‰M˜!ÓˆäØ�G‰G‹Iòô
ð 	
ñ 
r   c                 ó–   — t        j                  ddg«      }t        j                  |«      }t        |j	                  «       dg«      sJ ‚y )N©r   r!   ©r!   r   )©r   r!   r   )r   r!   r   r.   r   s      r   Útest_multigraph2z"TestGeneratorLine.test_multigraph27   s=   € Ü�M‰M˜6 6Ð*Ó+ˆÜ�M‰M˜!ÓˆÜ˜1Ÿ7™7›9Ð'=Ð&>Ô?Ð?Ñ?r   c                 ó˜   — t        j                  ddg«      }t        j                  |«      }t        |j	                  «       ddg«      sJ ‚y )Nr3   r4   )r5   ©r!   r   r   )r8   r5   ©r
   ÚMultiDiGraphr   r   r0   r   s      r   Útest_multidigraph1z$TestGeneratorLine.test_multidigraph1<   s@   € Ü�O‰O˜V VÐ,Ó-ˆÜ�M‰M˜!ÓˆÜ˜1Ÿ7™7›9Ð'=Ð?UÐ&VÔWÐWÑWr   c                 ó˜   — t        j                  g d¢«      }t        j                  |«      }t        |j	                  «       g d¢«      sJ ‚y )N)r   r   r   r3   ))r)   r5   )r,   r5   )r-   r5   r9   r   s      r   Útest_multidigraph2z$TestGeneratorLine.test_multidigraph2A   s=   € Ü�O‰OÒ<Ó=ˆÜ�M‰M˜!ÓˆÜØ�G‰G‹IÚTô
ð 	
ñ 
r   c                 ó˜   — t        j                  g d¢«      }t        j                  |«      }t        |j	                  «       ddg«      sJ ‚y )N©r   r3   ©r!   r#   ©r   r3   ©r3   r@   )r
   r$   r   r   r0   r   s      r   Útest_digraph2zTestGeneratorLine.test_digraph2I   s<   € Ü�J‰JÒ/Ó0ˆÜ�M‰M˜!ÓˆÜ˜1Ÿ7™7›9Ð'7Ð9IÐ&JÔKÐKÑKr   c                 óÀ   — t        j                  g d¢«      }t        j                  |t        j                  «       ¬«      }t	        |j                  «       ddg«      sJ ‚y ©Nr?   )Úcreate_usingrA   rB   )r
   r$   r   ÚGraphr   r0   r   s      r   Útest_create1zTestGeneratorLine.test_create1N   sD   € Ü�J‰JÒ/Ó0ˆÜ�M‰M˜!¬"¯(©(«*Ô5ˆÜ˜1Ÿ7™7›9Ð'7Ð9IÐ&JÔKÐKÑKr   c                 óÀ   — t        j                  g d¢«      }t        j                  |t        j                  «       ¬«      }t	        |j                  «       ddg«      sJ ‚y rE   )r
   rG   r   r$   r   r0   r   s      r   Útest_create2zTestGeneratorLine.test_create2S   sD   € Ü�H‰HÒ-Ó.ˆÜ�M‰M˜!¬"¯*©*«,Ô7ˆÜ˜1Ÿ7™7›9Ð'7Ð9IÐ&JÔKÐKÑKr   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r&   r1   r6   r;   r=   rC   rH   rJ   © r   r   r   r      s>   „ ò9ò
5ò
&ò
=ò
ò2@ò
Xò

òLò
Ló
Lr   r   c                   ó„   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestGeneratorInverseLinec                 óL  — t        j                  «       }ddgddgddgddgddgddgddgddgddgddgddgddgddgg}|j                  |«       t        j                  |«      }t        j                  «       }g d	¢}|j                  |«       t        j                  ||«      sJ ‚y )
Nr   r!   r#   r   r	   é   é   é   ))ÚaÚb©rU   Úc)rU   Úd)rU   Úe©rX   rY   )rZ   Úf)rZ   Úg)r\   r]   ©r
   rG   Úadd_edges_fromÚinverse_line_graphr   ©r   r   ÚG_edgesÚHÚsolutionÚsolution_edgess         r   Útest_examplez%TestGeneratorInverseLine.test_exampleZ   sÇ   € Ü�H‰H‹Jˆà�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFð
ˆð 	
×Ñ˜Ô!Ü×!Ñ! !Ó$ˆÜ—8‘8“:ˆò	
ˆð 	×Ñ Ô/Ü×Ñ  8Ô,Ð,Ñ,r   c                 ó"  — t        j                  «       }ddgddgddgddgddgddgg}|j                  |«       t        j                  |«      }t        j                  «       }g d¢}|j                  |«       t        j                  ||«      sJ ‚y )Nr   r!   r#   r   r	   )rW   )rV   rX   r[   )rY   rZ   )rY   r\   r^   ra   s         r   Útest_example_2z'TestGeneratorInverseLine.test_example_2{   s‰   € Ü�H‰H‹JˆØ�q�6˜A˜q˜6 A q 6¨A¨q¨6°A°q°6¸A¸q¸6ÐBˆØ	×Ñ˜Ô!Ü×!Ñ! !Ó$ˆÜ—8‘8“:ˆÚUˆØ×Ñ Ô/Ü×Ñ  8Ô,Ð,Ñ,r   c                 ó²   — t        j                  d«      }t        j                  |«      }t        j                  d«      }t        j                  ||«      sJ ‚y )Nr!   r#   ©r
   r   r`   r   ©r   r   rc   rd   s       r   Ú	test_pairz"TestGeneratorInverseLine.test_pair…   sD   € Ü�M‰M˜!ÓˆÜ×!Ñ! !Ó$ˆÜ—=‘= Ó#ˆÜ×Ñ  8Ô,Ð,Ñ,r   c                 ó²   — t        j                  d«      }t        j                  d«      }t        j                  |«      }t        j                  ||«      sJ ‚y )Nr	   rR   rj   )r   r   rd   rc   s       r   Ú	test_linez"TestGeneratorInverseLine.test_line‹   sD   € Ü�M‰M˜!ÓˆÜ—=‘= Ó#ˆÜ×!Ñ! !Ó$ˆÜ×Ñ  8Ô,Ð,Ñ,r   c                 ó  — t        j                  d«      }t        j                  |«      }t        j                  «       }|j	                  ddgddgddgg«       t        j
                  ||«      st        j
                  ||«      sJ ‚y y )Nr#   r   r   r!   )r
   r   r`   rG   r_   r   )r   r   rc   Úalternative_solutions       r   Útest_triangle_graphz,TestGeneratorInverseLine.test_triangle_graph‘   s}   € Ü×Ñ˜aÓ ˆÜ×!Ñ! !Ó$ˆÜ!Ÿx™x›zÐØ×+Ñ+¨a°¨V°a¸°V¸aÀ¸VÐ,DÔEô ×Ñ  1Ô%¬×)9Ñ)9¸!Ð=QÔ)RÐRÐRÐ)RÐ%r   c                 óˆ   — t        j                  d«      }t        j                  |«      }t        j                  ||«      sJ ‚y r   )r
   r   r`   r   ©r   r   rc   s      r   r   z#TestGeneratorInverseLine.test_cycleš   s6   € Ü�N‰N˜1ÓˆÜ×!Ñ! !Ó$ˆÜ×Ñ  1Ô%Ð%Ñ%r   c                 ó¬   — t        j                  «       }t        j                  |«      }t        j                  |t        j                  d«      «      sJ ‚y )Nr   )r
   rG   r`   r   r   rs   s      r   Ú
test_emptyz#TestGeneratorInverseLine.test_emptyŸ   s>   € Ü�H‰H‹JˆÜ×!Ñ! !Ó$ˆÜ×Ñ ¤2×#4Ñ#4°QÓ#7Ô8Ð8Ñ8r   c                 ó²   — t        j                  d«      }t        j                  |«      }t        j                  d«      }t        j                  ||«      sJ ‚y )Nr   r!   )r
   r   r`   r   r   rk   s       r   Útest_K1z TestGeneratorInverseLine.test_K1¤   sF   € Ü×Ñ˜aÓ ˆÜ×!Ñ! !Ó$ˆÜ—=‘= Ó#ˆÜ×Ñ  8Ô,Ð,Ñ,r   c                 óÌ   — t        j                  d«      }t        j                  t         j                  d¬«      5  t        j
                  |«       d d d «       y # 1 sw Y   y xY w)Nr	   zedgeless graph)Úmatch)r
   Úempty_graphÚpytestÚraisesÚNetworkXErrorr`   ©r   r   s     r   Útest_edgeless_graphz,TestGeneratorInverseLine.test_edgeless_graphª   sH   € Ü�N‰N˜1ÓˆÜ�]‰]œ2×+Ñ+Ð3CÔDñ 	%Ü×!Ñ! !Ô$÷	%÷ 	%ñ 	%ús   »AÁA#c                 ó¸   — t        j                  d«      }|j                  dd«       t        j                  t         j
                  t         j                  |«       y )Nr   r   )r
   r   Úadd_edger{   r|   r}   r`   r~   s     r   Útest_selfloops_errorz-TestGeneratorInverseLine.test_selfloops_error¯   s:   € Ü�N‰N˜1ÓˆØ	�
‰
�1�aÔÜ�‰”b×&Ñ&¬×(=Ñ(=¸qÕAr   c                 óž  — t        j                  d«      }t        j                  t         j                  t         j
                  |«       t        j                  d«      }t        j                  t         j                  t         j
                  |«       t        j                  d«      }|j                  dd«       t        j                  t         j                  t         j
                  |«       t        j                  t        j                  d«      t        j                  dd«      «      }t        j                  t         j                  t         j
                  |«       t        j                  «       }|j                  ddg«       t        j                  t         j                  t         j
                  |«       |j                  d	d«       t        j                  t         j                  t         j
                  |«       t        j                  «       }|j                  dd
g«       t        j                  t         j                  t         j
                  |«       t        j                  «       }|j                  g d¢«       t        j                  t         j                  t         j
                  |«       |j                  ddg«       t        j                  t         j                  t         j
                  |«       t        j                  «       }|j                  g d¢«       t        j                  t         j                  t         j
                  |«       y )Nr#   rR   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|   r}   r`   Úwheel_graphr   Úremove_edgeÚcomposer   Úcomplete_bipartite_graphÚdiamond_graphr_   r�   )r   ÚclawÚwheelÚK5mr   s        r   Útest_non_line_graphsz-TestGeneratorInverseLine.test_non_line_graphs´   s'  € ô
 �}‰}˜QÓˆÜ�‰”b×&Ñ&¬×(=Ñ(=¸tÔDô —‘˜qÓ!ˆÜ�‰”b×&Ñ&¬×(=Ñ(=¸uÔEô ×Ñ Ó"ˆØ�‰˜˜1ÔÜ�‰”b×&Ñ&¬×(=Ñ(=¸sÔCô �J‰J”r—}‘} QÓ'¬×)DÑ)DÀQÈÓ)JÓKˆÜ�‰”b×&Ñ&¬×(=Ñ(=¸qÔAô
 ×ÑÓˆØ	×Ñ˜& &Ð)Ô*Ü�‰”b×&Ñ&¬×(=Ñ(=¸qÔAØ	�
‰
�1�aÔÜ�‰”b×&Ñ&¬×(=Ñ(=¸qÔAô ×ÑÓˆØ	×Ñ˜& &Ð)Ô*Ü�‰”b×&Ñ&¬×(=Ñ(=¸qÔAô ×ÑÓˆØ	×ÑÒ9Ô:Ü�‰”b×&Ñ&¬×(=Ñ(=¸qÔAØ	×Ñ˜& &Ð)Ô*Ü�‰”b×&Ñ&¬×(=Ñ(=¸qÔAô ×ÑÓˆØ	×ÑÒ9Ô:Ü�‰”b×&Ñ&¬×(=Ñ(=¸qÕAr   c                 ó�  — t        j                  «       }ddgddgddgg}|j                  |«       t        j                  t         j
                  t         j                  |«       t        j                  «       }ddgddgddgg}|j                  |«       t        j                  t         j
                  t         j                  |«       y )Nr   r   r!   r#   )r
   r$   r_   r{   r|   ÚNetworkXNotImplementedr`   r/   )r   r   rb   s      r   Útest_wrong_graph_typez.TestGeneratorInverseLine.test_wrong_graph_typeã   sœ   € Ü�J‰J‹LˆØ�q�6˜A˜q˜6 A q 6Ð*ˆØ	×Ñ˜Ô!Ü�‰”b×/Ñ/´×1FÑ1FÈÔJä�M‰M‹OˆØ�q�6˜A˜q˜6 A q 6Ð*ˆØ	×Ñ˜Ô!Ü�‰”b×/Ñ/´×1FÑ1FÈÕJr   c                 ó²   — t        j                  d«      }t        j                  |«      }t        j                  |«      }t        j                  ||«      sJ ‚y ©Né
   )r
   r   r   r`   r   ©r   r   rc   ÚJs       r   Útest_line_inverse_line_completez8TestGeneratorInverseLine.test_line_inverse_line_completeî   sF   € Ü×Ñ˜bÓ!ˆÜ�M‰M˜!ÓˆÜ×!Ñ! !Ó$ˆÜ×Ñ  1Ô%Ð%Ñ%r   c                 ó²   — t        j                  d«      }t        j                  |«      }t        j                  |«      }t        j                  ||«      sJ ‚y r•   ©r
   r   r   r`   r   r—   s       r   Útest_line_inverse_line_pathz4TestGeneratorInverseLine.test_line_inverse_line_pathô   óD   € Ü�M‰M˜"ÓˆÜ�M‰M˜!ÓˆÜ×!Ñ! !Ó$ˆÜ×Ñ  1Ô%Ð%Ñ%r   c                 ó²   — t        j                  d«      }t        j                  |«      }t        j                  |«      }t        j                  ||«      sJ ‚y r   )r
   Úhypercube_graphr   r`   r   r—   s       r   Ú test_line_inverse_line_hypercubez9TestGeneratorInverseLine.test_line_inverse_line_hypercubeú   sF   € Ü×Ñ˜qÓ!ˆÜ�M‰M˜!ÓˆÜ×!Ñ! !Ó$ˆÜ×Ñ  1Ô%Ð%Ñ%r   c                 ó²   — t        j                  d«      }t        j                  |«      }t        j                  |«      }t        j                  ||«      sJ ‚y r•   )r
   r   r   r`   r   r—   s       r   Útest_line_inverse_line_cyclez5TestGeneratorInverseLine.test_line_inverse_line_cycle   sD   € Ü�N‰N˜2ÓˆÜ�M‰M˜!ÓˆÜ×!Ñ! !Ó$ˆÜ×Ñ  1Ô%Ð%Ñ%r   c                 ó²   — t        j                  d«      }t        j                  |«      }t        j                  |«      }t        j                  ||«      sJ ‚y )Né   )r
   r   r   r`   r   r—   s       r   Útest_line_inverse_line_starz4TestGeneratorInverseLine.test_line_inverse_line_star  r�   r   c                 ó¶   — t        j                  ddd«      }t        j                  |«      }t        j                  |«      }t        j                  ||«      sJ ‚y )Nr#   r   r	   )r
   Úcomplete_multipartite_graphr   r`   r   r—   s       r   Ú#test_line_inverse_line_multipartitez<TestGeneratorInverseLine.test_line_inverse_line_multipartite  sJ   € Ü×*Ñ*¨1¨a°Ó3ˆÜ�M‰M˜!ÓˆÜ×!Ñ! !Ó$ˆÜ×Ñ  1Ô%Ð%Ñ%r   c                 ó²   — t        j                  d«      }t        j                  |«      }t        j                  |«      }t        j                  ||«      sJ ‚y )Nr   )r
   Ú dorogovtsev_goltsev_mendes_graphr   r`   r   r—   s       r   Útest_line_inverse_line_dgmz3TestGeneratorInverseLine.test_line_inverse_line_dgm  sF   € Ü×/Ñ/°Ó2ˆÜ�M‰M˜!ÓˆÜ×!Ñ! !Ó$ˆÜ×Ñ  1Ô%Ð%Ñ%r   c                 ó¶   — t        j                  g d¢«      }t        j                  |«      }t        j                  |«      }t        j                  ||«      sJ ‚y )N)r   r!   r#   rU   rV   rX   r›   r—   s       r   Útest_line_different_node_typesz7TestGeneratorInverseLine.test_line_different_node_types  sE   € Ü�M‰MÒ2Ó3ˆÜ�M‰M˜!ÓˆÜ×!Ñ! !Ó$ˆÜ×Ñ  1Ô%Ð%Ñ%r   N)rK   rL   rM   rf   rh   rl   rn   rq   r   ru   rw   r   r‚   r�   r“   r™   rœ   r    r¢   r¥   r¨   r«   r­   rN   r   r   rP   rP   Y   sl   „ ò-òB-ò-ò-òSò&ò
9ò
-ò%ò
Bò
-Bò^	Kò&ò&ò&ò&ò&ò&ò&ó&r   rP   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestGeneratorPrivateFunctionsc                 óü   — t        j                  «       }t        j                  t         j                  t
        j                  |d«       t        j                  t         j                  t
        j                  |d«       y ©Nr„   r"   )r
   rŒ   r{   r|   r}   r   Ú
_trianglesr~   s     r   Útest_triangles_errorz2TestGeneratorPrivateFunctions.test_triangles_error   sH   € Ü×ÑÓˆÜ�‰”b×&Ñ&¬¯©¸¸FÔCÜ�‰”b×&Ñ&¬¯©¸¸FÕCr   c                 óü   — t        j                  «       }t        j                  t         j                  t
        j                  |d«       t        j                  t         j                  t
        j                  |d«       y )N)r   r   r   )r   r   r#   )r
   rŒ   r{   r|   r}   r   Ú_odd_triangler~   s     r   Útest_odd_triangles_errorz6TestGeneratorPrivateFunctions.test_odd_triangles_error%  sL   € Ü×ÑÓˆÜ�‰”b×&Ñ&¬×(:Ñ(:¸A¸yÔIÜ�‰”b×&Ñ&¬×(:Ñ(:¸A¸yÕIr   c                 óü   — t        j                  «       }t        j                  t         j                  t
        j                  |d«       t        j                  t         j                  t
        j                  |d«       y r±   )r
   rŒ   r{   r|   r}   r   Ú_select_starting_cellr~   s     r   Útest_select_starting_cell_errorz=TestGeneratorPrivateFunctions.test_select_starting_cell_error*  sL   € Ü×ÑÓˆÜ�‰”b×&Ñ&¬×(BÑ(BÀAÀvÔNÜ�‰”b×&Ñ&¬×(BÑ(BÀAÀvÕNr   c                 óÎ   ‡‡— t        j                  «       Š‰j                  D ]@  }t        j                  ‰|¬«      Št        ‰«      dk(  sJ ‚t        ˆˆfd„‰D «       «      rŒ@J ‚ y )N)Ústarting_edger#   c              3   óF   •K  — | ]  }‰D ]  }||k7  sŒ	|‰|   v –— Œ Œ y ­w)NrN   )Ú.0ÚuÚvr   Úcells      €€r   ú	<genexpr>zCTestGeneratorPrivateFunctions.test_diamond_graph.<locals>.<genexpr>5  s+   øè ø€ ÒG Q¸ÒG°1ÀÀQÃ�q˜A˜a™D”yÐG�yÑGùs   ƒ!“!)r
   rŒ   r0   r   r¸   ÚlenÚall)r   Úedger   rÀ   s     @@r   Útest_diamond_graphz0TestGeneratorPrivateFunctions.test_diamond_graph/  s\   ù€ Ü×ÑÓˆØ—G‘Gò 	HˆDÜ×-Ñ-¨a¸tÔDˆDä�t“9 ’>Ð!�>ÜÔG¨$ÔGÕGÐGÐGñ		Hr   N)rK   rL   rM   r³   r¶   r¹   rÅ   rN   r   r   r¯   r¯     s   „ òDò
Jò
Oó
Hr   r¯   )
r{   Únetworkxr
   Únetworkx.generatorsr   Únetworkx.utilsr   r   rP   r¯   rN   r   r   ú<module>rÉ      s9   ðÛ ã Ý $Ý &÷NLñ NL÷bC&ñ C&÷LHò Hr   