
    h                     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    U/var/www/html/env/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5      (       d   eg )Nr	   r   )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       5      1 Sk5      (       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,   r-   r.   )r   r    setr"   r   r#   r$   s      r   test_parse_pajet_matTestPajek.test_parse_pajet_mat4   so    ]NN4 1779~!8888wwu~$,,,	N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       5      (       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-8)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1779ciik2222vv||syy(((A771:1---  s   +D22
E 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       5      [        UR                  5       5      5      (       d   eg )Nr   )ior   r    r   BytesIOwrite_pajekseekr<   r   listr   r#   )r%   rE   r   r?   Hs        r   test_write_pajekTestPajek.test_write_pajekL   s    NN499%ZZ\
q

MM"47DG,,,,4	?DO<<<<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   )
rE   r   GraphrF   add_nodeadd_edgewarningscatch_warningsrG   len)r%   rE   r   r?   rX   ws         r   test_ignored_attribute TestPajek.test_ignored_attributeY   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

rN   )r   splitjoinr   r    )r%   lineother_linesr   r   s        r   test_nonameTestPajek.test_nonamei   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)rE   r   rU   chrrW   rF   rG   rH   r<   r   rI   r   r#   r   )r%   rE   r   name1name2r?   rJ   s          r   test_unicodeTestPajek.test_unicodeq   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)   r5   rB   rK   r\   rd   rm   __static_attributes__ro   r   r   r   r   	   s=    ( ($@
 
.	= !"r   r   )__doc__networkxr   networkx.utilsr   r   r   ro   r   r   <module>ry      s     3u" u"r   