U
    lª/e±  ã                   @   sP   d dl Z d dlZd dlZd dlmZmZ d dlmZ dd„ ZG dd„ deƒZ	dS )é    N)ÚskipIfÚTestCase)Úmaybe_awaitc                    s   ‡ fdd„}|S )Nc                     s:   z*t ¡ }| d¡ | ˆ | |Ž¡}|W ¢S |  ¡  X d S )NF)ÚcloseÚasyncioZnew_event_loopZ	set_debugZrun_until_complete)ÚargsÚkwargsZloopÚresult©Úfn© ú>/tmp/pip-unpacked-wheel-n_uj7zou/aioitertools/tests/helpers.pyÚwrapped   s    
zasync_test.<locals>.wrappedr   )r   r   r   r
   r   Ú
async_test   s    	r   c                   @   sL   e Zd Zedd„ ƒZedd„ ƒZeejdkdƒedd„ ƒƒZ	ed	d
„ ƒZ
dS )ÚHelpersTestc                 Ã   s   |   tdƒI d H d¡ d S )Né*   ©ÚassertEqualr   )Úselfr   r   r   Útest_maybe_await   s    zHelpersTest.test_maybe_awaitc                 Ã   s$   dd„ }|   t|ƒ ƒI d H d¡ d S )Nc                   Ó   s   t  d¡I d H  dS ©Nç-Cëâ6?r   ©r   Úsleepr   r   r   r   Ú	forty_two#   s    z9HelpersTest.test_maybe_await_async_def.<locals>.forty_twor   r   ©r   r   r   r   r   Útest_maybe_await_async_def!   s    z&HelpersTest.test_maybe_await_async_def)é   é   z@asyncio.coroutine removedc                 Ã   s*   t jdd„ ƒ}|  t|ƒ ƒI d H d¡ d S )Nc                   s   s   t  d¡E d H  dS r   r   r   r   r   r   r   ,   s    z9HelpersTest.test_maybe_await_coroutine.<locals>.forty_twor   )r   Ú	coroutiner   r   r   r   r   r   Útest_maybe_await_coroutine)   s    
z&HelpersTest.test_maybe_await_coroutinec                 Ã   s.   dd„ }|   tt |d¡dƒƒI d H d¡ d S )Nc                 Ó   s   t  d¡I d H  | | S )Nr   r   )ÚaÚbr   r   r   Úmultiply5   s    z6HelpersTest.test_maybe_await_partial.<locals>.multiplyé   é   r   )r   r   Ú	functoolsÚpartial)r   r#   r   r   r   Útest_maybe_await_partial3   s    z$HelpersTest.test_maybe_await_partialN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   ÚsysÚversion_infor    r(   r   r   r   r   r      s   

r   )
r   r&   r,   Zunittestr   r   Zaioitertools.helpersr   r   r   r   r   r   r   Ú<module>   s   