o
    ^i                      @   sT  d Z ddlZddlZddlZddlmZ ddlmZm	Z	m
Z
 ddlmZ ddlmZmZ ddlmZmZ ddlmZ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G dd de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d Zdd Z dd  Z!d!d" Z"d#d$ Z#d%d& Z$d'd( Z%d)d* Z&d+d, Z'dS )-z(Test trait types of the widget packages.    N)TestCase)	HasTraitsInt
TraitError)TraitTestBase)ColorNumberFormat)_remove_buffers_put_buffers)date_serialization
TypedTuplec                   @      e Zd ZedZdS )NumberFormatTraitz.3fN)__name__
__module____qualname__r   value r   r   _/home/ubuntu/hpml_nyu/venv/lib/python3.10/site-packages/ipywidgets/widgets/tests/test_traits.pyr          r   c                   @   "   e Zd Ze Zg dZg dZdS )TestNumberFormat)z.2fz.0%z($.2fz+20z.^20z.2sz#xz,.2rz .2fz.2 )4   Fbrokenz..2fz.2aN)r   r   r   r   obj_good_values_bad_valuesr   r   r   r   r      s    r   c                   @   r   )
ColorTraitblackNr   r   r   r   r   r   r   r   r   r   !   r   r   c                   @   r   )	TestColor)bluez#AA0z#FFFFFFtransparentz#aaaaz	#ffffffffzrgb(0, 0, 0)zrgb( 20,70,50 )zrgba(10,10,10, 0.5)zrgba(255, 255, 255, 255)zhsl(0.0, .0, 0)zhsl( 0.5,0.3,0 )zhsla(10,10,10, 0.5)zvar(--my-color)zvar(--my-color-with_separators)zvar(--my-color,)u   var(--my-color-æ)u   var(--my-color-ሴ)zvar(--my-color-\\1234)zvar(--my-color-\.)zvar(--my-color,black)zvar(--my-color, black)z var(--my-color, rgb(20, 70, 50))zvar(--my-color, #fff))vanillabluesg333333?g        r         zrgb(0.4, 512, -40)zhsl(0.4, 512, -40)zrgba(0, 0, 0)zhsla(0, 0, 0)zvar(-my-color)u   var(--my-color-⁁)zvar(my-color, black)zvar(my-color-., black)zvar(--my-color, vanilla)zvar(--my-color, rgba(0,0,0))NN)r   r   r   r   r   r   r   r   r   r   r   r!   %   s    r!   c                   @   s   e Zd ZedddZdS )ColorTraitWithNoner   T)
allow_noneNr    r   r   r   r   r(   U       r(   c                   @   s2   e Zd Ze Zejdg Zeedd ej	Z	dS )TestColorWithNoneNc                 C   s   | d uS Nr   )vr   r   r   <lambda>]   s    zTestColorWithNone.<lambda>)
r   r   r   r(   r   r!   r   listfilterr   r   r   r   r   r+   Y   s    r+   c                   @   $   e Zd Zdd Zdd Zdd ZdS )TestDateSerializationc                 C      t d | _d | _d S )Nto_json)r   r4   dummy_managerselfr   r   r   setUpb      

zTestDateSerialization.setUpc                 C      |  | d | jd  d S r,   )assertIsr4   r5   r6   r   r   r   test_serialize_nonef      z)TestDateSerialization.test_serialize_nonec                 C   s4   t ddd}dddd}| | || j| d S )Nl  r'      r&   yearmonthdate)dtrC   assertEqualr4   r5   )r7   rC   expectedr   r   r   test_serialize_datei   s   z)TestDateSerialization.test_serialize_dateN)r   r   r   r8   r<   rG   r   r   r   r   r2   `       r2   c                   @   r1   )TestDateDeserializationc                 C   r3   )N	from_json)r   rJ   r5   r6   r   r   r   r8   u   r9   zTestDateDeserialization.setUpc                 C   r:   r,   )r;   rJ   r5   r6   r   r   r   test_deserialize_noney   r=   z-TestDateDeserialization.test_deserialize_nonec                 C   s4   dddd}t ddd}| | || j| d S )Nr>   r&   r?   r@   r'   )rD   rC   rE   rJ   r5   )r7   serialized_daterF   r   r   r   test_deserialize_date|   s   z-TestDateDeserialization.test_deserialize_dateN)r   r   r   r8   rK   rM   r   r   r   r   rI   s   rH   rI   c                   @   s   e Zd Zdd ZdS )TestBuffersc              	   C   s  t d}t d}ddgd|id|d||f|ddd	|igd
d}|d }|d }|d }|d }|}t|\}}	}
| d| | d|d  | d|d  | |d i  | d|d  | ||d  | ||d  | d| | d| | d|d  | d	|d d d  | || | |d | | |d | | |d | | |d d | ddg|fddg|fddg|fddg|fdg|fg d|ffD ]\}}| ||	d|  |	|}| ||
|  qt||	|
 t	|d |d< | || d S )Ns   test1s   test2r   textar)
   rQ   )shapedatar&   deeper)ab)plainxyztopdeeprW   rX   rY   rR   rS   rZ   r[   r\   rV   )r\   rV   r&   rT   z%r not in path)

