U
    Jë]j¿  ã                   @   sŒ   d Z ddlmZmZmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZmZ dd	lmZ d
Zeedœdd„ZG dd„ deƒZdS )zS
Tests L{twisted.internet.test.reactormixins}, the reactor-testing support
module.
é    )Úassert_thatÚequal_toÚ
has_length)ÚNoReturn)Úmatches_result)Ú
TestResult)Ú
TestLoader)ÚSynchronousTestCaseÚ	TestSuiteé   )ÚReactorBuilderzThis reactor is unsupported.)ÚselfÚreturnc                 C   s   t tƒ‚dS )zø
    A function that can be used as a factory for L{ReactorBuilder} tests but
    which always raises an exception.

    This gives the appearance of a reactor type which is unsupported in the
    current runtime configuration for some reason.
    N)Ú	ExceptionÚUNSUPPORTED©r   © r   úqc:\users\psant\downloads\hotstarbackend\school\venv\Lib\site-packages\twisted/internet/test/test_reactormixins.pyÚunsupportedReactor   s    r   c                   @   s   e Zd ZdZddœdd„ZdS )ÚReactorBuilderTestsz&
    Tests for L{ReactorBuilder}.
    N©r   c                    s|   G dd„ dt tƒ}| ¡  ¡ }tƒ ‰ t‡ fdd„|D ƒƒ}tƒ }| |¡ t|t	t
dƒd�ƒ |j\\}}t|ttƒƒ dS )z}
        If the reactor factory raises any exception then
        L{ReactorBuilder.buildReactor} raises L{SkipTest}.
        c                   @   s    e Zd ZdgZddœdd„ZdS )zHReactorBuilderTests.test_buildReactorFails.<locals>.BrokenReactorFactoryz;twisted.internet.test.test_reactormixins.unsupportedReactorNr   c                 S   s   |   ¡  dS )zQ
                Try, and fail, to build an unsupported reactor.
                N)ZbuildReactorr   r   r   r   Útest_brokenFactory/   s    z[ReactorBuilderTests.test_buildReactorFails.<locals>.BrokenReactorFactory.test_brokenFactory)Ú__name__Ú
__module__Ú__qualname__Z	_reactorsr   r   r   r   r   ÚBrokenReactorFactory*   s   ÿr   c                 3   s   | ]}ˆ   |¡V  qd S )N)Z	loadClass)Ú.0Úcls©Úloaderr   r   Ú	<genexpr>7   s     z=ReactorBuilderTests.test_buildReactorFails.<locals>.<genexpr>r   )ÚskipsN)r   r	   ZmakeTestCaseClassesÚvaluesr   r
   r   Úrunr   r   r   r!   r   r   )r   r   ZcasesZsuiteÚresultÚ_Úskipr   r   r   Útest_buildReactorFails$   s    
z*ReactorBuilderTests.test_buildReactorFails)r   r   r   Ú__doc__r'   r   r   r   r   r      s   r   N)r(   Zhamcrestr   r   r   Ztyping_extensionsr   Z!twisted.trial._dist.test.matchersr   Ztwisted.trial.reporterr   Ztwisted.trial.runnerr   Ztwisted.trial.unittestr	   r
   Zreactormixinsr   r   r   r   r   r   r   r   Ú<module>   s   