
    Pi                         d Z ddlmZmZ ddlZddlZddlZddlmZm	Z	 ddl
Zddl
mZmZmZmZ ddlmZ ddlmZ  G d d          Z G d	 d
          Z G d d          Zd Zd Zej                            dddg          d             ZdS )z+
Tests for scalar Timedelta arithmetic ops
    )datetime	timedeltaN)OutOfBoundsTimedeltaPandas4Warning)NaT	Timedelta	Timestampoffsets)opsc                      e Zd ZdZd Zej                            d edd           e	d           e
j        dd           e
j        dd	           ej        d          g          d
             Zej                            d ed           ed           e	dd           e
j        dd           e
j        dd          z    ej                     ej        d          z   g          d             Zej                            dej        ej        g          d             Zd Zej                            dej        ej        g          d             Zej                            dej        ej        g          d             Zej                            dej        ej        g          d             Zej                            dej        ej        g          d             Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&d% Z'ej                            dej        ej        g          d&             Z(ej                            dej        ej        g          d'             Z)d( Z*d) Z+d* Z,d+S ), TestTimedeltaAdditionSubtractionz\
    Tests for Timedelta methods:

        __add__, __radd__,
        __sub__, __rsub__
    c                    t          d                              |          }t          ddd          }t          dddd          }||z   }||k    sJ ||z   }||k    sJ t          dddd          }||z
  }||k    sJ d S )N   hours     i        )r   as_unitr   )selfunittddtexpectedresults         /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/scalar/timedelta/test_arithmetic.pytest_td_add_sub_pydatetimez;TestTimedeltaAdditionSubtraction.test_td_add_sub_pydatetime&   s    R   ((..dAq!!D!Q++b!!!!b!!!!D"b!,,b!!!!!!    ten_seconds
   sr   secondsl    d(	 nsc                     t          d          }t          d          }t          d          }||z   }||k    sJ ||z
  }||k    sJ d S )Nz20130101 09:01:12.123456z20130101 09:01:22.12345620130101 09:01:02.123456r	   )r   r    baseexpected_addexpected_subr   s         r   test_td_add_sub_ten_secondsz<TestTimedeltaAdditionSubtraction.test_td_add_sub_ten_seconds5   sj     344 !;<< !;<<#%%%%#%%%%%%r   one_day_ten_secsz1 day, 00:00:10z1 days, 00:00:10r   daysr%   Dc                     t          d          }t          d          }t          d          }||z   }||k    sJ ||z
  }||k    sJ d S )Nz20130102 09:01:12.123456z20130103 09:01:22.123456r(   r)   )r   r.   r*   r+   r,   r   s         r   #test_td_add_sub_one_day_ten_secondszDTestTimedeltaAdditionSubtraction.test_td_add_sub_one_day_ten_secondsK   sl     344 !;<< !;<<((%%%%((%%%%%%r   opc                 ,   t          dd          } ||t          ddd                    }|t          j        u rt	          |t
                    sJ |t          ddd          k    sJ  ||t          d                    }t	          |t
                    sJ |t          d          k    sJ  ||t          j        d	                    }t	          |t
                    sJ |t          d
          k    sJ  ||t                    }|t          u sJ d S )Nr!   r1   r#   r   r      z2018-01-12 18:09z2018-01-22 18:09z
2018-01-12
2018-01-22)	r   r   operatoradd
isinstancer	   np
datetime64r   r   r4   r   r   s       r   test_td_add_datetimelike_scalarz@TestTimedeltaAdditionSubtraction.test_td_add_datetimelike_scalara   s)    r$$$Bq!,,-- fi000004B//////B	"45566&),,,,,#5666666Bl3344&),,,,,<000000B}}}}}}r   c                 n   t          d                              d          }d}t          j        t          |          5  |t          dd          z    d d d            n# 1 swxY w Y   d}t          j        t          |          5  |t          d	          z    d d d            d S # 1 swxY w Y   d S )
Nz
1700-01-01r&   z?Cannot cast 259987 days 00:00:00 to unit='ns' without overflow.matchi r1   r#   z>Cannot cast 259987 days 00:00:00 to unit='ns' without overflowr0   )r	   r   pytestraisesr   r   r   )r   tsmsgs      r   test_td_add_timestamp_overflowz?TestTimedeltaAdditionSubtraction.test_td_add_timestamp_overflowx   s=   |$$,,T22O]/s;;; 	1 	1:C00000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 O]/s;;; 	, 	,
+++++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s$    A!!A%(A%	B**B.1B.c                     t          dd          } ||t          d                    }t          |t                     sJ |t          d          k    sJ d S )Nr!   r1   r#   rB      r   r:   r=   s       r   test_td_add_tdz/TestTimedeltaAdditionSubtraction.test_td_add_td   sh    r$$$B	r***++&),,,,,+++++++++r   c                     t          dd          } ||t          d                    }t          |t                     sJ |t          d          k    sJ d S )Nr!   r1   r#   	   rB      r   r   r:   r=   s       r   test_td_add_pytimedeltaz8TestTimedeltaAdditionSubtraction.test_td_add_pytimedelta   sh    r$$$B	q)))**&),,,,,+++++++++r   c                     t          dd          } ||t          j        dd                    }t          |t                     sJ |t          d          k    sJ d S )Nr!   r1   r#      rB   r   r;   timedelta64r:   r=   s       r   test_td_add_timedelta64z8TestTimedeltaAdditionSubtraction.test_td_add_timedelta64   si    r$$$Br3//00&),,,,,*********r   c                     t          dd          } ||t          j        d                    }t          |t                     sJ |t          dd          k    sJ d S )Nr!   r1   r#   rS   r0   r   r   r
   Hourr:   r=   s       r   test_td_add_offsetz3TestTimedeltaAdditionSubtraction.test_td_add_offset   sg    r$$$BQ((&),,,,,!444444444r   c                     t          dd          }t          dd          }||z
  }t          |t                     sJ ||k    sJ d S Nr!   r1   r#   r   r&   rJ   r   r   r   r   s       r   test_td_sub_tdz/TestTimedeltaAdditionSubtraction.test_td_sub_td   s\    r$$$QT***b&),,,,,!!!!!!r   c                 "   t          dd          }t          dd          }||                                z
  }t          |t                     sJ ||k    sJ |                                |z
  }t          |t                     sJ ||k    sJ d S r]   )r   to_pytimedeltar:   r^   s       r   test_td_sub_pytimedeltaz8TestTimedeltaAdditionSubtraction.test_td_sub_pytimedelta       r$$$QT***b'')))&),,,,,!!!!""$$r)&),,,,,!!!!!!r   c                 "   t          dd          }t          dd          }||                                z
  }t          |t                     sJ ||k    sJ |                                |z
  }t          |t                     sJ ||k    sJ d S r]   )r   to_timedelta64r:   r^   s       r   test_td_sub_timedelta64z8TestTimedeltaAdditionSubtraction.test_td_sub_timedelta64   rc   r   c                 R    t          dd          }|t          z
  }|t          u sJ d S Nr!   r1   r#   r   r   r   r   r   s      r   test_td_sub_natz0TestTimedeltaAdditionSubtraction.test_td_sub_nat   s.    r$$$c}}}}}}r   c                     t          dd          }t          j        d          }||z
  }|t          u sJ ||z
  }|t          u sJ d S Nr!   r1   r#   r   r   r;   rU   r   )r   r   td_natr   s       r   test_td_sub_td64_natz5TestTimedeltaAdditionSubtraction.test_td_sub_td64_nat   sS    r$$$&&f}}}}"}}}}}}r   c                     t          dd          }|t          j        d          z
  }t          |t                     sJ |t          dd          k    sJ d S )Nr!   r1   r#   r      hrY   rj   s      r   test_td_sub_offsetz3TestTimedeltaAdditionSubtraction.test_td_sub_offset   s`    r$$$gl1oo%&),,,,,3S111111111r   c                 F   t          dd          }d}ddt          j        d          t          j        d          fD ]}t	          j        t          |          5  ||z    d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z    d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z
   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z
   d d d            n# 1 swxY w Y   d S )Nr!   r1   r#   unsupported operand type          @r@   )r   r;   int64float64rC   rD   	TypeError)r   r   rF   others       r   test_td_add_sub_numeric_raisesz?TestTimedeltaAdditionSubtraction.test_td_add_sub_numeric_raises   s   r$$$(bhqkk2:a==9 	 	Ey444  U

              y444  

              y444  U

              y444  

              	 	sH   A--A1	4A1	B%%B)	,B)	CC!	$C!	DD	D	c                 p   t          d          }t          j        dg          }d}t          j        t
          |          5  |t          j        dg          z    d d d            n# 1 swxY w Y   d                    ddg          }t          j        t
          |          5  ||z    d d d            n# 1 swxY w Y   d}t          j        t
          |          5  ||z
   d d d            n# 1 swxY w Y   d	}t          j        t
          |          5  ||z
   d d d            d S # 1 swxY w Y   d S )
