
    9iX                     4    S r SSKrSSKJrJr   " S S5      rg)z
Pajek tests
    N)edges_equalnodes_equalc                   T    \ rS rSr\S 5       rS rS rS rS r	S r
S rS	 rS
 rSrg)	TestPajek	   c                     SU l         [        R                  " 5       U l        U R                  R	                  / SQ5        U R                  R                  / SQ5        SU R                  R                  S'   g )Na`  *network Tralala
*vertices 4
   1 "A1"         0.0938 0.0896   ellipse x_fact 1 y_fact 1
   2 "Bb"         0.8188 0.2458   ellipse x_fact 1 y_fact 1
   3 "C"          0.3688 0.7792   ellipse x_fact 1
   4 "D2"         0.9583 0.8563   ellipse x_fact 1
*arcs
1 1 1  h2 0 w 3 c Blue s 3 a1 -130 k1 0.6 a2 -130 k2 0.6 ap 0.5 l "Bezier loop" lc BlueViolet fos 20 lr 58 lp 0.3 la 360
2 1 1  h2 0 a1 120 k1 1.3 a2 -120 k2 0.3 ap 25 l "Bezier arc" lphi 270 la 180 lr 19 lp 0.5
1 2 1  h2 0 a1 40 k1 2.8 a2 30 k2 0.8 ap 25 l "Bezier arc" lphi 90 la 0 lp 0.65
4 2 -1  h2 0 w 1 k1 -2 k2 250 ap 25 l "Circular arc" c Red lc OrangeRed
3 4 1  p Dashed h2 0 w 2 c OliveGreen ap 25 l "Straight arc" lc PineGreen
1 3 1  p Dashed h2 0 w 5 k1 -1 k2 -20 ap 25 l "Oval arc" c Brown lc Black
3 3 -1  h1 6 w 1 h2 12 k1 -2 k2 -15 ap 0.5 l "Circular loop" c Red lc OrangeRed lphi 270 la 180A1BbCD2)r
   r
   )r
   r   )r
   r   )r   r
   )r   r   )r   r   )r   r   Tralalaname)datanxMultiDiGraphGadd_nodes_fromadd_edges_fromgraph)clss    c/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/networkx/readwrite/tests/test_pajek.pysetup_classTestPajek.setup_class
   sX     G!45
	
 (F    c                     Sn[         R                  " U5      n[        UR                  5       5      SS/:X  d   e[	        UR                  5       SS/5      (       d   eg )Nz&*Vertices 2
1 "1"
2 "2"
*Edges
1 2
2 112)r   r   )r   parse_pajeksortednodesr   edgesselfr   r   s      r   test_parse_pajek_simple!TestPajek.test_parse_pajek_simple   sP    @NN4 aggi S#J...1779z:&>????r   c                     [         R                  " U R                  5      n[        UR	                  5       5      / SQ:X  d   e[        UR                  5       / SQSS9(       d   eg )Nr	   r   Tdirected)r   r    r   r!   r"   r   r#   )r%   r   s     r   test_parse_pajekTestPajek.test_parse_pajek$   sS    NN499%aggi $;;;;GGI 
 	
 
r   c                     Sn[         R                  " U5      n[        UR                  5       5      1 Sk:X  d   eUR                  S   SS0:X  d   e[	        UR                  5       / SQSS9(       d   eg )	Nz@*Vertices 3
1 "one"
2 "two"
3 "three"
*Matrix
1 1 0
0 1 0
0 1 0
>   onetwothreer/   idr   ))r.   r.   )r.   r/   )r/   r/   )r0   r/   Tr)   )r   r    setr"   r   r#   r$   s      r   test_parse_pajek_matTestPajek.test_parse_pajek_mat5   si    ]NN4 1779~!8888wwu~$,,,GGIN
 	
 
r   c                    [         R                  " U R                  5      nUS-  n[        US5       nUR	                  U R                  R                  S5      5        S S S 5        [         R                  " U5      n[        UR                  5       5      [        UR                  5       5      :X  d   e[        UR                  5       UR                  5       SS9(       d   eU R                  R                  UR                  :X  d   eU H%  nUR                  U   UR                  U   :X  a  M%   e   g ! , (       d  f       N= f)Nztest.pjkwbzUTF-8Tr)   )r   r    r   openwriteencode
read_pajekr!   r"   r   r#   r   r   )r%   tmp_pathr   fnamefhGinns          r   test_read_pajekTestPajek.test_read_pajek@   s    NN499%:%%"HHTYY%%g./  mmE"aggi F399;$77771779ciikDAAAvv||syy(((A771:1---  s   +D11
D?c                    SS K n[        R                  " U R                  5      nUR	                  5       n[        R
                  " X#5        UR                  S5        [        R                  " U5      n[        [        U5      [        U5      5      (       d   e[        UR                  5       UR                  5       SS9(       d   eg )Nr   Tr)   )ior   r    r   BytesIOwrite_pajekseekr:   r   listr   r#   )r%   rC   r   r=   Hs        r   test_write_pajekTestPajek.test_write_pajekN   s    NN499%ZZ\
q

MM"47DG,,,,1779aggi$???r   c                    SS K n[        R                  " 5       nUR                  5       nUR	                  SSS9  UR	                  SSS9  UR                  SSSS9  UR                  SSSS9  SS KnUR                  SS	9 n[        R                  " X#5        [        U5      S
:X  d   e S S S 5        g ! , (       d  f       g = f)Nr      )int_attr   z  )
empty_attr   T)record   )
rC   r   GraphrD   add_nodeadd_edgewarningscatch_warningsrE   len)r%   rC   r   r=   rV   ws         r   test_ignored_attribute TestPajek.test_ignored_attribute[   s    HHJZZ\	

1q
!	

1
&	

1a!
$	

1aD
)$$D$1QNN1!q6Q;; 211s   ?(B11
B?c                     SnU R                   R                  S5      SS  nUSR                  U5      -   n[        R                  " U5      ng )Nz	*network

rL   )r   splitjoinr   r    )r%   lineother_linesr   r   s        r   test_nonameTestPajek.test_nonamek   sC     iiood+AB/dii,,NN4 r   c                    SS K n[        R                  " 5       n[        S5      [        S5      -   [        S5      -   n[        S5      [        S5      -   [        S5      -   nUR	                  USUS	9  UR                  5       n[        R                  " X%5        UR                  S5        [        R                  " U5      n[        [        U5      [        U5      5      (       d   e[        [        UR                  5       5      [        UR                  5       5      5      (       d   eUR                  UR                  :X  d   eg )
Nr   i(	  {   i  i  i  iD  	Radiohead)foo)rC   r   rS   chrrU   rD   rE   rF   r:   r   rG   r   r#   r   )r%   rC   r   name1name2r=   rH   s          r   test_unicodeTestPajek.test_unicodes   s    HHJD	CH$s4y0D	CI%C0	

5+5
1ZZ\
q

MM"47DG,,,,4	?DO<<<<ww!''!!!r    N)__name__
__module____qualname____firstlineno__classmethodr   r&   r+   r3   r@   rI   rZ   rb   rk   __static_attributes__rm   r   r   r   r   	   s>    ( ($@
"	
.	@ !"r   r   )__doc__networkxr   networkx.utilsr   r   r   rm   r   r   <module>rw      s     3w" w"r   