U
    
W[œ  ã                   @   sZ   d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ G dd„ dejƒZd	S )
z%
Tests for L{twisted.internet.main}.
é    )ÚdivisionÚabsolute_import)Úunittest)ÚReactorAlreadyInstalledError)ÚinstallReactor)Ú	NoReactorc                   @   s(   e Zd ZdZdd„ Zdd„ Zdd„ ZdS )	ÚInstallReactorTestsz&
    Tests for L{installReactor}.
    c              	   C   s<   t ƒ , tƒ }t|ƒ ddlm} |  ||¡ W 5 Q R X dS )zN
        L{installReactor} installs a new reactor if none is present.
        r   )ÚreactorN)r   Úobjectr   Ztwisted.internetr	   ZassertIs)ÚselfZ
newReactorr	   © r   úA/usr/lib/python3/dist-packages/twisted/internet/test/test_main.pyÚtest_installReactor   s
    z'InstallReactorTests.test_installReactorc              	   C   s0   t ƒ   ttƒ ƒ |  tttƒ ¡ W 5 Q R X dS )zv
        If a reactor is already installed, L{installReactor} raises
        L{ReactorAlreadyInstalledError}.
        N)r   r   r
   ZassertRaisesr   ©r   r   r   r   Útest_alreadyInstalled!   s
    
ÿz)InstallReactorTests.test_alreadyInstalledc                 C   s   |   tttƒ¡ dS )zo
        For backwards compatibility, L{ReactorAlreadyInstalledError} is an
        L{AssertionError}.
        N)Z
assertTrueÚ
issubclassr   ÚAssertionErrorr   r   r   r   Útest_errorIsAnAssertionError,   s    ÿz0InstallReactorTests.test_errorIsAnAssertionErrorN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r      s   r   N)r   Z
__future__r   r   Ztwisted.trialr   Ztwisted.internet.errorr   Ztwisted.internet.mainr   Z#twisted.internet.test.modulehelpersr   ZSynchronousTestCaser   r   r   r   r   Ú<module>   s   