U
    
W[ì  ã                   @   s8  d Z ddlmZmZ ddlmZmZmZmZ G dd„ de	ƒZ
G dd„ de
eƒZG dd	„ d	e
eƒZG d
d„ de	ƒZG dd„ deeƒZG dd„ deeƒZG dd„ de	ƒZG dd„ deeƒZG dd„ deeƒZG dd„ de	ƒZG dd„ deeƒZG dd„ deeƒZG dd„ de	ƒZG dd„ deeƒZG d d!„ d!eeƒZG d"d#„ d#e	ƒZG d$d%„ d%eeƒZG d&d'„ d'eeƒZG d(d)„ d)e	ƒZG d*d+„ d+eeƒZG d,d-„ d-eeƒZG d.d/„ d/e	ƒZG d0d1„ d1eeƒZ G d2d3„ d3eeƒZ!G d4d5„ d5e	ƒZ"G d6d7„ d7e"eƒZ#G d8d9„ d9e"eƒZ$G d:d;„ d;e	ƒZ%G d<d=„ d=e%eƒZ&G d>d?„ d?e%eƒZ'd@S )Aa$  
Definitions of test cases with various interesting behaviors, to be used by
L{twisted.trial.test.test_tests} and other test modules to exercise different
features of trial's test runner.

See the L{twisted.trial.test.test_tests} module docstring for details about how
this code is arranged.
é    )ÚdivisionÚabsolute_import)ÚSynchronousTestCaseÚTestCaseÚSkipTestÚFailTestc                   @   s0   e Zd Zdd„ Zdd„ Zde_dd„ Zde_d	S )
ÚSkippingMixinc                 C   s   t dƒ‚d S ©NZskip1©r   ©Úself© r   ú=/usr/lib/python3/dist-packages/twisted/trial/test/skipping.pyÚ
test_skip1   s    zSkippingMixin.test_skip1c                 C   s   t dƒ‚d S )NzI should not get raised©ÚRuntimeErrorr   r   r   r   Ú
test_skip2   s    zSkippingMixin.test_skip2Úskip2c                 C   s   |   d¡ d S )NzI should not fail©Zfailr   r   r   r   Ú
test_skip3   s    zSkippingMixin.test_skip3Zskip3N)Ú__name__Ú
__module__Ú__qualname__r   r   Úskipr   r   r   r   r   r      s
   r   c                   @   s   e Zd ZdS )ÚSynchronousSkippingN©r   r   r   r   r   r   r   r   "   s   r   c                   @   s   e Zd ZdS )ÚAsynchronousSkippingNr   r   r   r   r   r   '   s   r   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚSkippingSetUpMixinc                 C   s   t dƒ‚d S )NZ	skipSetUpr
   r   r   r   r   ÚsetUp-   s    zSkippingSetUpMixin.setUpc                 C   s   d S ©Nr   r   r   r   r   Útest_10   s    zSkippingSetUpMixin.test_1c                 C   s   d S r   r   r   r   r   r   Útest_23   s    zSkippingSetUpMixin.test_2N)r   r   r   r   r    r!   r   r   r   r   r   ,   s   r   c                   @   s   e Zd ZdS )ÚSynchronousSkippingSetUpNr   r   r   r   r   r"   7   s   r"   c                   @   s   e Zd ZdS )ÚAsynchronousSkippingSetUpNr   r   r   r   r   r#   <   s   r#   c                   @   s   e Zd Zdd„ ZdS )ÚDeprecatedReasonlessSkipMixinc                 C   s
   t ƒ ‚d S r   r
   r   r   r   r   r    B   s    z$DeprecatedReasonlessSkipMixin.test_1N)r   r   r   r    r   r   r   r   r$   A   s   r$   c                   @   s   e Zd ZdS )Ú#SynchronousDeprecatedReasonlessSkipNr   r   r   r   r   r%   G   s   r%   c                   @   s   e Zd ZdS )Ú$AsynchronousDeprecatedReasonlessSkipNr   r   r   r   r   r&   M   s   r&   c                   @   s>   e Zd ZdZdd„ Zdd„ Zdd„ Zde_d	d
