
    h                         S SK r S SKrSSKJr   " S S\5      rS rS rS rS	 r	S
 r
S r " S S\5      r " S S\5      rS rS rS rg)    N   )dedentc                        \ rS rSrS rS rSrg)Dice
   c                 0    [         R                  XU/5      $ N)tuple__new__)clsabs      ^/home/james-whalen/.local/lib/python3.13/site-packages/srsly/tests/ruamel_yaml/test_add_xxx.pyr   Dice.__new__   s    }}Sa&))    c                     SU -  $ )NzDice(%s,%s) selfs    r   __repr__Dice.__repr__   s    t##r   r   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__r   r   r   r   r   
   s    *$r   r   c                 |    U R                  U5      n[        [        UR                  S5      5      u  p4[	        X45      $ )Nd)construct_scalarmapintsplitr   )loadernodevaluer   r   s        r   dice_constructorr&      s3    ##D)EsEKK$%DA:r   c                 @    U R                  SSR                  " U6 5      $ )N!dicez{}d{})represent_scalarformat)dumperdatas     r   dice_representerr-      s    ""8X__d-CDDr   c                  4   SS K n U R                  R                  S[        5        [        R
                  " [        5         U R                  R                  SU R                  R                  S9n[        U5      S:X  d   e S S S 5        g ! , (       d  f       g = f)Nr   r(   initial hit points: !dice 8d4Loader!{'initial hit points': Dice(8,4)})
srsly.ruamel_yamlruamel_yamladd_constructorr&   pytestraises
ValueErrorloadr1   strsrslyr,   s     r   test_dice_constructorr=      su    	%%h0@A	z	"  %%+E4E4E4L4L & 
 4y????	 
