
    h                     X    S SK Jr  S SKrS SKrS SKJrJr   " S S5      r " S S5      r	g)    )BytesION)edges_equalnodes_equalc                   ,    \ rS rSrS rS rS rS rSrg)TestSparseGraph6	   c                     Sn[         R                  " U5      n[        [        UR	                  5       5      / SQ5      (       d   e[        UR                  5       / SQ5      (       d   eg )N   :Q___eDcdFcDeFcE`GaJ`IaHbKNbLM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   r   )r   r   )r   r   )nxfrom_sparse6_bytesr   sortednodesr   edges)selfdataGs      W/var/www/html/env/lib/python3.13/site-packages/networkx/readwrite/tests/test_sparse6.pytest_from_sparse6_bytes(TestSparseGraph6.test_from_sparse6_bytes
   sf    0!!$'1779J
 
 	
 
 GGI
 
 	
 
    c                     Sn[         R                  " U5      n[        U5      [         R                  :X  d   eSn[         R                  " U5      n[        U5      [         R                  :X  d   eg )Ns   :Ans   :Ab)r   r   typeGraph
MultiGraph)r!   
graph_datar#   multigraph_dataMs        r$    test_from_bytes_multigraph_graph1TestSparseGraph6.test_from_bytes_multigraph_graph2   sX    
!!*-Aw"((""" !!/2Aw"--'''r'   c                 2   Sn[         R                  " U5      n[        U5      n[         R                  " U5      n[	        UR                  5       UR                  5       5      (       d   e[        UR                  5       UR                  5       5      (       d   eg )Nr
   )r   r   r   read_sparse6r   r   r   r    )r!   r"   r#   fhGins        r$   test_read_sparse6"TestSparseGraph6.test_read_sparse6:   sl    0!!$'T]oob!1779ciik22221779ciik2222r'   c                     Sn[        U5      n[        R                  " U5      n[        U5      S:X  d   eU H&  n[	        UR                  5       / SQ5      (       a  M&   e   g )Ns>   :Q___eDcdFcDeFcE`GaJ`IaHbKNbLM
:Q___dCfDEdcEgcbEGbFIaJ`JaHN`IMr   r   )r   r   r2   lenr   r   )r!   r"   r3   glistr#   s        r$   test_read_many_graph6&TestSparseGraph6.test_read_many_graph6B   s[    UT]#5zQA	N    r'    N)	__name__
__module____qualname____firstlineno__r%   r/   r5   r:   __static_attributes__r<   r'   r$   r   r   	   s    &
P(3
r'   r   c                   `    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rSrg)TestWriteSparse6O   zUnit tests for writing graphs in the sparse6 format.

Most of the test cases were checked against the sparse6 encoder in Sage.

c                     [         R                  " 5       n[        5       n[         R                  " X5        UR	                  5       S:X  d   eg )N   >>sparse6<<:?
)r   
null_graphr   write_sparse6getvaluer!   r#   results      r$   test_null_graph TestWriteSparse6.test_null_graphV   s8    MMO
# $6666r'   c                     [         R                  " 5       n[        5       n[         R                  " X5        UR	                  5       S:X  d   eg )Ns   >>sparse6<<:@
)r   trivial_graphr   rH   rI   rJ   s      r$   test_trivial_graph#TestWriteSparse6.test_trivial_graph\   s;    
# $6666r'   c                     [         R                  " S5      n[        5       n[         R                  " X5        UR	                  5       S:X  d   eg )Nr   s   >>sparse6<<:D
r   empty_graphr   rH   rI   rJ   s      r$   test_empty_graph!TestWriteSparse6.test_empty_graphb   s;    NN1
# $6666r'   c                     [         R                  " S5      n[        5       n[         R                  " X5        UR	                  5       S:X  d   eg )ND   s   >>sparse6<<:~?@C
rS   rJ   s      r$   test_large_empty_graph'TestWriteSparse6.test_large_empty_graphh   s;    NN2
# $9999r'   c                     [         R                  " S5      n[        5       n[         R                  " X5        UR	                  5       S:X  d   eg )Ni s   >>sparse6<<:~~???~?@
rS   rJ   s      r$   test_very_large_empty_graph,TestWriteSparse6.test_very_large_empty_graphn   s;    NN6"
# $====r'   c                     [         R                  " S5      n[        5       n[         R                  " X5        UR	                  5       S:X  d   eg )Nr   s   >>sparse6<<:CcKI
r   complete_graphr   rH   rI   rJ   s      r$   test_complete_graph$TestWriteSparse6.test_complete_grapht   s=    a 
# $9999r'   c                     [         R                  " S5      n[        5       n[         R                  " XSS9  UR	                  5       S:X  d   eg )Nr   Fheaders   :CcKI
r_   rJ   s      r$   test_no_headerTestWriteSparse6.test_no_headerz   s>    a 
51 J...r'   c                     Sn[        USS9 HS  u  p#[        R                  " U5      n[        5       n[        R                  " XESS9  UR                  5       US-   :X  a  MS   e   g )N)s   :Cdvs   :DaYns   :EaYnNs   :FaYnLs   :GaYnLzr   )startFrd      
)	enumerater   
path_graphr   rH   rI   )r!   codesncoder#   rK   s         r$   test_paddingTestWriteSparse6.test_padding   sX    E a0GAa AYFQu5??$u444	 1r'   c                     [         R                  " SS5      n[        5       n[         R                  " X5        SnUR	                  5       U:X  d   eg )Nr   r   s<   >>sparse6<<:Nk?G`cJ?G`cJ?G`cJ?G`cJ?G`cJ?G`cJ?G`cJ?G`cJ?G`cJ
)r   complete_bipartite_graphr   rH   rI   )r!   r#   rK   expecteds       r$   test_complete_bipartite(TestWriteSparse6.test_complete_bipartite   sC    ''1-
#; H,,,r'   c                    [        [        S5      5      / SQ-    H  n[        SU-  X-  S-  5      n[        R                  R                  XUS9n[        5       n[        R                  " X4SS9  UR                  5       R                  5       n[        R                  " U5      nUR                  5       UR                  5       :X  d   e[        UR                  5       UR                  5       5      (       a  M   e   g )Nr   )   /   >   ?   @   H   r   )seedFrd   )listrangeminr   random_graphsgnm_random_graphr   rH   rI   rstripr   orderr   r    )r!   imggstrg2s         r$   test_read_write_inverse(TestWriteSparse6.test_read_write_inverse   s    eBi#;;AAE15A:&A  11!Q1?A9DQU3==?))+D&&t,B88:***rxxz17795555 <r'   c                     [         R                  " [        R                  5         [        R                  " [        R
                  " 5       [        5       5        S S S 5        g ! , (       d  f       g = f)N)pytestraisesr   NetworkXNotImplementedrH   DiGraphr   )r!   s    r$   test_no_directed_graphs(TestWriteSparse6.test_no_directed_graphs   s8    ]]2445RZZ\795 655s   3A!!
A/c                     [        US-  5      n[        R                  " [        R                  " 5       U5        [	        USS9 nUR                  5       S:X  d   e S S S 5        g ! , (       d  f       g = f)Nztest.s6rb)moderF   )strr   rH   rG   openread)r!   tmp_pathfullfilenamer3   s       r$   test_write_path TestWriteSparse6.test_write_path   sT    8i/0
,7,T*b779 2222 +**s   A$$
A2r<   N)r=   r>   r?   r@   __doc__rL   rP   rU   rY   r\   ra   rf   rp   ru   r   r   r   rA   r<   r'   r$   rC   rC   O   sC    777:>:/5-
663r'   rC   )
ior   r   networkxr   networkx.utilsr   r   r   rC   r<   r'   r$   <module>r      s*       3C CLW3 W3r'   