„ Zdd„ ZdS )ÚSkippedClassMixinÚclassc                 C   s   d| j _d S )NT)Ú	__class__Z	_setUpRanr   r   r   r   r   U   s    zSkippedClassMixin.setUpc                 C   s   t dƒ‚d S r	   r
   r   r   r   r   r   W   s    zSkippedClassMixin.test_skip1c                 C   s   t dƒ‚d S )NzOught to skip mer   r   r   r   r   r   Y   s    zSkippedClassMixin.test_skip2r   c                 C   s   d S r   r   r   r   r   r   r   \   s    zSkippedClassMixin.test_skip3c                 C   s   t dƒ‚d S )NzSkip me toor   r   r   r   r   Ú
test_skip4^   s    zSkippedClassMixin.test_skip4N)	r   r   r   r   r   r   r   r   r*   r   r   r   r   r'   S   s   r'   c                   @   s   e Zd ZdS )ÚSynchronousSkippedClassNr   r   r   r   r   r+   c   s   r+   c                   @   s   e Zd ZdS )ÚAsynchronousSkippedClassNr   r   r   r   r   r,   h   s   r,   c                   @   s6   e Zd Zdd„ Zde_dd„ Zde_dd„ Zd	e_d
S )Ú	TodoMixinc                 C   s   |   d¡ d S ©Nzdeliberate failurer   r   r   r   r   Ú
test_todo1n   s    zTodoMixin.test_todo1Útodo1c                 C   s   t dƒ‚d S ©Nzdeliberate errorr   r   r   r   r   Ú
test_todo2r   s    zTodoMixin.test_todo2Útodo2c                 C   s   dS )zunexpected successNr   r   r   r   r   Ú
test_todo3v   s    zTodoMixin.test_todo3Útodo3N)r   r   r   r/   Útodor2   r4   r   r   r   r   r-   m   s   r-   c                   @   s   e Zd ZdS )ÚSynchronousTodoNr   r   r   r   r   r7   }   s   r7   c                   @   s   e Zd ZdS )ÚAsynchronousTodoNr   r   r   r   r   r8   ‚   s   r8   c                   @   s"   e Zd Zdd„ Zdd„ Zde_dS )ÚSetUpTodoMixinc                 C   s   t dƒ‚d S r1   r   r   r   r   r   r   ˆ   s    zSetUpTodoMixin.setUpc                 C   s   d S r   r   r   r   r   r   r/   ‹   s    zSetUpTodoMixin.test_todo1zsetUp todo1N)r   r   r   r   r/   r6   r   r   r   r   r9   ‡   s   r9   c                   @   s   e Zd ZdS )ÚSynchronousSetUpTodoNr   r   r   r   r   r:   ‘   s   r:   c                   @   s   e Zd ZdS )ÚAsynchronousSetUpTodoNr   r   r   r   r   r;   –   s   r;   c                   @   s"   e Zd Zdd„ Zdd„ Zde_dS )ÚTearDownTodoMixinc                 C   s   t dƒ‚d S r1   r   r   r   r   r   ÚtearDownœ   s    zTearDownTodoMixin.tearDownc                 C   s   d S r   r   r   r   r   r   r/   Ÿ   s    zTearDownTodoMixin.test_todo1ztearDown todo1N)r   r   r   r=   r/   r6   r   r   r   r   r<   ›   s   r<   c                   @   s   e Zd ZdS )ÚSynchronousTearDownTodoNr   r   r   r   r   r>   ¥   s   r>   c                   @   s   e Zd ZdS )ÚAsynchronousTearDownTodoNr   r   r   r   r   r?   ª   s   r?   c                   @   s<   e Zd ZdZdd„ Zde_dd„ Zdd„ Zde_d	d
„ ZdS )ÚTodoClassMixinr(   c                 C   s   d S r   r   r   r   r   r   r/   ±   s    zTodoClassMixin.test_todo1Úmethodc                 C   s   d S r   r   r   r   r   r   r2   ´   s    zTodoClassMixin.test_todo2c                 C   s   |   d¡ d S ©NzDeliberate Failurer   r   r   r   r   r4   ¶   s    zTodoClassMixin.test_todo3c                 C   s   |   d¡ d S rB   r   r   r   r   r   Ú
test_todo4¹   s    zTodoClassMixin.test_todo4N)r   r   r   r6   r/   r2   r4   rC   r   r   r   r   r@   ¯   s   r@   c                   @   s   e Zd ZdS )ÚSynchronousTodoClassNr   r   r   r   r   rD   ¾   s   rD   c                   @   s   e Zd ZdS )ÚAsynchronousTodoClassNr   r   r   r   r   rE   Ã   s   rE   c                   @   s’   e Zd Zdd„ Zedfe_dd„ Zeefdfe_dd„ Zed	fe_d
d„ Z	ee
fdfe	_dd„ Zedfe_dd„ Zedfe_dd„ Zedfe_dS )ÚStrictTodoMixinc                 C   s   t dƒ‚d S ©Nzexpected failurer   r   r   r   r   r/   É   s    zStrictTodoMixin.test_todo1r0   c                 C   s   t dƒ‚d S rG   r   r   r   r   r   r2   Í   s    zStrictTodoMixin.test_todo2r3   c                 C   s   t dƒ‚d S ©Nzwe had no idea!r   r   r   r   r   r4   Ñ   s    zStrictTodoMixin.test_todo3r5   c                 C   s   t dƒ‚d S rH   r   r   r   r   r   rC   Õ   s    zStrictTodoMixin.test_todo4Ztodo4c                 C   s   |   d¡ d S r.   r   r   r   r   r   Ú
test_todo5Ù   s    zStrictTodoMixin.test_todo5Ztodo5c                 C   s   |   d¡ d S r.   r   r   r   r   r   Ú
test_todo6Ý   s    zStrictTodoMixin.test_todo6Ztodo6c                 C   s   d S r   r   r   r   r   r   Ú
test_todo7á   s    zStrictTodoMixin.test_todo7Ztodo7N)r   r   r   r/   r   r6   r2   ÚOSErrorr4   rC   ÚSyntaxErrorrI   r   rJ   rK   r   r   r   r   rF   È   s   



