U
     T‚g˜  ã                   @   s.   d dl mZ d dlmZ G dd„ dejƒZdS )é    )Úroots)Úunittestc                   @   sD   e Zd Zddœdd„Zddœdd„Zddœdd„Zddœd	d
„ZdS )Ú
RootsTestsN)Úreturnc                 C   sb   t  ¡ }z| d¡ W n tk
r*   Y n
X |  ¡  z| ¡  W n tk
rT   Y n
X |  ¡  d S )Ns   blah)r   ÚRequestÚwriteÚNotImplementedErrorÚfailÚfinish)ÚselfÚrequest© r   ú;/tmp/pip-unpacked-wheel-1_7di8ic/twisted/test/test_roots.pyÚtestExceptions
   s    zRootsTests.testExceptionsc                 C   s¢   t  ¡ }| dd¡ |  | d¡d¡ | d¡ |  | d¡d ¡ z| dd ¡ W n tk
rf   Y n
X |  ¡  z| 	dd ¡ W n tk
r”   Y n
X |  ¡  d S )NÚxÚtest)
r   Ú
CollectionÚ	putEntityÚassertEqualÚgetStaticEntityZ	delEntityZstoreEntityr   r	   ZremoveEntity)r   Z
collectionr   r   r   ÚtestCollection   s    
zRootsTests.testCollectionc                 C   sB   G dd„ dt jƒ}|ƒ }|  | dd¡¡ |  t j|jdd¡ d S )Nc                   @   s   e Zd Zeedœdd„ZdS )z)RootsTests.testConstrained.<locals>.const)Únamer   c                 S   s   |dkS )Nr   r   )r   r   r   r   r   ÚnameConstraint.   s    z8RootsTests.testConstrained.<locals>.const.nameConstraintN)Ú__name__Ú
__module__Ú__qualname__ÚstrÚboolr   r   r   r   r   Úconst-   s   r   r   r   Úy)r   ZConstrainedZassertIsNoner   ÚassertRaisesÚConstraintViolation)r   r   Úcr   r   r   ÚtestConstrained,   s    zRootsTests.testConstrainedc                 C   sD   t  ¡ }t|_| dd¡ |  | d¡d¡ |  t j|jdd¡ d S )NÚaé   r   r   )	r   Z
HomogenousÚintZ
entityTyper   r   r   r    r!   )r   Úhr   r   r   ÚtestHomogenous5   s
    zRootsTests.testHomogenous)r   r   r   r   r   r#   r(   r   r   r   r   r   	   s   	r   N)Ztwisted.pythonr   Ztwisted.trialr   ZTestCaser   r   r   r   r   Ú<module>   s   