N1 dayr   z;unsupported operand type\(s\) for \+: 'Timedelta' and 'int'r@   |zEunsupported operand type\(s\) for \+: 'numpy.ndarray' and 'Timedelta'z;Concatenation operation is not implemented for NumPy arraysz:unsupported operand type\(s\) for -: 'Timedelta' and 'int'zDunsupported operand type\(s\) for -: 'numpy.ndarray' and 'Timedelta')r   r;   arrayrC   rD   r{   joinr   r   r|   rF   s       r   test_td_add_sub_int_ndarrayz<TestTimedeltaAdditionSubtraction.test_td_add_sub_int_ndarray   s;   w!L]9C000 	 	1#	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 hh&
 N

 

 ]9C000 	 	BJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	K]9C000 	 	JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	U]9C000 	 	BJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   A''A+.A+$B66B:=B:C00C47C4D++D/2D/c                     t          dd          }t          |z
  }|t          u sJ t          j        d          |z
  }|t          u sJ d S rm   )r   r   r;   r<   rj   s      r   test_td_rsub_natz1TestTimedeltaAdditionSubtraction.test_td_rsub_nat   sO    r$$$r}}}}u%%*}}}}}}r   c                     t          j        d          t          dd          z
  }t          |t                    sJ |t          dd          k    sJ d S )Nr   r!   r1   r#   irs   )r
   rZ   r   r:   r   r   s     r   test_td_rsub_offsetz4TestTimedeltaAdditionSubtraction.test_td_rsub_offset  s[    a9Rc#:#:#::&),,,,,4c222222222r   c                    t          j        t          d          t          d          g          }t          j        t          d          t          d          g          }|t          d          z
  }t	          j        ||           d S )N20130101 9:0120121230 9:02z20121231 9:01z20121229 9:021Dr;   r   r	   r   tmassert_numpy_array_equal)r   arrexpress       r   ,test_td_sub_timedeltalike_object_dtype_arrayzMTestTimedeltaAdditionSubtraction.test_td_sub_timedeltalike_object_dtype_array  ss    h	/22Io4N4NOPPh	/22Io4N4NOPPIdOO#
#C-----r   c                    t          d          }t          j        |t          d          t          j        dd          g          }t          j        |t          d          z
  t          d          t          j        dd          t          d          z
  g          }|t          d          z
  }t          j        ||           d S )N2021-11-09 09:54:00r   rw   rs   0D)r	   r;   r   r   rU   r   r   )r   nowr   r   r   s        r   7test_td_sub_mixed_most_timedeltalike_object_dtype_arrayzXTestTimedeltaAdditionSubtraction.test_td_sub_mixed_most_timedeltalike_object_dtype_array  s    -..hYt__bnQ.D.DEFFhioo%$q#&&48
 
 IdOO#
#C-----r   c                 "   t          d          }t          j        |t          d          t          j        dd          g          }d}t          j        t          |          5  t          d          |z
   d d d            d S # 1 swxY w Y   d S )Nr   r   rw   rs   zAunsupported operand type\(s\) for \-: 'Timedelta' and 'Timestamp'r@   )r	   r;   r   r   rU   rC   rD   r{   )r   r   r   rF   s       r   8test_td_rsub_mixed_most_timedeltalike_object_dtype_arrayzYTestTimedeltaAdditionSubtraction.test_td_rsub_mixed_most_timedeltalike_object_dtype_array   s    -..hYt__bnQ.D.DEFFR]9C000 	" 	"dOOc!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s   $BBBc                 "   t          j        t          d          t          d          g          }t          j        t          d          t          d          g          } ||t          d                    }t	          j        ||           d S )Nr   r   z20130102 9:01z20121231 9:02r   r   )r   r4   r   r   r   s        r   ,test_td_add_timedeltalike_object_dtype_arrayzMTestTimedeltaAdditionSubtraction.test_td_add_timedeltalike_object_dtype_array(  s|     h	/22Io4N4NOPPh	/22Io4N4NOPPbioo&&
#C-----r   c                 ,   t          d          }t          j        |t          d          g          }t          j        |t          d          z   t          d          g          } ||t          d                    }t	          j        ||           d S )Nr   r   2D)r	   r;   r   r   r   r   )r   r4   r   r   r   r   s         r   2test_td_add_mixed_timedeltalike_object_dtype_arrayzSTestTimedeltaAdditionSubtraction.test_td_add_mixed_timedeltalike_object_dtype_array0  s     -..hYt__-..hioo-y?@@bioo&&
#C-----r   c                    t          d          }t          j        |                                g          }t          j        t          d                                          g          }||z   }t	          j        ||           ||z   }t	          j        ||           ||z
  }t	          j        ||dz             ||z
  }t	          j        ||dz             d S )Nr   2 Daysr   r   r;   r   re   r   r   r   r   r|   r   r   s        r   test_td_add_sub_td64_ndarrayz=TestTimedeltaAdditionSubtraction.test_td_add_sub_td64_ndarray9  s    w"++--.//8Yx00??AABCCe