memoryviewr	   assertInassertNotInrE   assertIsNotr;   indexr
   r/   )r7   mv1mv2staterW   rX   rY   y_shapestate_beforebuffer_pathsbufferspathbufferra   r   r   r   test_remove_and_put_buffers   sP   (
z'TestBuffers.test_remove_and_put_buffersN)r   r   r   rk   r   r   r   r   rN      r   rN   c                  C   (   G dd dt } |  }|jdksJ d S )Nc                   @      e Zd Zee dZdS )z5test_typed_tuple_uninitialized_ints.<locals>.TestCasetraitNr   r   r   r   r   r   r   r   r   r   r      r*   r   r   r   r   r   r   r   r   r   #test_typed_tuple_uninitialized_ints      rs   c                  C   ,   G dd dt } | dd}|jdksJ d S )Nc                   @   rm   )z,test_typed_tuple_init_ints.<locals>.TestCasern   Nrp   r   r   r   r   r      r*   r   r&   r'      r   rq   rr   r   r   r   test_typed_tuple_init_ints      
ry   c                  C   s.   G dd dt } |  }d|_|jdksJ d S )Nc                   @   rm   )z+test_typed_tuple_set_ints.<locals>.TestCasern   Nrp   r   r   r   r   r      r*   r   rv   rq   rr   r   r   r   test_typed_tuple_set_ints   s   r{   c                  C   rl   )Nc                   @      e Zd ZeddZdS )z*test_typed_tuple_default.<locals>.TestCaserv   default_valueNr   r   r   r   r   r   r   r   r   r          r   rv   rq   rr   r   r   r   test_typed_tuple_default   rt   r   c                  C   rl   )Nc                   @   r|   )z0test_typed_tuple_mixed_default.<locals>.TestCaser&   r'   foobarr}   Nr   r   r   r   r   r      r   r   r   rq   rr   r   r   r   test_typed_tuple_mixed_default   rt   r   c                  C   sL   G dd dt } tt |  }|j}W d    d S 1 sw   Y  d S )Nc                   @   s   e Zd Zee ddZdS )z.test_typed_tuple_bad_default.<locals>.TestCaser   )ro   r~   Nrp   r   r   r   r   r      s    r   r   pytestraisesr   r   )r   r   rU   r   r   r   test_typed_tuple_bad_default   s
   "r   c                  C   sL   G dd dt } |  }tt d|_W d    d S 1 sw   Y  d S )Nc                   @   rm   )z*test_typed_tuple_bad_set.<locals>.TestCasern   Nrp   r   r   r   r   r      r*   r   r   r   rr   r   r   r   test_typed_tuple_bad_set   s
   "r   c                  C   ru   )Nc                   @   s   e Zd Zee ZdS )z3test_typed_tuple_positional_trait.<locals>.TestCaseNrp   r   r   r   r   r      r   r   rv   rx   rq   rr   r   r   r   !test_typed_tuple_positional_trait   rz   r   c                  C   rl   )Nc                   @   r   )z5test_typed_tuple_positional_default.<locals>.TestCaserv   Nr   r   r   r   r   r     r   r   rv   rq   rr   r   r   r   #test_typed_tuple_positional_default  rt   r   )(__doc__arraydatetimerD   r   unittestr   	traitletsr   r   r   traitlets.tests.test_traitletsr   
ipywidgetsr   r   ipywidgets.widgets.widgetr	   r
   ipywidgets.widgets.trait_typesr   r   r   r   r   r!   r(   r+   r2   rI   rN   rs   ry   r{   r   r   r   r   r   r   r   r   r   r   <module>   s8   
04	
	