3
d
                 @   s:   d Z ddlZddlmZ ddlmZ G dd dejZdS )z!
Tests for the "Any" trait type.
    N)	HasTraits)Anyc               @   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 )TestAnyc             C   s(   G dd dt }| }| j|jd  d S )Nc               @   s   e Zd Ze ZdS )z'TestAny.test_default_default.<locals>.AN)__name__
__module____qualname__r   foo r	   r	   7/tmp/pip-build-7vycvbft/traits/traits/tests/test_any.pyA   s   r   )r   assertEqualr   )selfr   ar	   r	   r
   test_default_default   s    zTestAny.test_default_defaultc             C   s   d}| j t| G dd dt}W d Q R X | }| }| j|jg  | j|jg  |jjd | j|jdg | j|jg  d S )Nz/a default value of type 'list'.* will be sharedc               @   s   e Zd Zeg ZdS )z$TestAny.test_list_default.<locals>.AN)r   r   r   r   r   r	   r	   r	   r
   r       s   r   #   )assertWarnsRegexDeprecationWarningr   r   r   append)r   message_patternr   r   br	   r	   r
   test_list_default   s    zTestAny.test_list_defaultc             C   s   d}| j t| G dd dt}W d Q R X | }| }| j|ji  | j|ji  d|jd< | j|jddi | j|ji  d S )Nz/a default value of type 'dict'.* will be sharedc               @   s   e Zd Zei ZdS )z$TestAny.test_dict_default.<locals>.AN)r   r   r   r   r   r	   r	   r	   r
   r   0   s   r   redcolor)r   r   r   r   r   )r   r   r   r   r   r	   r	   r
   test_dict_default-   s    
zTestAny.test_dict_defaultc             C   s   G dd dt }| }| }| j|ji  | j|ji  d|jd< | j|jddi | j|ji  ddi |_|_d|jd< | j|jd d d S )	Nc               @   s   e Zd ZeedZdS )z$TestAny.test_with_factory.<locals>.A)factoryN)r   r   r   r   dictr   r	   r	   r	   r
   r   >   s   r      keyr   i   i   Zgreen)r   r   r   )r   r   r   r   r	   r	   r
   test_with_factory=   s    

zTestAny.test_with_factoryc                sJ   dd d ddiG  fdd	d	t }| }| j|jd
 f d S )Nc              _   s
   d| |fS )Nreceivedr	   )argskwr	   r	   r
   r   R   s    z3TestAny.test_with_factory_and_args.<locals>.factory   "   some stringbar9   c                   s   e Zd Ze dZdS )z-TestAny.test_with_factory_and_args.<locals>.A)r   r    r!   N)r   r   r   r   r   r	   )r    r   r!   r	   r
   r   X   s   r   r   )r"   r#   r$   )r   r   r   )r   r   r   r	   )r    r   r!   r
   test_with_factory_and_argsQ   s    z"TestAny.test_with_factory_and_argsc             C   s&   | j t tdtd W d Q R X d S )Nr   )r   )ZassertRaises	TypeErrorr   int)r   r	   r	   r
   #test_with_default_value_and_factory^   s    z+TestAny.test_with_default_value_and_factoryN)	r   r   r   r   r   r   r   r'   r*   r	   r	   r	   r
   r      s   r   )__doc__ZunittestZtraits.has_traitsr   Ztraits.trait_typesr   ZTestCaser   r	   r	   r	   r
   <module>   s   