U
    nËj  ã                   @  sj   d dl mZ d dlZd dlmZmZ d dlmZmZm	Z	m
Z
 d dlmZmZ edƒZG dd„ ded	�ZdS )
é    )ÚannotationsN)ÚABCMetaÚabstractmethod)ÚAsyncGeneratorÚCallableÚ	CoroutineÚIterable)ÚAnyÚTypeVarÚ_Tc                   @  sx   e Zd ZdZd dœdd„Zeddddd	œd
d„ƒZeddddœdd„ƒZeddddœdd„ƒZeddddœdd„ƒZ	dS )Ú
TestRunnerzr
    Encapsulates a running event loop. Every call made through this object will use the
    same event loop.
    )Úreturnc                 C  s   | S ©N© )Úselfr   r   ú6/tmp/pip-unpacked-wheel-k8mofgf9/anyio/abc/_testing.pyÚ	__enter__   s    zTestRunner.__enter__ztype[BaseException] | NonezBaseException | Noneztypes.TracebackType | Nonezbool | None)Úexc_typeÚexc_valÚexc_tbr   c                 C  s   d S r   r   )r   r   r   r   r   r   r   Ú__exit__   s    zTestRunner.__exit__z&Callable[..., AsyncGenerator[_T, Any]]zdict[str, Any]zIterable[_T])Úfixture_funcÚkwargsr   c                 C  s   dS )a   
        Run an async generator fixture.

        :param fixture_func: the fixture function
        :param kwargs: keyword arguments to call the fixture function with
        :return: an iterator yielding the value yielded from the async generator
        Nr   ©r   r   r   r   r   r   Úrun_asyncgen_fixture   s    zTestRunner.run_asyncgen_fixturez&Callable[..., Coroutine[Any, Any, _T]]r   c                 C  s   dS )zß
        Run an async fixture.

        :param fixture_func: the fixture function
        :param kwargs: keyword arguments to call the fixture function with
        :return: the return value of the fixture function
        Nr   r   r   r   r   Úrun_fixture*   s    zTestRunner.run_fixturez'Callable[..., Coroutine[Any, Any, Any]]ÚNone)Ú	test_funcr   r   c                 C  s   dS )z¢
        Run an async test function.

        :param test_func: the test function
        :param kwargs: keyword arguments to call the test function with
        Nr   )r   r   r   r   r   r   Úrun_test8   s    zTestRunner.run_testN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r   r   r   r      s   r   )Ú	metaclass)Ú
__future__r   ÚtypesÚabcr   r   Úcollections.abcr   r   r   r   Útypingr	   r
   r   r   r   r   r   r   Ú<module>   s   