rF   c                   @   s   e Zd ZdS )ÚSynchronousStrictTodoNr   r   r   r   r   rN   ç   s   rN   c                   @   s   e Zd ZdS )ÚAsynchronousStrictTodoNr   r   r   r   r   rO   ì   s   rO   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 )ÚAddCleanupMixinc                 C   s   dg| _ d S )Nr   )Úlogr   r   r   r   r   ò   s    zAddCleanupMixin.setUpc                 C   s   dg| _ tdƒ‚d S )Nr   zDeliberate failure)rQ   r   r   r   r   r   ÚbrokenSetUpõ   s    zAddCleanupMixin.brokenSetUpc                 C   s   dg| _ tdƒ‚d S )Nr   zDon't do this)rQ   r   r   r   r   r   ÚskippingSetUpù   s    zAddCleanupMixin.skippingSetUpc                 C   s   | j  |¡ d S r   ©rQ   Úappend)r   Úthingr   r   r   rU   ý   s    zAddCleanupMixin.appendc                 C   s   | j  d¡ d S )Nr=   rT   r   r   r   r   r=      s    zAddCleanupMixin.tearDownc                 C   s   | j  d¡ d S )NÚrunTestrT   r   r   r   r   rW     s    zAddCleanupMixin.runTestN)	r   r   r   r   rR   rS   rU   r=   rW   r   r   r   r   rP   ñ   s   rP   c                   @   s   e Zd ZdS )ÚSynchronousAddCleanupNr   r   r   r   r   rX     s   rX   c                   @   s   e Zd ZdS )ÚAsynchronousAddCleanupNr   r   r   r   r   rY     s   rY   N)(Ú__doc__Z
__future__r   r   Ztwisted.trial.unittestr   r   r   r   Úobjectr   r   r   r   r"   r#   r$   r%   r&   r'   r+   r,   r-   r7   r8   r9   r:   r;   r<   r>   r?   r@   rD   rE   rF   rN   rO   rP   rX   rY   r   r   r   r   Ú<module>   sL   	
 ÿ
 ÿ