#FH555
#FH555e
#FHqL999
#FHqL99999r   c                 p   t          d          }t          j        dgd          }t          j        dgd          }t          j        ||z   |           t          j        ||z   |           t          j        dgd          }t          j        | |z   |           t          j        ||z
  |           d S )Nr   z
2000-01-01zM8[ns]dtypez
2000-01-02z
1999-12-31r   r;   r   r   r   )r   r   r|   r   s       r   test_td_add_sub_dt64_ndarrayz=TestTimedeltaAdditionSubtraction.test_td_add_sub_dt64_ndarrayI  s    w,x8888\N(;;;
#BJ999
#EBJ9998\N(;;;
#RC%K:::
#EBJ99999r   c                    t          d          }t          j        |j                  }||z   }t	          |t                     sJ |d|z  k    sJ ||z   }t	          |t                     sJ |d|z  k    sJ ||z
  }t	          |t                     sJ |d|z  k    sJ ||z
  }t	          |t                     sJ |d|z  k    sJ d S )Nr   rw   r   )r   r;   r   asm8r:   )r   r   r|   r   s       r   test_td_add_sub_ndarray_0dz;TestTimedeltaAdditionSubtraction.test_td_add_sub_ndarray_0dU  s    w!!e&),,,,,R&),,,,,R&),,,,,Re&),,,,,Rr   N)-__name__
__module____qualname____doc__r   rC   markparametrizer   r   r;   rU   r
   Secondr-   Dayr3   r8   r9   r   raddr>   rG   rK   rP   rV   r[   r_   rb   rf   rk   rp   rt   r}   r   r   r   r   r   r   r   r   r   r   r    r   r   r   r      s        " " " [Ibs###Ib!!!BN2s##BN;--GN2	
	 	
& 
&	 	
& [I'((I())I1b)))BN1c""^R^B%<%<<GKMMNGN2...	
	 	
& 
&	 	
& [THL#(#;<<  =<,, , , [THL#(#;<<, , =<, [THL#(#;<<, , =<, [THL#(#;<<+ + =<+ [THL#(#;<<5 5 =<5" " "
" 
" 
"
" 
" 
"    2 2 2    8  3 3 3
. . .. . ." " " [THL#(#;<<. . =<. [THL#(#;<<. . =<.: : : 
: 
: 
:         r   r   c            	          e Zd ZdZej                            de ej	        dd           ej	        d          g          ej                            de
j        ej        g          d                         Zej                            dej         ej        d           ed          g          ej                            de
j        ej        g          d	                         Zej                            de
j        ej        g          d
             Zd Zd Zd Zd Zd Zd Zej                            dej         ej        d           ed          g          d             Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d  Z)d! Z*d" Z+d# Z,d$ Z-d% Z.d& Z/d' Z0d( Z1d) Z2d* Z3d+ Z4d, Z5d- Z6d. Z7d/ Z8d0 Z9d1 Z:d2 Z;d3 Z<d4 Z=d5 Z>d6 Z?ej                            de
j        ej        e
j@        ejA        ejB        g          ej                            d7 eCd8           eCd9          g eCd:           eDd;          gg          d<                         ZEd= ZFd>S )?#TestTimedeltaMultiplicationDivisionz
    Tests for Timedelta methods:

        __mul__, __rmul__,
        __div__, __rdiv__,
        __truediv__, __rtruediv__,
        __floordiv__, __rfloordiv__,
        __mod__, __rmod__,
        __divmod__, __rdivmod__
    ro   r   r&   r4   c                    t          dd          }d                    g d          }d                    d| d| dd	g          }t          j        t          |
          5   |||           d d d            d S # 1 swxY w Y   d S )Nr!   r1   r#   r   )znumpy.timedelta64NaTTyper   z'unsupported operand type\(s\) for \*: 'z' and ''z1ufunc '?multiply'? cannot use operands with typesr@   r   r   rC   rD   r{   )r   r4   ro   r   typsrF   s         r   test_td_mul_natz3TestTimedeltaMultiplicationDivision.test_td_mul_naty  s     r$$$xxEEEFFhhO4OOOOOD
 
 ]9C000 	 	Br6NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   "A<<B B nanNaNc                 V    t          dd          } |||          }|t          u sJ d S rh   ri   )r   r4   r   r   r   s        r   test_td_mul_nanz3TestTimedeltaMultiplicationDivision.test_td_mul_nan  s6     r$$$B}}}}}}r   c           	         t          d          } ||d          }|t          d          k    sJ  ||d          }|t          dd          k    sJ  ||t          j                  t          u sJ  |d	|          j        d	|j        z  k    sJ  |d
