o
    _~#g6                     @   sd  d dl Z d dlZd dlZd dlmZmZmZ d dlm	Z	m
Z
 d dlmZ ejdedddfe	dd	d
fe	dd	 d
fe	dddfe	dddddfe	ddddddfe
ddfgdd Zdd Zdd Zejdddgd d! Zd"d# Zejd$d%diddd&d'd(igd)d* ZG d+d, d,Zejdg d-d.d/ Zejdg d0d1d2 ZdS )3    N)array_to_timedelta64delta_to_nanosecondsints_to_pytimedelta)	Timedeltaoffsetszobj,expected   Dg  H0Ci)minutesg   |rXgBY>)seconds  g&.>gh㈵>g?)r
   millisecondsmicrosecondso      )daysr
   r   r   gS$B}   c                 C   s   t | }||ks
J d S )N)r   )objexpectedresult r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/tslibs/test_timedeltas.pytest_delta_to_nanoseconds   s   r   c                  C   s0  t jdgdd} tjtdd t|  W d    n1 sw   Y  tjtdd td W d    n1 s9w   Y  tjtdd td	 W d    n1 sTw   Y  tjtdd tt d
 W d    n1 srw   Y  tjtdd tt d W d    d S 1 sw   Y  d S )Ni[zm8[ns]dtypez<class 'numpy.ndarray'>matchfloatg      ?intr         )nparraypytestraises	TypeErrorr   int64int32)r   r   r   r   test_delta_to_nanoseconds_error*   s    


"r'   c                  C   s   d} t dd}tjt| d t| W d    n1 sw   Y  t dd}tjt| d t| W d    d S 1 s@w   Y  d S )Nzadelta_to_nanoseconds does not support Y or M units, as their duration in nanoseconds is ambiguousr   Yr   M)r    timedelta64r"   r#   
ValueErrorr   )msgtdr   r   r   (test_delta_to_nanoseconds_td64_MY_raises:   s   

"r.   unitr(   r)   c                 C   sL   t jtd|  dd ttd|  W d    d S 1 sw   Y  d S )NzUnit z is not supported. Only unambiguous timedelta values durations are supported. Allowed units are 'W', 'D', 'h', 'm', 's', 'ms', 'us', 'ns'r   r   )r"   r#   r+   r   r    r*   r/   r   r   r   !test_unsupported_td64_unit_raisesK   s   
"r1   c                   C   s.   t tddks
J t tdddksJ d S )Ng    _B)nanoseconds)r   r   r   r   r   r   test_huge_nanoseconds_overflowW   s   r3   kwargsSeconds)r
   NanosecondsFoor   c                 C   sL   d}t jtt|d tdi |  W d    d S 1 sw   Y  d S )Nzcannot construct a Timedelta from the passed arguments, allowed keywords are [weeks, days, hours, minutes, seconds, milliseconds, microseconds, nanoseconds]r   r   )r"   r#   r+   reescaper   )r4   err_messager   r   r   test_kwarg_assertion]   s
   "r;   c                   @   s   e Zd Zdd Zdd ZdS )TestArrayToTimedelta64c                 C   sZ   t jddgddggtd}tjtdd t|dd	 W d    d S 1 s&w   Y  d S )
N1r   r   4r   zunit must not be specifiedr   sr0   )r    r!   objectr"   r#   r+   r   )selfvaluesr   r   r   4test_array_to_timedelta64_string_with_unit_2d_raisesm   s   "zKTestArrayToTimedelta64.test_array_to_timedelta64_string_with_unit_2d_raisesc                 C   sJ   t d}d}tjt|d t| W d    d S 1 sw   Y  d S )N   z'values' must have object dtyper   )r    aranger"   r#   r$   r   )rA   rB   r,   r   r   r   +test_array_to_timedelta64_non_object_raisest   s
   

"zBTestArrayToTimedelta64.test_array_to_timedelta64_non_object_raisesN)__name__
__module____qualname__rC   rF   r   r   r   r   r<   l   s    r<   )r?   msusc                 C   st   t jdt jdd|  d}t|dd}|t}t|| t|dd}t j	dd	 |D td}t|| d S )
N   r   m8[]FboxTc                 S   s   g | ]}t |qS r   )r   ).0xr   r   r   
<listcomp>   s    z,test_ints_to_pytimedelta.<locals>.<listcomp>)
r    rE   r%   viewr   astyper@   tmassert_numpy_array_equalr!   )r/   arrresr   r   r   r   test_ints_to_pytimedelta}   s   
rZ   )r(   r)   psfsasc                 C   s   t jdt jdd|  d}tjtdd t|dd W d    n1 s'w   Y  d	}tjt|d t|d
d W d    d S 1 sGw   Y  d S )NrL   r   rM   rN   z\d{1,2}r   FrO   z4Only resolutions 's', 'ms', 'us', 'ns' are supportedT)r    rE   r%   rT   r"   r#   NotImplementedErrorr   )r/   rX   r,   r   r   r   $test_ints_to_pytimedelta_unsupported   s   "r_   )r8   numpyr    r"   pandas._libs.tslibs.timedeltasr   r   r   pandasr   r   pandas._testing_testingrV   markparametrizer*   to_pytimedeltaNanor   r'   r.   r1   r3   r;   r<   rZ   r_   r   r   r   r   <module>   sH    



