o
    
i                     @   sT   d Z ddlmZ G dd deZG dd deZG dd deZG d	d
 d
eZdS )z1
testing of YAML.register_class and @yaml_object
   )YAMLc                   @      e Zd Zdd ZdS )User0c                 C      || _ || _d S Nnameageselfr   r	    r   _/home/ubuntu/.local/lib/python3.10/site-packages/srsly/tests/ruamel_yaml/test_class_register.py__init__      
zUser0.__init__N__name__
__module____qualname__r   r   r   r   r   r   
   s    r   c                   @   0   e Zd ZdZdd Zedd Zedd ZdS )	User1z!userc                 C   r   r   r   r
   r   r   r   r      r   zUser1.__init__c                 C      | | jd||S Nz{.name}-{.age}represent_scalaryaml_tagformatclsrepresenternoder   r   r   to_yaml      zUser1.to_yamlc                 C      | |j d S N-valuesplitr   constructorr   r   r   r   	from_yaml      zUser1.from_yamlNr   r   r   r   r   classmethodr    r*   r   r   r   r   r      s    
r   c                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )TestRegisterClassc                 C   s2   t  }|t d}||}|j||dd d S )NzC
        - !User0
          name: Anthon
          age: 18
        Tcompareunordered_linesr   register_classr   loaddumpr   yamlysdr   r   r   test_register_0_rt#   s
   

z$TestRegisterClass.test_register_0_rtc                 C   4   t dd}|t d}||}|j||d d S )Nsafetyp2
        - !User0 {age: 18, name: Anthon}
        r0   r2   r6   r   r   r   test_register_0_safe.   
   


z&TestRegisterClass.test_register_0_safec                 C   r;   )Nunsafer=   r?   r@   r2   r6   r   r   r   test_register_0_unsafe8   rB   z(TestRegisterClass.test_register_0_unsafec                 C   s0   t  }|t d}||}|j||d d S )Nz#
        - !user Anthon-18
        r@   r   r3   r   r4   r5   r6   r   r   r   test_register_1_rtB   s
   

z$TestRegisterClass.test_register_1_rtc                 C   r;   )Nr<   r=   #
        [!user Anthon-18]
        r@   rE   r6   r   r   r   test_register_1_safeK   
   


z&TestRegisterClass.test_register_1_safec                 C   r;   )NrC   r=   rG   r@   rE   r6   r   r   r   test_register_1_unsafeT   rI   z(TestRegisterClass.test_register_1_unsafeN)	r   r   r   r:   rA   rD   rF   rH   rJ   r   r   r   r   r.   "   s    

		r.   c                   @   s   e Zd Zdd Zdd ZdS )TestDecoratorc                 C   sL   ddl m} t }||G dd dt}d}||}|j||dd d S )N    yaml_objectc                   @   r   )z4TestDecorator.test_decorator_implicit.<locals>.User2c                 S   r   r   r   r
   r   r   r   r   f   r   z=TestDecorator.test_decorator_implicit.<locals>.User2.__init__Nr   r   r   r   r   User2d   s    rO   zC
        - !User2
          name: Anthon
          age: 18
        Tr/   srsly.ruamel_yamlrN   r   objectr4   r5   )r   rN   ymlrO   r8   r9   r   r   r   test_decorator_implicit_   s   
z%TestDecorator.test_decorator_implicitc                 C   sJ   ddl m} t }||G dd dt}d}||}|j||d d S )NrL   rM   c                   @   r   )	z4TestDecorator.test_decorator_explicit.<locals>.User3z!USERc                 S   r   r   r   r
   r   r   r   r   {   r   z=TestDecorator.test_decorator_explicit.<locals>.User3.__init__c                 S   r   r   r   r   r   r   r   r       r!   z<TestDecorator.test_decorator_explicit.<locals>.User3.to_yamlc                 S   r"   r#   r%   r(   r   r   r   r*      r+   z>TestDecorator.test_decorator_explicit.<locals>.User3.from_yamlNr,   r   r   r   r   User3w   s    
rU   z#
        - !USER Anthon-18
        r@   rP   )r   rN   rS   rU   r8   r9   r   r   r   test_decorator_explicitr   s   
z%TestDecorator.test_decorator_explicitN)r   r   r   rT   rV   r   r   r   r   rK   ^   s    rK   N)__doc__	roundtripr   rR   r   r   r.   rK   r   r   r   r   <module>   s   <