U
    n5{i  ใ                   @   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d Zd	d
 Z	G dd dejZ
G dd dejZG dd dZG dd dejZdS )zถThis module is used by test_loader to test the Trial test loading
functionality. Do NOT change the number of tests in this module.  Do NOT change
the names the tests in this module.
้    NฉฺmergeFunctionMetadata)ฺunittestc                   @   s(   e Zd ZddddZddddZdS )ฺFooTestNฉฺreturnc                 C   s   d S ฉNฉ ฉฺselfr	   r	   ๚=/tmp/pip-unpacked-wheel-mnhg7r0q/twisted/trial/test/sample.pyฺtest_foo   s    zFooTest.test_fooc                 C   s   d S r   r	   r
   r	   r	   r   ฺtest_bar   s    zFooTest.test_barฉฺ__name__ฺ
__module__ฺ__qualname__r   r   r	   r	   r	   r   r      s   r   c                    s    fdd}|S )z
    Decorate a function without preserving the name of the original function.
    Always return a function with the same name.
    c                     s
    | |S r   r	   ฉฺargsฺkwargsฉฺfnr	   r   ฺnameCollision   s    z#badDecorator.<locals>.nameCollisionr	   ฉr   r   r	   r   r   ฺbadDecorator   s    r   c                    s    fdd}t  |S )z=
    Decorate a function and preserve the original name.
    c                     s
    | |S r   r	   r   r   r	   r   r   &   s    z$goodDecorator.<locals>.nameCollisionr   r   r	   r   r   ฺgoodDecorator!   s    r   c                   @   s\   e Zd ZddddZeeZddddZeeZddddZeeZddd	d
Z	dS )ฺDecorationTestNr   c                 C   s   dS )z
        This test method is decorated in a way that gives it a confusing name
        that collides with another method.
        Nr	   r
   r	   r	   r   ฺtest_badDecorator-   s    z DecorationTest.test_badDecoratorc                 C   s   dS )zQ
        This test method is decorated in a way that preserves its name.
        Nr	   r
   r	   r	   r   ฺtest_goodDecorator5   s    z!DecorationTest.test_goodDecoratorc                 C   s   dS )z~
        This is secretly a test method and will be decorated and then renamed so
        test discovery can find it.
        Nr	   r
   r	   r	   r   ฺrenamedDecorator<   s    zDecorationTest.renamedDecoratorc                 C   s   dS )zJ
        This isn't a test, it's just here to collide with tests.
        Nr	   r
   r	   r	   r   r   D   s    zDecorationTest.nameCollision)
r   r   r   r   r   r   r   r   Ztest_renamedDecoratorr   r	   r	   r	   r   r   ,   s   r   c                   @   s(   e Zd ZddddZddddZdS )ฺ
PyunitTestNr   c                 C   s   d S r   r	   r
   r	   r	   r   r   K   s    zPyunitTest.test_fooc                 C   s   d S r   r	   r
   r	   r	   r   r   N   s    zPyunitTest.test_barr   r	   r	   r	   r   r    J   s   r    c                   @   s   e Zd ZddddZdS )ฺNotATestNr   c                 C   s   d S r   r	   r
   r	   r	   r   r   S   s    zNotATest.test_foo)r   r   r   r   r	   r	   r	   r   r!   R   s   r!   c                   @   s6   e Zd ZddddZddddZddddZdS )	ฺAlphabetTestNr   c                 C   s   d S r   r	   r
   r	   r	   r   ฺtest_aX   s    zAlphabetTest.test_ac                 C   s   d S r   r	   r
   r	   r	   r   ฺtest_b[   s    zAlphabetTest.test_bc                 C   s   d S r   r	   r
   r	   r	   r   ฺtest_c^   s    zAlphabetTest.test_c)r   r   r   r#   r$   r%   r	   r	   r	   r   r"   W   s   r"   )ฺ__doc__r   ZpyunitZtwisted.python.utilr   Ztwisted.trialZSynchronousTestCaser   r   r   r   ZTestCaser    r!   r"   r	   r	   r	   r   ฺ<module>   s   