
    H>qjI                         d dl Z d dlZd dlmZ  e ed            Z e edd            Z e edd            Z G d d	e j                        Z
y)
    N)Event
   d   n         c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)
TimingTestc                    d}t        j                  t        d      }|j                         j	                  d      }|j                  |      j                         j	                  d      }|j                  |      j                  d       j                         j                         }| j                  t        |d         |dz          y )N{Gz?intervalr   c                     || z
  S )N )abs     P/opt/rentech/trading_bot/.venv/lib/python3.12/site-packages/tests/timing_test.py<lambda>z'TimingTest.test_delay.<locals>.<lambda>   s
    A     gMb`?)r   sequencearray1	timestamppluckdelayzipmapmeanrun
assertLessabs)selfr   srce1e2rs         r   
test_delayzTimingTest.test_delay   s    nnVd3]]_""1%YYu'')//2FF2JNN-.33599;AbE
EEM2r   c                     t        j                  dd      }t        j                  dd      j                  |      }| j	                  |j                         g d       y )Ng/$?   r   r   r   )   r)         )r   timerrangesampleassertEqualr   r"   r-   events      r   test_samplezTimingTest.test_sample   sC    E1%B.55e<l3r   c                     t        j                  dd      }|j                  d      }| j                  |j	                         t         j
                  g       y )Nr      )countr   )r   r-   timeoutr0   r   NO_VALUEr1   s      r   test_timeoutzTimingTest.test_timeout   s=    Ba(d#u~~&67r   c                     t        j                  dd      j                  d       j                  d      }| j	                  |j                         dgdz         y )Nr   皙?r   c                 6    t        j                  t        d      S NgMbP?r   r   array2ts    r   r   z*TimingTest.test_debounce.<locals>.<lambda>!       vu = r   r   m   r   r.   mergemapdebouncer0   r   r"   r2   s     r   test_debouncezTimingTest.test_debounce   sG    B.X=>Xd^ 	 	sebj1r   c                     t        j                  dd      j                  d       j                  dd      }| j	                  |j                         dgdz         y )	Nr   r;   r   c                 6    t        j                  t        d      S r=   r>   r@   s    r   r   z3TimingTest.test_debounce_on_first.<locals>.<lambda>'   rB   r   g{Gz?T)on_firstr   rD   rG   s     r   test_debounce_on_firstz!TimingTest.test_debounce_on_first%   sL    B.X=>XdTX* 	 	sebj1r   c                 R   t        j                          }t        t        d            }t        j                  |      j                  ddd       }|j                         }| j                  ||       t        j                          |z
  }| j                  t        |dz
        d       y )Ni  i  g?c                      y)Nr   r   )is    r   r   z*TimingTest.test_throttle.<locals>.<lambda>/   s    r   )	cost_funcg      ?r;   )
timelistr.   r   r   throttler   r0   r    r!   )r"   t0r   r2   resultdts         r   test_throttlezTimingTest.test_throttle+   s}    YY[sq!XdC<X8 	#YY[2BHt,r   N)	__name__
__module____qualname__r'   r3   r9   rH   rL   rW   r   r   r   r
   r
      s     34
8
22-r   r
   )unittestrQ   eventkitr   rR   r.   r   r?   array3TestCaser
   r   r   r   <module>r_      sM      	eBi	eCo		eCo	(-"" (-r   