o
    Òó·i¿  ã                   @   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dedef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ƒ‚)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   únC:\Users\psant\Downloads\PAF backend\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„ZdS )ÚReactorBuilderTestsz&
    Tests for L{ReactorBuilder}.
    r   Nc                    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„ZdS )zHReactorBuilderTests.test_buildReactorFails.<locals>.BrokenReactorFactoryz;twisted.internet.test.test_reactormixins.unsupportedReactorr   Nc                 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©r   N)Ú__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   ÚcasesZsuiteÚresultÚ_Úskipr   r   r   Útest_buildReactorFails$   s   
z*ReactorBuilderTests.test_buildReactorFailsr   )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    