o
    û›hï  ã                   @   sd   d dl Z d dlmZ d dlmZ d dlm  mZ ej	dd„ ƒZ
ej	dd„ ƒZG dd	„ d	e jƒZdS )
é    N)ÚMock)Úeventsc                   C   ó   d S ©N© r   r   r   úTc:\Users\shubh\Videos\agent\nova\Lib\site-packages\IPython/core/tests/test_events.pyÚping_received   ó   r   c                 C   r   r   r   )Zargumentr   r   r   Úevent_with_argument   r	   r
   c                   @   s<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚCallbackTestsc                 C   s   t  tƒ ttdœ¡| _d S )N)r   r
   )r   ZEventManagerÚget_ipythonr   r
   Úem©Úselfr   r   r   ÚsetUp   s
   ÿ
ÿzCallbackTests.setUpc                 C   sZ   t ƒ }| j d|¡ | j d¡ |  |jd¡ | j d|¡ | j d¡ |  |jd¡ d S )Nr   é   )r   r   ÚregisterÚtriggerÚassertEqualZ
call_countÚ
unregister©r   Úcbr   r   r   Útest_register_unregister   s   z&CallbackTests.test_register_unregisterc                 C   sD   dd„ }dd„ }| j  d|¡ |  t| j jd|¡ | j  d|¡ d S )Nc                   S   r   r   r   r   r   r   r   Úcb1$   ó   z?CallbackTests.test_bare_function_missed_unregister.<locals>.cb1c                   S   r   r   r   r   r   r   r   Úcb2'   r   z?CallbackTests.test_bare_function_missed_unregister.<locals>.cb2r   )r   r   ÚassertRaisesÚ
ValueErrorr   )r   r   r   r   r   r   Ú$test_bare_function_missed_unregister#   s
   z2CallbackTests.test_bare_function_missed_unregisterc                 C   óT   t td�}| j d|¡ t d¡� | j d¡ W d   ƒ d S 1 s#w   Y  d S ©N)Zside_effectr   zError in callback)r   r   r   r   ÚttÚAssertPrintsr   r   r   r   r   Útest_cb_error.   ó
   
"ÿzCallbackTests.test_cb_errorc                 C   r   r    )r   ÚKeyboardInterruptr   r   r!   r"   r   r   r   r   r   Útest_cb_keyboard_interrupt4   r$   z(CallbackTests.test_cb_keyboard_interruptc                    sŠ   dgd ‰‡ ‡‡‡fdd„‰ ‡‡‡fdd„‰‡fdd„‰ˆj  d	ˆ ¡ ˆj  d	ˆ¡ ˆj  d	¡ ˆ g d
¢ˆ¡ ˆ ˆgˆj jd	 ¡ d S )NFé   c                     s(   dˆd< ˆj  dˆ ¡ ˆj  dˆ¡ d S )NTr   r   )r   r   r   ©Ú_)Úfunc1Úfunc3Úinvokedr   r   r   r*   =   s   z<CallbackTests.test_unregister_during_callback.<locals>.func1c                     s   dˆd< ˆj  dˆ ¡ d S )NTr   r   )r   r   r(   )Úfunc2r,   r   r   r   r-   B   s   z<CallbackTests.test_unregister_during_callback.<locals>.func2c                     s   dˆ d< d S )NTé   r   r(   )r,   r   r   r+   F   s   z<CallbackTests.test_unregister_during_callback.<locals>.func3r   )TTF)r   r   r   r   Ú	callbacksr   r   )r*   r-   r+   r,   r   r   Útest_unregister_during_callback:   s   
z-CallbackTests.test_unregister_during_callbackN)	Ú__name__Ú
__module__Ú__qualname__r   r   r   r#   r&   r0   r   r   r   r   r      s    r   )ZunittestZunittest.mockr   ZIPython.corer   ZIPython.testing.toolsÚtestingZtoolsr!   Z_define_eventr   r
   ZTestCaser   r   r   r   r   Ú<module>   s    

