
    H>qj                         d dl Z d dlZd dlmZ d dlZ e j
                         j                         Zej                  Z	 G d d      Z
d Z G d dej                        Zedk(  r ej                          yy)	    N)Eventc                       e Zd Zd Zd Zd Zy)Objectc                     d| _         y Nr   value)selfs    O/opt/rentech/trading_bot/.venv/lib/python3.12/site-packages/tests/event_test.py__init__zObject.__init__   s	    
    c                 4    | xj                   ||z
  z  c_         y Nr   r
   xys      r   methodzObject.method       

a!e
r   c                 4    | xj                   ||z
  z  c_         y r   r   r   s      r   __call__zObject.__call__   r   r   N)__name__
__module____qualname__r   r   r    r   r   r   r      s    r   r   c                b   K   | D ]$  }t        j                  d       d {    | & y 7 wr   )asynciosleep)itr   s     r   aitr      s/      mmAs   /-/c                   B    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)	EventTestc                    t               }t               }t        d      }||z  }|j                  dd       | j                  |j                  d       ||z  }|j                  dd       | j                  |j                  d       | j                  |j                  d       ~| j                  t        |      d       ||z  }| j                  ||       | j                  t        |      d       y )	Ntest	               r   )r   r   emitassertEqualr	   lenassertNotInr
   obj1obj2events       r   test_functorzEventTest.test_functor   s    xxf

1aQ'

1aQ'R(UQ'u%UQ'r   c                    t               }t               }t        d      }||j                  z  }|j                  dd       | j	                  |j
                  d       ||j                  z  }|j                  dd       | j	                  |j
                  d       | j	                  |j
                  d       ~| j	                  t        |      d       ||j                  z  }| j                  |j                  |       | j	                  t        |      d       ||j                  z  }||j                  z  }| j	                  t        |      d	       |j                  |       | j	                  t        |      d       y )
Nr#   r$   r%   r&   r'   r(   r)   r      )	r   r   r   r*   r+   r	   r,   r-   disconnect_objr.   s       r   test_methodzEventTest.test_method1   s,   xxf

1aQ'

1aQ'R(UQ'e,UQ'UQ'T"UQ'r   c                    fd}fd}ddt        d      }||z  }|j                  dd       | j                  d       ||z  }|j                  dd       | j                  d       | j                  d	       ||z  }| j                  ||       ||z  }| j                  ||       | j                  t	        |      d       y )
Nc                     | |z
  z  y r   r   )r   r   value1s     r   f1z#EventTest.test_function.<locals>.f1J       a!eOFr   c                     | |z
  z  y r   r   )r   r   value2s     r   f2z#EventTest.test_function.<locals>.f2N   r;   r   r   r#   r$   r%   r&   r'   r(   )r   r*   r+   r-   r,   )r
   r:   r>   r1   r9   r=   s       @@r   test_functionzEventTest.test_functionI   s    		 f

1a#

1a#$U#U#UQ'r   c                 d    dd l }t        d      }||j                  z  }|j                  dd       y )Nr   r#   r4      )mathr   powr*   )r
   rB   r1   s      r   test_cmethodzEventTest.test_cmethoda   s*    f

1ar   c                    dd l }t               }t        d      }|j                  |j                  d       |j                  |      }~|j                  dd       | j                   |       j                  d        |       }|j                  dd       | j                  |j                  d       | j                  |j                  |       ||j                  z  }| j                  |j                  |       y )	Nr   r#   T)keep_refr$   r%   r&   r'   )weakrefr   r   connectr   refr*   r+   r	   assertInr-   )r
   rG   objr1   wrs        r   test_keep_refzEventTest.test_keep_refg   s    hfcjj40[[

1aQ'd

1aA&cjj%(U+r   c                    fd}g t        d      }||z  }|j                  d       |j                  d       t        t        j                  d             | j                  ddg       j                          ||z  }|j                  d       t        t        j                  d             | j                  g        y )Nc                 n   K   j                  |        t        j                  d       d {    y 7 wr   )appendr   r   )dresults    r   coroz&EventTest.test_coro_func.<locals>.corox   s%     MM!--"""s   *535r#   r%   r4   r   rA   )r   r*   runr   r   r+   clear)r
   rS   r1   rR   s      @r   test_coro_funczEventTest.test_coro_funcw   s    	# f

1

1GMM!!Q(

1GMM!$r   c                     fd}t        t        dd            }t        j                  |      t	         |             }| j                  ||       y )Nc                  F   K   2  cg c3 d {   } | 7 6 c} S c c} w wr   r   )vr1   s    r   rS   z"EventTest.test_aiter.<locals>.coro   s"     %*++A++++s$   !
!r   
   )listranger   sequencerT   r+   )r
   rS   arR   r1   s       @r   
test_aiterzEventTest.test_aiter   sC    	, q"q!TV#r   c                    t        j                  dd      t        j                  t        j                  t        j
                         j                         f   j                         }| j                  |j                         g d       y )Nr%   rZ   ))r%   r%   r%   )r%   r&   r$   )r%   r'      )r%         )r%   rA      )r%   r$   '   )
r   r\   evMinMaxOpsumzipr+   rT   )r
   r1   s     r   	test_forkzEventTest.test_fork   sV    Ar"2662662557;;=#@AEEG '$ 	%r   c           	          g }t               }t        j                  d       }||j                  z  }||z  }t	        d      D ]  }|j                  |        | j                  |t        t	        dd                   y )Nc                     | dz   S )NrZ   r   )r   s    r   <lambda>z1EventTest.test_operator_connect.<locals>.<lambda>   s
    q2v r   rZ      )r   rf   MaprP   r\   r*   r+   r[   )r
   rR   ev1ev2is        r   test_operator_connectzEventTest.test_operator_connect   sm    gff%&v}}s
r 	AHHQK	eBm!45r   N)r   r   r   r2   r6   r?   rD   rM   rV   r_   rl   ru   r   r   r   r!   r!      s/    ($(0(0, %($%6r   r!   __main__)r   unittesteventkitr   rf   get_event_loop_policyget_event_looplooprun_until_completerT   r   r   TestCaser!   r   mainr   r   r   <module>r      ss       $w$$&557
	 	E6!! E6P zHMMO r   