|          j        d
|j        z  k    sJ d}t          j        t          |          5   ||t          ddd                     d d d            n# 1 swxY w Y   t          j        t          |          5   |||           d d d            d S # 1 swxY w Y   d S )N   minutesrw   rS   g      ?      r   r%   g      rv   r@   r   r   )	r   r;   r   r   _valuerC   rD   r{   r	   )r   r4   r   r   rF   s        r   test_td_mul_scalarz6TestTimedeltaMultiplicationDivision.test_td_mul_scalar  s    q!!!B1-------B1b9999999r"bf~~$$$$r"bzz BN2222r$||"dRY&66666(]9C000 	* 	*Br9T1a(()))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ]9C000 	 	Br2JJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   C88C<?C<D88D<?D<c                    t          d          }t          j        dg          }t          j        t          d                                          g          }||z  }t	          j        ||           ||z  }t	          j        ||           d S )Nr   rw   r   r   r   s        r   test_td_mul_numeric_ndarrayz?TestTimedeltaMultiplicationDivision.test_td_mul_numeric_ndarray  s    w!8Yx00??AABCCe
#FH555
#FH55555r   c                 0   t          d          }t          j        dt          j                  }|j        dk    sJ t          d          }||z  }t          |          t           u sJ ||k    sJ ||z  }t          |          t           u sJ ||k    sJ d S )Nr   rw   r   r   2 days)r   r;   r   ry   ndimtype)r   r   r|   r   r   s        r   test_td_mul_numeric_ndarray_0dzBTestTimedeltaMultiplicationDivision.test_td_mul_numeric_ndarray_0d  s    w"(+++zQX&&5jCyyI%%%%hbjCyyI%%%%hr   c                    t          d          }t          j        t          d                                          g          }dt          j         dt          j         d}t          j        t          |          5  ||z   d d d            n# 1 swxY w Y   t          j        t          |          5  ||z   d d d            d S # 1 swxY w Y   d S )Nr   r   z:ufunc '?multiply'? cannot use operands with types dtype\('zm8\[us\]'\) and dtype\('zm8\[us\]'\)r@   )	r   r;   r   re   r   ENDIANrC   rD   r{   r   s       r    test_td_mul_td64_ndarray_invalidzDTestTimedeltaMultiplicationDivision.test_td_mul_td64_ndarray_invalid  s_   w)H--<<>>?@@R	R R;=9R R R 	 ]9C000 	 	JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	BJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   <BBB4CCCc                     t          dd          }|t          j        d          z  }|dk    sJ ||z  dk    sJ |t          j        dd          z  dk    sJ t          j        |t          z            sJ d S )	Nr!   r1   r#   r      <   rs   r   )r   r
   rZ   r;   rU   isnanr   rj   s      r    test_td_div_timedeltalike_scalarzDTestTimedeltaMultiplicationDivision.test_td_div_timedeltalike_scalar  s    r$$$gl1oo%}}}}Bw!||||BN2s+++q0000xS!!!!!!!r   c                    t          d          }|t          j        dd          z  }||j        dz  k    sJ |t          j        dd          z  }||j        dz  k    sJ |t          j        dd          z  }||j        k    sJ t          d          }|t          j        dd          z  }|dk    sJ |t          j        dd          z  }|dk    sJ |t          j        dd          z  }||j        k    sJ d S )	Nz1 days 2 hours 3 nsr   r1   l     "R: r"    ʚ;r&   im )r   r;   rU   r   rj   s      r   test_td_div_td64_non_nanoz=TestTimedeltaMultiplicationDivision.test_td_div_td64_non_nano  s   ,--bnQ,,,m44444bnQ,,,U*****bnQ---"""" ,--r~a---{{{{r~a---r~a...""""""r   c                     t          dd          }|dz  }t          |t                     sJ |t          d          k    sJ |dz  }t          |t                     sJ |t          d          k    sJ d S )Nr!   r1   r#   rw      rB   rJ   rj   s      r   test_td_div_numeric_scalarz>TestTimedeltaMultiplicationDivision.test_td_div_numeric_scalar  s    r$$$a&),,,,,*******a&),,,,,*********r   c                 h    t          dd          }||z  }|t          u sJ ||z  }|t          u sJ d S rh   ri   )r   r   r   r   s       r   test_td_div_nanz3TestTimedeltaMultiplicationDivision.test_td_div_nan  sF     r$$$c}}}}s}}}}}}r   c                 $   t          d          }t          j        t          d                                          g          }t          j        dg          }||z  }t	          j        ||           ||z  }t	          j        ||dz             d S )Nr   r   g      ?r   r   r   s        r   test_td_div_td64_ndarrayz<TestTimedeltaMultiplicationDivision.test_td_div_td64_ndarray  s    w)H--<<>>?@@8SE??e
#FH555
#FHqL99999r   c                     t          d          }t          j        d          }||z  }t          |t                     sJ ||k    sJ d S )Nr   r   )r   r;   r   r:   )r   r   r|   r   s       r   test_td_div_ndarray_0dz:TestTimedeltaMultiplicationDivision.test_td_div_ndarray_0d  sL    w5j#y)))))byyyyyyr   c                     t          dd          }t          j        d          |z  }|dk    sJ t          j        dd          |z  dk    sJ d S )	Nr!   r1   r#   r   gq?r   rs   g      ?)r   r
   rZ   r;   rU   rj   s      r   !test_td_rdiv_timedeltalike_scalarzETestTimedeltaMultiplicationDivision.test_td_rdiv_timedeltalike_scalar'  s_    r$$$a2%""""~b#&&+t333333r   c                    t          dd          }t          |z  }t          j        |          sJ d |z  }t          j        |          sJ t          j        d          |z  }t          j        |          sJ d}t          j        t          |          5  t          j        d          |z   d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          j	        |z   d d d            d S # 1 swxY w Y   d S )Nr!   r1   r#   r   zGunsupported operand type\(s\) for /: 'numpy.datetime64' and 'Timedelta'r@   <unsupported operand type\(s\) for /: 'float' and 'Timedelta')
r   r   r;   r   rU   rC   rD   r{   r<   r   )r   r   r   rF   s       r   test_td_rdiv_na_scalarz:TestTimedeltaMultiplicationDivision.test_td_rdiv_na_scalar/  s   r$$$rxx&&+xX]9C000 	& 	&M%  2%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& N]9C000 	 	FRKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   B;;B?B?#D  DDc                    t          dd          }t          j        |gt                    }||z  }t          j        dgt          j                  }t          j        ||           t          j        d g          }||z  }t          j        t          j        g          }t          j        ||           t          j        t          j        gt                    }d}t          j	        t          |          5  ||z   d d d            n# 1 swxY w Y   t          j        t          j        gt          j                  }d}t          j	        t          |          5  ||z   d d d            d S # 1 swxY w Y   d S )	Nr!   r1   r#   r   r   r   r@   z$cannot use operands with types dtype)r   r;   r   objectrz   r   r   r   rC   rD   r{   )r   r   r   r   r   rF   s         r   test_td_rdiv_ndarrayz8TestTimedeltaMultiplicationDivision.test_td_rdiv_ndarrayD  s   r$$$ht6***r8QCrz222
#FH555hvr8RVH%%
#FH555hxv...M]9C000 	 	"HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 hxrz2224]9C000 	 	"HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   :DDDE22E69E6c                 p    t          dd          }t          j        |j                  }||z  dk    sJ d S )Nr!   r1   r#   r   )r   r;   r   r   )r   r   r   s      r   test_td_rdiv_ndarray_0dz;TestTimedeltaMultiplicationDivision.test_td_rdiv_ndarray_0d[  s:    r$$$hrwRx1}}}}}}r   c                     t          dd          }t          dd          }||z  dk    sJ | |                                z  dk    sJ d|z  |                                z  dk    sJ d S )Nr   r   r   r   r   rw   )r   ra   re   r   r   scalars      r   %test_td_floordiv_timedeltalike_scalarzITestTimedeltaMultiplicationDivision.test_td_floordiv_timedeltalike_scalare  s    Q***A...V|q    sf++---3333B600222a777777r   c                     t          dd          }|t          j        z  t          u sJ t          j        |t          z            sJ t          j        |t          j        d          z            sJ d S )Nr   r   r   r   )r   r;   r   r   r   rU   r   r   s     r   test_td_floordiv_null_scalarz@TestTimedeltaMultiplicationDivision.test_td_floordiv_null_scalarn  sp    Q***RV|s""""xc	"""""xbnU3334444444r   c                     t          dd          }|t          j        d          z  dk    sJ |t          j        d          z  dk    sJ d S )Nr   r   r   r   rw   \   )r   r
   rZ   Minuter   s     r   test_td_floordiv_offsetsz<TestTimedeltaMultiplicationDivision.test_td_floordiv_offsetsv  sX    Q***W\!__$))))W^A&&&",,,,,,r   c                     t          dd          }d                    g d          }t          j        t          |          5  |t          j        dd	          z   d d d            d S # 1 swxY w Y   d S )