#	"	"s   A B		
Bc                  Z   SS K n [        R                  " [        5         U R                  R                  S[        U R                  R                  S9  U R                  R                  SU R                  R                  S9n[        U5      S:X  d   e S S S 5        g ! , (       d  f       g = f)Nr   r(   r0   r/   r2   )
r3   r6   r7   r8   r4   r5   r&   r1   r9   r:   r;   s     r   !test_dice_constructor_with_loaderr?   '   s    	z	"))&u/@/@/G/G 	* 	
   %%+E4E4E4L4L & 
 4y???? 
#	"	"s   A3B
B*c                      SS K n U R                  R                  [        [        5        U R                  R                  [        [        SS5      S9SS9S:X  d   eg )Nr   r      )goldFdefault_flow_stylezgold: !dice 10d6
)r3   r4   add_representerr   r-   dumpdictr<   s    r   test_dice_representerrI   4   sT    	%%d,<= 	tb!5%P	 	 r   c            	         SS K n [        R                  " S5      n[        R                  " [
        5         U R                  R                  SU5        U R                  R                  [        [        SS5      S9SS9S	:X  d   eU R                  R                  S
U R                  R                  S9[        [        SS5      S9:X  d   e S S S 5        g ! , (       d  f       g = f)Nr   z	^\d+d\d+$r(   r      )treasureFrC   ztreasure: 10d20
zdamage: 5d10r0      )damage)r3   recompiler6   r7   r8   r4   add_implicit_resolverrF   rG   r   r9   r1   )r<   patterns     r   test_dice_implicit_resolverrS   ?   s    jj&G	z	"//'B""4b"#>SX"Y"#	
#   %%5#4#4#;#; & 
a%& 	& & 
#	"	"s   BC
C c                   ,    \ rS rSrS rS rS rS rSrg)Obj1N   c                     Xl         S U l        g r	   )_suffix_node)r   suffixs     r   __init__Obj1.__init__O   s    
r   c                     Xl         g r	   )rY   )r   ns     r   add_nodeObj1.add_nodeS   s    
r   c                 H    SU R                   < SU R                  5       < S3$ )NzObj1(z->))rX   itemsr   s    r   r   Obj1.__repr__V   s    !%tzz|<<r   c                 ,    [        U R                  5      $ r	   )reprrY   r   s    r   rF   	Obj1.dumpY   s    DJJr   )rY   rX   N)	r   r   r   r   r[   r_   r   rF   r   r   r   r   rU   rU   N   s    = r   rU   c                   8    \ rS rSrSr\S 5       r\S 5       rSrg)YAMLObj1]   z!obj:c                     SS K n[        U5      n[        X4R                  R                  5      (       a"  UR                  UR                  U5      5        U$ [        e)Nr   )r3   rU   
isinstancer4   MappingNoder_   construct_mappingNotImplementedError)r   r#   rZ   r$   r<   obj1s         r   	from_yamlYAMLObj1.from_yaml`   sK     F|d--99::MM&22489  &%r   c                 p    UR                  U R                  UR                  -   UR                  5       5      $ r	   )r)   yaml_tagrX   rF   )r   r+   r,   s      r   to_yamlYAMLObj1.to_yamlk   s(    &&s||dll'BDIIKPPr   r   N)	r   r   r   r   rt   classmethodrq   ru   r   r   r   r   ri   ri   ]   s/    H  Q Qr   ri   c                     SS K n U R                  R                  [        [        R
                  5        U R                  R                  [        R                  [        R                  5        [        R                  " [        5         U R                  R                  SU R                  R                  S9n[        U5        U R                  R                  U5      S:X  d   e S S S 5        g ! , (       d  f       g = f)Nr   !obj:x.2
a: 1r0   !obj:x.2 "{'a': 1}"
)r3   r4   rE   rU   ri   ru   add_multi_constructorrt   rq   r6   r7   r8   r9   r1   printrF   r<   xs     r   test_yaml_objr   p   s    	%%dH,<,<=	++H,=,=x?Q?QR	z	"""#3E<M<M<T<T"Ua  %%a(,GGGG 
#	"	"s   AC**
C8c                  B   SS K n U R                  R                  [        [        R
                  U R                  R                  S9  U R                  R                  [        R                  [        R                  U R                  R                  S9  [        R                  " [        5         U R                  R                  SU R                  R                  S9n[        U5        U R                  R!                  U5      S:X  d   e S S S 5        g ! , (       d  f       g = f)Nr   )Dumperr0   ry   rz   )r3   r4   rE   rU   ri   ru   r   r{   rt   rq   r1   r6   r7   r8   r9   r|   rF   r}   s     r   $test_yaml_obj_with_loader_and_dumperr   {   s    	%%hu'8'8'?'? &  
++8--e6G6G6N6N ,  
z	"""#3E<M<M<T<T"Ua  %%a(,GGGG	 
#	"	"s   +AD
Dc                     ^ SS K m " U4S jSTR                  R                  5      n [        S5      nTR                  R	                  USS9nTR                  R                  USSS	9UR                  S
S5      :X  d   eg )Nr   c                      > \ rS rSr Y R                  R
                  r Y R                  R                  rSr	S r
\S 5       r\U 4S j5       rSrg)test_issue_127.<locals>.Ref   z!Refc                     Xl         g r	   
logical_id)r   r   s     r   r[   $test_issue_127.<locals>.Ref.__init__   s    (Or   c                 0    U " UR                  U5      5      $ r	   )r   )r   r#   r$   s      r   rq   %test_issue_127.<locals>.Ref.from_yaml   s    v..t455r   c                    > [        UR                  TR                  R                  R                  5      (       a  UR                  R
                  nOS nUR                  U R                  UR                  US9$ )N)style)rl   r   r4   scalarstringScalarStringr   r)   rt   )r   r+   r,   r   r<   s       r   ru   #test_issue_127.<locals>.Ref.to_yaml   s[    $//5+<+<+I+I+V+VWW--**3<<PU*VVr   r   N)r   r   r   r   r4   RoundTripConstructoryaml_constructorRoundTripRepresenteryaml_representerrt   r[   rw   rq   ru   r   rH   s   r   Refr      s[     ,,AA ,,AA	) 
	6 
	6 
	W 
	Wr   r   z    AList:
      - !Ref One
      - !Ref 'Two'
      - !Ref
        Two and a half
    BList: [!Ref Three, !Ref "Four"]
    CList:
      - Five Six
      - 'Seven Eight'
    T)preserve_quotes      )indentblock_seq_indentz
    Two andz Two and)r3   r4   
YAMLObjectr   round_trip_loadround_trip_dumpreplace)r   documentr,   r<   s      @r   test_issue_127r      s    We** W( 
	H ,,Xt,LD,,Q - 			/:	67 7 7r   )rO   r6   	roundtripr   r
   r   r&   r-   r=   r?   rI   rS   rG   rU   objectri   r   r   r   r   r   r   <module>r      sh    
  $5 $E@
@& 4  Qv Q&HH,'7r   