Ë
    ©Ó^j)  ã                   ó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      ún/var/www/ramen.bs-engineer-server.com/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d¬«      sJ ‚y )Nr3   r4   )r5   ©r!   r   r   )r8   r5   T©Údirected©r
   ÚMultiDiGraphr   r   r0   r   s      r   Útest_multidigraph1z$TestGeneratorLine.test_multidigraph1<   sJ   € Ü�O‰O˜V VÐ,Ó-ˆÜ�M‰M˜!ÓˆÜØ�G‰G‹IÐ.Ð0FÐGÐRVõ
ð 	
ñ 
r   c                 óœ   — t        j                  g d¢«      }t        j                  |«      }t        |j	                  «       g d¢d¬«      sJ ‚y )N)r   r   r   r3   ))r)   r5   )r,   r5   )r-   r5   Tr9   r;   r   s      r   Útest_multidigraph2z$TestGeneratorLine.test_multidigraph2C   s@   € Ü�O‰OÒ<Ó=ˆÜ�M‰M˜!ÓˆÜØ�G‰G‹IÚTØõ
ð 	
ñ 
r   c                 óœ   — t        j                  g d¢«      }t        j                  |«      }t        |j	                  «       ddgd¬«      sJ ‚y )N©r   r3   ©r!   r#   ©r   r3   ©r3   rB   Tr9   )r
   r$   r   r   r0   r   s      r   Útest_digraph2zTestGeneratorLine.test_digraph2L   sE   € Ü�J‰JÒ/Ó0ˆÜ�M‰M˜!ÓˆÜØ�G‰G‹IÐ(Ð*:Ð;Àdõ
ð 	
ñ 
r   c                 óÀ   — t        j                  g d¢«      }t        j                  |t        j                  «       ¬«      }t	        |j                  «       ddg«      sJ ‚y )NrA   ©Úcreate_usingrC   rD   )r
   r$   r   ÚGraphr   r0   r   s      r   Útest_create1zTestGeneratorLine.test_create1S   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d¬«      sJ ‚y )NrA   rG   rC   rD   Tr9   )r
   rI   r   r$   r   r0   r   s      r   Útest_create2zTestGeneratorLine.test_create2X   sM   € Ü�H‰HÒ-Ó.ˆÜ�M‰M˜!¬"¯*©*«,Ô7ˆÜØ�G‰G‹IÐ(Ð*:Ð;Àdõ
ð 	
ñ 
r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r&   r1   r6   r=   r?   rE   rJ   rL   © r   r   r   r      s;   „ ò9ò
5ò
&ò
=ò
ò2@ò

ò
ò
ò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©rW   Úc)rW   Úd)rW   Úe©rZ   r[   )r\   Úf)r\   Úg)r^   r_   ©r
   rI   Úadd_edges_fromÚinverse_line_graphr   ©r   r   ÚG_edgesÚHÚsolutionÚsolution_edgess         r   Útest_examplez%TestGeneratorInverseLine.test_examplea   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	   )rY   )rX   rZ   r]   )r[   r\   )r[   r^   r`   rc   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   rb   r   ©r   r   re   rf   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	   rT   rl   )r   r   rf   re   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   rb   rI   ra   r   )r   r   re   Ú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   rb   r   ©r   r   re   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
   rI   rb   r   r   ru   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   rb   r   r   rm   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ÚNetworkXErrorrb   ©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   rb   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#   rT   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   rb   Úwheel_graphr   Úremove_edgeÚcomposer   Úcomplete_bipartite_graphÚdiamond_graphra   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$   ra   r}   r~   ÚNetworkXNotImplementedrb   r/   )r   r   rd   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   rb   r   ©r   r   re   Ú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   rb   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   rb   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   rb   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   rb   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   rb   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   rb   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#   rW   rX   rZ   r�   r™   s       r   Útest_line_different_node_typesz7TestGeneratorInverseLine.test_line_different_node_types  sE   € Ü�M‰MÒ2Ó3ˆÜ�M‰M˜!ÓˆÜ×!Ñ! !Ó$ˆÜ×Ñ  1Ô%Ð%Ñ%r   N)rM   rN   rO   rh   rj   rn   rp   rs   r   rw   ry   r�   r„   r’   r•   r›   rž   r¢   r¤   r§   rª   r­   r¯   rP   r   r   rR   rR   `   sl   „ ò-òB-ò-ò-òSò&ò
9ò
-ò%ò
Bò
-Bò^	Kò&ò&ò&ò&ò&ò&ò&ó&r   rR   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_error1  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)NrP   )Ú.0ÚuÚvr   Úcells      €€r   ú	<genexpr>zCTestGeneratorPrivateFunctions.test_diamond_graph.<locals>.<genexpr><  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_graph6  s\   ù€ Ü×ÑÓˆØ—G‘Gò 	HˆDÜ×-Ñ-¨a¸tÔDˆDä�t“9 ’>Ð!�>ÜÔG¨$ÔGÕGÐGÐGñ		Hr   N)rM   rN   rO   rµ   r¸   r»   rÇ   rP   r   r   r±   r±   &  s   „ òDò
Jò
Oó
Hr   r±   )
r}   Únetworkxr
   Únetworkx.generatorsr   Únetworkx.utilsr   r   rR   r±   rP   r   r   ú<module>rË      s7   ðÛ ã Ý $Ý &÷U
ñ U
÷pC&ñ C&÷LHò Hr   