Nr   r   r   r   )z.Invalid dtype datetime64\[D\] for __floordiv__z8'dtype' is an invalid keyword argument for this functionz8this function got an unexpected keyword argument 'dtype'z5ufunc '?floor_divide'? cannot use operands with typesr@   
2016-01-01zdatetime64[us]r   )r   r   rC   rD   r{   r;   r<   r   r   rF   s      r   test_td_floordiv_invalid_scalarzCTestTimedeltaMultiplicationDivision.test_td_floordiv_invalid_scalar|  s    Q***hh  
 
 ]9C000 	F 	F"-4DEEEEE	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	Fs   A++A/2A/c                 $   t          dd          }t          dd          }|dz  |k    sJ |dz  |k    sJ |t          j        d          z  |k    sJ |t          j        d          z  |k    sJ |t          j        d          z  |k    sJ d S )Nr   r   r   r       rw   rx   )r   r;   rz   int32uint8)r   r   r   s      r   test_td_floordiv_numeric_scalarzCTestTimedeltaMultiplicationDivision.test_td_floordiv_numeric_scalar  s    Q***1b111Qw(""""SyH$$$$RZ__$0000RXc]]"h....RXc]]"h......r   c                 X   t          dd          }t          dd          }|t          j        |                                          z  dk    sJ d|z  t          j        |                                g          z  }t          j        dgt          j                  }t          j        ||           d|z  t          j        |                                t          j        d          g          z  }t          j        dt          j        g          }t          j        ||           d S )Nr   r   r   r   r   r!   r   )	r   r;   r   re   ry   r   r   rU   r   )r   r   r   r   r   s        r   $test_td_floordiv_timedeltalike_arrayzHTestTimedeltaMultiplicationDivision.test_td_floordiv_timedeltalike_array  s   Q***A... RXf3355666!;;;;2v"(F$9$9$;$;#<===8QCrx000
#C222Bw28V%:%:%<%<bnU>S>S$TUUU8RL))
#C22222r   c                     t          dd          }t          j        dgt          j                  }||z  }|j        j        dk    sJ d S )Nr   r   r   r   r   m)r   pdSeriesr;   ry   r   kind)r   r   serr   s       r   test_td_floordiv_numeric_serieszCTestTimedeltaMultiplicationDivision.test_td_floordiv_numeric_series  sP    Q***i28,,,Ciy~$$$$$$r   c                 <   t          dd          }t          dd          }|                    |          dk    sJ |                     |                                          dk    sJ d|z                      |                                          dk    sJ d S )Nr   r   r   r   r   rw   r   )r   __rfloordiv__ra   re   r   s      r   &test_td_rfloordiv_timedeltalike_scalarzJTestTimedeltaMultiplicationDivision.test_td_rfloordiv_timedeltalike_scalar  s    Q***A... ''1,,,,""6#8#8#:#:;;rAAAAB%%f&;&;&=&=>>!CCCCCCr   c                     t          dd          }t          j        |                    t                              sJ t          j        |                    t          j        d                              sJ d S )Nr   r   r   )r   r;   r   r  r   rU   r   s     r   test_td_rfloordiv_null_scalarzATestTimedeltaMultiplicationDivision.test_td_rfloordiv_null_scalar  sl    Q***x((--.....x(()>)>??@@@@@@@r   c                 \    t          j        d          t          d          z  dk    sJ d S )Nr      r   rw   )r
   rZ   r   r   s    r   test_td_rfloordiv_offsetsz=TestTimedeltaMultiplicationDivision.test_td_rfloordiv_offsets  s1    |A)B"7"7"771<<<<<<r   c                    t          dd          }t          j        dd          }|                    |          t          u sJ d}t          j        t          |          5  ||z   d d d            d S # 1 swxY w Y   d S )Nr   r   r  uszHunsupported operand type\(s\) for //: 'numpy.datetime64' and 'Timedelta'r@   )r   r;   r<   r  NotImplementedrC   rD   r{   )r   r   dt64rF   s       r    test_td_rfloordiv_invalid_scalarzDTestTimedeltaMultiplicationDivision.test_td_rfloordiv_invalid_scalar  s    Q***}\400%%7777 X 	 ]9C000 	 	BJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   "A55A9<A9c                    t          dd          }|                    t          j                  t          u sJ |                    d          t          u sJ |                    d          t          u sJ |                    t          j        d                    t          u sJ |                    t          j        d                    t          u sJ |                    t          j        d                    t          u sJ d}t          j	        t          |          5  t          j        d          |z   d d d            n# 1 swxY w Y   t          j	        t          |          5  t          j        d          |z   d d d            n# 1 swxY w Y   t          j	        t          |          5  t          j        d          |z   d d d            d S # 1 swxY w Y   d S )	Nr   r   g      @rw   rx   rM   z9unsupported operand type\(s\) for //: '.*' and 'Timedeltar@   )r   r  r;   r   r  rz   r  r  rC   rD   r{   r  s      r    test_td_rfloordiv_numeric_scalarzDTestTimedeltaMultiplicationDivision.test_td_rfloordiv_numeric_scalar  ss   Q***''>9999$$6666""n4444
300NBBBB,,>>>>...@@@@J]9C000 	" 	"JsOOr!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"]9C000 	 	HQKK2	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	  	 HSMMR	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s6   #EEE-FFF7GG #G c                    t          dd          }t          dd          }|                    t          j        |                                                    dk    sJ |                    t          j        d|z                                  g                    }t          j        dgt          j                  }t          j        ||           t          j        d|z                                  t          j        d          g          }|                    |          }t          j        dt          j	        g          }t          j        ||           d S )Nr   r   r   r   r   r!   r   )
r   r  r;   r   re   ry   r   r   rU   r   )r   r   r   r   r   r   s         r   %test_td_rfloordiv_timedeltalike_arrayzITestTimedeltaMultiplicationDivision.test_td_rfloordiv_timedeltalike_array  s'   Q***A... )>)>)@)@ A ABBaGGGGrx!f*)D)D)F)F(GHHII8QCrx000
#C222hf4466u8M8MNOOs##8RL))
#C22222r   c                     t          j        g d          dz  }d}t          j        t          |          5  |t          dd          z   d d d            d S # 1 swxY w Y   d S )N)irPi isPitPi vPr   Invalid dtyper@   r   r"   r#   r;   r   rC   rD   r{   r   )r   intsrF   s      r   test_td_rfloordiv_intarrayz>TestTimedeltaMultiplicationDivision.test_td_rfloordiv_intarray  s    xHHHIIEQ]9C000 	+ 	+Iac*****	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   AA Ac                     t          dd          }t          j        dgt          j                  }|                    |          }|t          u sJ d}t          j        t          |          5  ||z   d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r%  r@   )
r   r  r  r;   ry   r  r  rC   rD   r{   )r   r   r  r   rF   s        r    test_td_rfloordiv_numeric_serieszDTestTimedeltaMultiplicationDivision.test_td_rfloordiv_numeric_series  s    Q***i28,,,s##n$$$$]9C000 	 	2II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   0BB
Bc                 N   t          d          }|t          d          z  }t          |t                     sJ |t          d          k    sJ |t          d          z  }t          |t                     sJ |t          d          k    sJ |t          z  }|t          u sJ d S )N%   r   rS   r   r   r   r   )r   r:   r   r   rj   s      r   test_mod_timedeltalikez:TestTimedeltaMultiplicationDivision.test_mod_timedeltalike  s    R    ia((((&),,,,,+++++++i++++&),,,,,1%%%%c}}}}}}r   c                 l    t          d          }|t          j        dd          z  }|t          u sJ d S )Nr,  r   r   r&   rn   rj   s      r   test_mod_timedelta64_natz<TestTimedeltaMultiplicationDivision.test_mod_timedelta64_nat$  s9    R   bnUD111}}}}}}r   c                     t          d          }|t          j        dd          z  }t          |t                     sJ |t          d          k    sJ d S )Nr,  r   rw   rs   r   rT   rj   s      r   test_mod_timedelta64z8TestTimedeltaMultiplicationDivision.test_mod_timedelta64+  s`    R   bnQ,,,&),,,,,+++++++++r   c                     t          d          }|t          j        d          z  }t          |t                     sJ |t          d          k    sJ d S )Nr,  r   r   rw   rY   rj   s      r   test_mod_offsetz3TestTimedeltaMultiplicationDivision.test_mod_offset3  s\    R   gl1oo%&),,,,,+++++++++r   c                 n   t          d          }|dz  }t          |t                     sJ |t          d          k    sJ |dz  }t          |t                     sJ |t          dd          k    sJ |t          d          z  }t          |t                     sJ |t          dd          k    sJ d S )	Nr,  r   rw   r   g    eAr   rI   r   )r   r:   intrj   s      r   test_mod_numericz4TestTimedeltaMultiplicationDivision.test_mod_numeric;  s    R    a&),,,,,1%%%%c&),,,,,1b9999999c#hh&),,,,,1b999999999r   c                 &   t          d          }d}t          j        t          |          5  |t	          d          z   d d d            n# 1 swxY w Y   t          j        t          |          5  |g z   d d d            d S # 1 swxY w Y   d S )Nr,  r   rv   r@   r7   )r   rC   rD   r{   r	   r  s      r   test_mod_invalidz4TestTimedeltaMultiplicationDivision.test_mod_invalidL  s   R   (]9C000 	) 	)<((((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) ]9C000 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s#   AAA3BB
B
c                     t          d          }t          d          |z  }t          |t                     sJ |t          d          k    sJ d S )Nr   r   r   r   rO   rj   s      r   test_rmod_pytimedeltaz9TestTimedeltaMultiplicationDivision.test_rmod_pytimedeltaV  s_    q!!!1%%%*&),,,,,1---------r   c                     t          d          }t          j        dd          |z  }t          |t                     sJ |t          d          k    sJ d S )Nr   r   r   r  rw   rT   rj   s      r   test_rmod_timedelta64z9TestTimedeltaMultiplicationDivision.test_rmod_timedelta64^  s`    q!!!3''",&),,,,,1---------r   c                 2   t          d          }d}t          j        t          |          5  t	          d          |z   d d d            n# 1 swxY w Y   t          j        t          |          5  d|z   d d d            n# 1 swxY w Y   t          j        t          |          5  d|z   d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          j        d	d
g          |z   d d d            d S # 1 swxY w Y   d S )Nr   r   zunsupported operandr@   r7            0@Invalid dtype int      )r   rC   rD   r{   r	   r;   r   r  s      r   test_rmod_invalidz5TestTimedeltaMultiplicationDivision.test_rmod_invalide  s   q!!!#]9C000 	) 	)l##b((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) ]9C000 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	2II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 "]9C000 	$ 	$Hb"X##	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$sG   AAA3BB	B	+B==CC%DDDc                    t          dd          }t          |d          }|d         t          dd                              d          k    sJ t          |d         t                     sJ |d         t          d	          k    sJ |sJ t          |t          j                  }|d         t          u sJ |d         t          u sJ d S )
Nrw   rS   rX   g   zH6FBr   r   r  r#   r   )r   divmodr   r:   r;   r   r   rj   s      r   test_divmod_numericz7TestTimedeltaMultiplicationDivision.test_divmod_numericz  s    AQ'''O,,ayIad333;;DAAAAAA&)Y/////ayIA.......vBF##ayCayCr   c                 >   t          dd          }t          |t          d                    }|d         dk    sJ t          |d         t                     sJ |d         t          d          k    sJ t          |d          }|d         t          d          k    sJ t          |d         t                     sJ |d         t          d          k    sJ t          |t                    }t          j        |d                   sJ |d         t          u sJ d S )	Nrw   rS   rX   r   rB   r   r   6   )r   rE  r   r:   r   r;   r   rj   s      r   test_divmodz/TestTimedeltaMultiplicationDivision.test_divmod  s   AQ'''I1---..ayA~~~~&)Y/////ayIA.......BayIA.......&)Y/////ayIaLL((((Cxq	"""""ayCr   c                     t          dd          }t          |t          j        d                    }|d         dk    sJ t	          |d         t                     sJ |d         t          d	          k    sJ d S )
Nrw   rS   rX   rR   r   r   r   r   )r   rE  r
   rZ   r:   rj   s      r   test_divmod_offsetz6TestTimedeltaMultiplicationDivision.test_divmod_offset  s    AQ'''GL,,--ayC&)Y/////ayIB/////////r   c                     t          dd          }d}t          j        t          |          5  t	          |t          d                     d d d            d S # 1 swxY w Y   d S )Nrw   rS   rX   zAunsupported operand type\(s\) for //: 'Timedelta' and 'Timestamp'r@   r7   )r   rC   rD   r{   rE  r	   r  s      r   test_divmod_invalidz7TestTimedeltaMultiplicationDivision.test_divmod_invalid  s    AQ'''R]9C000 	0 	02y..///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0s   AA!Ac                     t          t          dd          t          d                    }|d         dk    sJ t          |d         t                    sJ |d         t          d          k    sJ d S )Nrw   rS   rX   r   rB   r   r   )rE  r   r   r:   r   s     r   test_rdivmod_pytimedeltaz<TestTimedeltaMultiplicationDivision.test_rdivmod_pytimedelta  sz    	q222I14E4E4EFFayA~~~~&)Y/////ayIA.........r   c                     t          t          j        d          t          d                    }|d         dk    sJ t	          |d         t                    sJ |d         t          d          k    sJ d S )NrH  rR   r   r   rK  r   r   )rE  r
   rZ   r   r:   r   s     r   test_rdivmod_offsetz7TestTimedeltaMultiplicationDivision.test_rdivmod_offset  s{    R(()"*=*=*=>>ayC&)Y/////ayIB/////////r   c                    t          d          }d}t          j        t          |          5  t	          t          d          |           d d d            n# 1 swxY w Y   t          j        t          |          5  t	          d|           d d d            n# 1 swxY w Y   t          j        t          |          5  t	          d|           d d d            n# 1 swxY w Y   d}t          j        t          |          5  t	          t          j        d	d
g          |           d d d            d S # 1 swxY w Y   d S )Nr   r   rv   r@   r7   r>  r?  r@  rA  rB  )r   rC   rD   r{   rE  r	   r;   r   r  s      r   test_rdivmod_invalidz8TestTimedeltaMultiplicationDivision.test_rdivmod_invalid  s,   q!!!(]9C000 	0 	09\**B///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 ]9C000 	 	2rNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	4	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 "]9C000 	+ 	+28RH%%r***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+sG   AAA>BB"BCC"%C"%D88D<?D<r   r   r   r   r   c                     t          j        |          }d}t          j        t          |          5   ||t          d                     d d d            d S # 1 swxY w Y   d S )Nz7unsupported operand type|cannot use operands with typesr@   r   r&  )r   r4   r   rF   s       r   (test_td_op_timedelta_timedeltalike_arrayzLTestTimedeltaMultiplicationDivision.test_td_op_timedelta_timedeltalike_array  s     hsmmG]9C000 	% 	%BsIdOO$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   AA Ac                     d}t          j        t          |          5  t          d          dz   d d d            d S # 1 swxY w Y   d S )Nz=Cannot multiply Timedelta by bool. Explicitly cast to integerr@   r   T)rC   rD   r{   r   )r   rF   s     r   test_mul_bool_invalidz9TestTimedeltaMultiplicationDivision.test_mul_bool_invalid  s    M]9C000 	& 	&g%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s   >AAN)Gr   r   r   r   rC   r   r   r   r;   rU   r8   mulr   rmulr   r   rz   floatr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r
  r  r  r  r  r  r!  r#  r(  r*  r-  r/  r1  r3  r6  r8  r:  r<  rC  rF  rI  rL  rN  rP  rR  rT  truedivrdivrsubr	   r   rV  rX  r   r   r   r   r   j  s       	 	 [3ud33^R^E5J5JK  [THL#(#;<<  =<  [URVZRZ->->e$MNN[THL#(#;<<  =< ON [THL#(#;<<  =<0	6 	6 	6     
" 
" 
"# # #&
+ 
+ 
+ [FBJuE%LL	
   
: 
: 
:  4 4 4  *  .  8 8 85 5 5- - -F F F	/ 	/ 	/3 3 3 % % %D D DA A A= = =       (3 3 3"+ + +
 
 
     , , ,, , ,: : :"  . . .. . .$ $ $*          $0 0 00 0 0/ / /0 0 0+ + +( [x|SXx'738L  [Y''?)C)CDY,--yy?	
 % %  %& & & & &r   r   c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                            dd	d
g          d             ZdS )TestTimedeltaComparisonc                    dD ]#}t           j                            |          j        }t           j                            |          j        }|t          j        k     sJ |t          j        k    sJ |t          j        k    rJ |t          j        k    rJ |t          j        k    sJ |t          j        k    rJ |t          j        k    sJ |t          j        k    sJ |t          j        k     rJ |t          j        k    rJ |t          j        k    sJ |t          j        k    rJ %dD ]#}t           j                            |          j        }t           j                            |          j        }|t          j        k    sJ |t          j        k    sJ |t          j        k     rJ |t          j        k    rJ |t          j        k    sJ |t          j        k    rJ |t          j        k     sJ |t          j        k    sJ |t          j        k    rJ |t          j        k    rJ |t          j        k    sJ |t          j        k    rJ %d S )N)r&   r  )msr"   )r   maxr   minr   )r   r   tdmaxtdmins       r   test_compare_pytimedelta_boundsz7TestTimedeltaComparison.test_compare_pytimedelta_bounds  s\    ! 	. 	.DM))$//3EM))$//3E9=((((IM))))y},,,,	----IM))))	----9=((((IM))))y},,,,	----IM))))	-----   	. 	.DM))$//3EM))$//3E9=((((IM))))y},,,,	----IM))))	----9=((((IM))))y},,,,	----IM))))	-----!	. 	.r   c                    t          dd          }t          j        |j        d          t          j        |j        d          z   }t          |          }|j        |j        k    sJ |j        |j        k    sJ ||k    sJ ||k    rJ ||k     rJ ||k    rJ ||k    sJ ||k    sJ |t          d                              d          z
  }||k    sJ ||k    rJ ||k     sJ ||k    sJ ||k    rJ ||k    rJ d S )Niɚ;iQ r/   r1   r"   r   r$   )r   r;   rU   r0   r%   r   r   )r   pytdtd64r   td2s        r    test_compare_pytimedelta_bounds2z8TestTimedeltaComparison.test_compare_pytimedelta_bounds2  s2   i777~di--t|S0Q0QQt__w$)####zT\))))Tzzzz:::~999}999}TzzzzTzzzz9Q'''//444d{{{{$;;;Tzzzzd{{{{:::~$;;;;;r   c                 @   |} |d          }|j         }t          |t                    sJ ||k    sJ ||k    rJ ||k    sJ ||k    sJ ||k     rJ ||k    rJ |d|z  k    rJ |d|z  k    sJ |d|z  k    sJ |d|z  k     sJ |d|z  k    rJ |d|z  k    rJ d S )Nr   rw   )_as_pd_timedeltar:   r   )r   tick_classesclsoffr   s        r   test_compare_tickz)TestTimedeltaComparison.test_compare_tick$  s    c!ff!"i(((((Syyyy999}SyyyySyyyy888|888|S=== QW}}}}QW}}}}AG||||S=== C<<<<<r   c                    t          d          }t          d          }t          j        ||gt                    }||k    }t          j        ddgt                    }||k                                    sJ t          j        ||g||ggt                    }||k    }t          j        ddgddggt                    }|j        |j        k    sJ ||k                                    sJ d S )Nr   z3 hoursr   FT)r   r;   r   r   boolallshape)r   r   r|   r   r   r   s         r   test_comparison_object_arrayz4TestTimedeltaComparison.test_comparison_object_array9  s    x  )$$hr{&111Ri8UDM666x$$&&&&& hb%[1@@@Ri8dE]UDM:$GGGyHN****x$$&&&&&&&r   c                     t          d          t          d          g}t          j        |          }|d         |k    }t          j        ddg          }t          j        ||           d S )Nz0 days 01:00:00r   Fr   )r   periodsr   r   r   s        r   test_compare_timedelta_ndarrayz6TestTimedeltaComparison.test_compare_timedelta_ndarrayJ  sf    .//;L1M1MNhwQ#8UEN++
