o
    B©Zh7  ã                   @  sD   d dl mZ d dlmZ d dlmZ d dlmZ G dd„ deƒZdS )é    )Úannotations)ÚAny)ÚTestCase)Ú
TraitErrorc                   @  sV   e Zd ZdZddd„Zddd	„Zdd
d„Zddd„Zddd„Zddd„Z	ddd„Z
dS )ÚTraitTestBasez+A best testing class for basic trait types.Úvaluer   ÚreturnÚNonec                 C  s   || j _d S ©N)Úobjr   ©Úselfr   © r   úU/var/www/html/lang_env/lib/python3.10/site-packages/traitlets/tests/test_traitlets.pyÚassign   s   zTraitTestBase.assignc                 C  s   |S r
   r   r   r   r   r   Úcoerce   s   zTraitTestBase.coercec                 C  s>   t | dƒr| jD ]}|  |¡ |  | jj|  |¡¡ qd S d S )NÚ_good_values)Úhasattrr   r   ÚassertEqualr   r   r   r   r   r   r   Útest_good_values   s   


ýzTraitTestBase.test_good_valuesc              	   C  sJ   t | dƒr!| jD ]}z
|  t| j|¡ W q ty    t|ƒd ‚w d S d S )NÚ_bad_values)r   r   ÚassertRaisesr   r   ÚAssertionErrorr   r   r   r   Útest_bad_values   s   


ÿüzTraitTestBase.test_bad_valuesc                 C  s$   t | dƒr|  | j| jj¡ d S d S ©NÚ_default_value)r   r   r   r   r   ©r   r   r   r   Útest_default_value    s   
ÿz TraitTestBase.test_default_valuec              	   C  s¢   t | dƒrKt | dƒrMd | jv rO| j ¡ d }z*d|_| j d ¡ |  d ¡ |  | jjd ¡ |  	¡  |  
¡  W d|_| j d ¡ d S d|_| j d ¡ w d S d S d S )Nr   r   r   TF)r   r   r   ZtraitsÚ
allow_noneÚremover   r   r   r   r   Úappend)r   Ztraitr   r   r   Útest_allow_none$   s&   ÿþ


ÿïzTraitTestBase.test_allow_nonec                 C  s   t | dƒr| j| j_d S d S r   )r   r   r   r   r   r   r   r   ÚtearDown8   s   
ÿzTraitTestBase.tearDownN)r   r   r   r	   )r   r   r   r   )r   r	   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r!   r"   r   r   r   r   r   	   s    





r   N)	Ú
__future__r   Útypingr   Zunittestr   Z	traitletsr   r   r   r   r   r   Ú<module>   s
    