U
    n5{iÁ  ã                   @   s<   d Z ddlmZ ddlmZ ddlmZ G dd„ deƒZdS )	zO
Test cases for convenience functionality in L{twisted._threads._convenience}.
é    )ÚSynchronousTestCaseé   )ÚQuit)ÚAlreadyQuitc                   @   sV   e Zd ZdZddœdd„Zddœdd„Zddœdd	„Zddœd
d„Zddœdd„ZdS )Ú	QuitTestsz
    Tests for L{Quit}
    N)Úreturnc                 C   s   t ƒ }|  |jd¡ dS )z3
        L{Quit.isSet} starts as L{False}.
        FN)r   ÚassertEqualÚisSet©ÚselfÚquit© r   úJ/tmp/pip-unpacked-wheel-mnhg7r0q/twisted/_threads/test/test_convenience.pyÚtest_isInitiallySet   s    zQuitTests.test_isInitiallySetc                 C   s    t ƒ }| ¡  |  |jd¡ dS )z<
        L{Quit.set} sets L{Quit.isSet} to L{True}.
        TN)r   Úsetr   r	   r
   r   r   r   Útest_setSetsSet   s    zQuitTests.test_setSetsSetc                 C   s   t ƒ }| ¡ }|  |d¡ dS )zK
        L{Quit.check} initially does nothing and returns L{None}.
        N)r   ÚcheckZassertIs)r   r   Úcheckedr   r   r   Útest_checkDoesNothing"   s    zQuitTests.test_checkDoesNothingc                 C   s    t ƒ }| ¡  |  t|j¡ dS )zU
        L{Quit.check} raises L{AlreadyQuit} if L{Quit.set} has been called.
        N)r   r   ÚassertRaisesr   r   r
   r   r   r   Útest_checkAfterSetRaises*   s    z"QuitTests.test_checkAfterSetRaisesc                 C   s    t ƒ }| ¡  |  t|j¡ dS )zU
        L{Quit.set} raises L{AlreadyQuit} if it has been called previously.
        N)r   r   r   r   r
   r   r   r   Útest_setTwiceRaises2   s    zQuitTests.test_setTwiceRaises)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r   r   r      s   r   N)r   Ztwisted.trial.unittestr   Z_conveniencer   Z	_ithreadsr   r   r   r   r   r   Ú<module>   s   