#FH55555r   c                    t          j        d                              d          }t          |d                   }t          j        g dt
                    }||k    }t          j        ||           ||k    }t          j        ||           ||k    }t          j        ||            ||k    }t          j        ||            d S )Nr   ztimedelta64[ns]r   )FTFFFr   )r;   arangeastyper   r   rt  r   r   )r   r   r   r   r   s        r   test_compare_td64_ndarrayz1TestTimedeltaComparison.test_compare_td64_ndarrayR  s    ill!!"344s1v8>>>dKKKs
#FH555
#FH555s
#FXI666
#FXI66666r   c                     G d d          }t          d          }|dk    sJ |dk    sJ | |            k    sJ | |d          k    sJ | |d          k     sJ | |d          k     rJ | |d          k    sJ d	S )
z
        Make sure non supported operations on Timedelta returns NonImplemented
        and yields to other operand (GH#20829).
        c                   *    e Zd ZdddZd Zd Zd ZdS )	GTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClassNreturnc                     || _         d S N
cmp_result)r   r  s     r   __init__zPTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__init__l  s    ",r   c                 ,    | j         t          S | j         S r  )r  r  r  s    r   generic_resultzVTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.generic_resulto  s    ?*))?*r   c                 *    |                                  S r  r  r   r|   s     r   __eq__zNTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__eq__u      **,,,r   c                 *    |                                  S r  r  r  s     r   __gt__zNTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__gt__x  r  r   r  )r  N)r   r   r   r  r  r  r  r   r   r   CustomClassr  k  sZ        - - - - -+ + +- - -- - - - -r   r  1sstringr   Fr  TN)r   )r   r  ts      r   test_compare_custom_objectz2TestTimedeltaComparison.test_compare_custom_objecte  s    	- 	- 	- 	- 	- 	- 	- 	-  dOOH}}}}AvvvvKKMM!!!!KK51111111;;$///////{{e4444444KK4000000000r   valr  r   c                    t          d          }d}t          j        t          |          5  ||k     d d d            n# 1 swxY w Y   t          j        t          |          5  ||k     d d d            n# 1 swxY w Y   t          j        t          |          5  ||k     d d d            n# 1 swxY w Y   t          j        t          |          5  ||k      d d d            d S # 1 swxY w Y   d S )Nr  z>not supported between instances of 'Timedelta' and '(int|str)'r@   )r   rC   rD   r{   )r   r  r  rF   s       r   test_compare_unknown_typez1TestTimedeltaComparison.test_compare_unknown_type  s    dOON]9C000 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sG   A  AA&A99A= A=B22B69B6C,,C03C0N)r   r   r   rg  rl  rr  rw  rz  r~  r  rC   r   r   r  r   r   r   r`  r`    s        &. &. &.P  0     *' ' '"6 6 67 7 7& 1  1  1D [UXqM22  32  r   r`  c                  ~    G d d          }  |             }t          d          }|                    |          t          u sJ |                    |          t          u sJ |                    |          t          u sJ |                    |          t          u sJ |                    |          t          u sJ d S )Nc                       e Zd ZdS )&test_ops_notimplemented.<locals>.OtherN)r   r   r   r   r   r   Otherr    s        r   r  r   )r   __add__r  __sub____truediv____mul____floordiv__)r  r|   r   s      r   test_ops_notimplementedr    s            EGGE	7		B::e....::e....>>%  N2222::e....??5!!^333333r   c                  t   t          d          } | dfd| ffD ]\  }}d                    g d          }t          j        t          |          5  ||z    d d d            n# 1 swxY w Y   d}t          j        t          |          5  ||k     d d d            n# 1 swxY w Y   ||k    rJ ||k    sJ d S )Nr   ar   )rv   z3can only concatenate str \(not "Timedelta"\) to strzmust be str, not Timedeltar@   z"not supported between instances ofr   )r   leftrightrF   s       r   test_ops_error_strr    si   	7		BS	C9-  ehh  
 
 ]9C000 	 	5LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 3]9C000 	 	5LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 5=== u}}}}}! s$   A!!A%	(A%		BB 	#B 	boxTFc                 r   t          d          }d}| rt          j        |gt                    }d}t	          j        t          |          5  ||z    d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z    d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z
   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z
   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z   d d d            n# 1 swxY w Y   | st	          j        t          |          5  ||z   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z   d d d            d S # 1 swxY w Y   d S d                    g d          }t          j	        t          |          5  ||z   d d d            n# 1 swxY w Y   t          j	        t          |          5  ||z   d d d            n# 1 swxY w Y   t          j	        t          |          5  ||z   d d d            d S # 1 swxY w Y   d S )Nr   1r   z=Scalar operations between Timedelta and string are deprecatedr@   r   )z"ufunc 'divide' cannot use operandsz%Invalid dtype object for __floordiv__z4unsupported operand type\(s\) for /: 'int' and 'str'zCunsupported operand type\(s\) for /: 'datetime.timedelta' and 'str')r   r;   r   r   r   assert_produces_warningr   r   rC   rD   r{   )r  r   itemrF   s       r   test_ops_str_deprecatedr    s~    
7		BD
 .xf---
IC		#N#	>	>	>  
T		              		#N#	>	>	>  r		              		#N#	>	>	>  
T		              		#N#	>	>	>  r		              		#N#	>	>	>  r		               'cBBB 	 	II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	'cBBB 	 	BJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	'cBBB 	 	$JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 hh  
 
 ]9C000 	 	II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	BJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	$JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AA#&A#BBB=CCC5DDD-D??EE'E99E= E=F11F58F5G**G.1G.)H;;H?H?!I33I7:I7J,,J03J0)r   r   r   r8   numpyr;   rC   pandas.errorsr   r   pandasr  r   r   r	   r
   pandas._testing_testingr   pandas.corer   r   r   r`  r  r  r   r   r  r   r   r   <module>r     s                       
                           I  I  I  I  I  I  I  I X
v	& v	& v	& v	& v	& v	& v	& v	&rp p p p p p p pf4 4 4  . u..' ' /.' ' 'r   