
    bMh                         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 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dS )z+
Tests for scalar Timedelta arithmetic ops
    )datetime	timedeltaN)OutOfBoundsTimedelta)NaT	Timedelta	Timestampoffsets)opsc                      e 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__
    ten_seconds
   sunit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   )selfr   baseexpected_addexpected_subresults         m/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/scalar/timedelta/test_arithmetic.pytest_td_add_sub_ten_secondsz<TestTimedeltaAdditionSubtraction.test_td_add_sub_ten_seconds"   sj     344 !;<< !;<<#%%%%#%%%%%%    one_day_ten_secsz1 day, 00:00:10z1 days, 00:00:10   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_seconds8   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   dr     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   r'   tdr   s       r   test_td_add_datetimelike_scalarz@TestTimedeltaAdditionSubtraction.test_td_add_datetimelike_scalarN   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   z3Cannot cast 259987 from D to 'ns' without overflow.matchi r$   r   z>Cannot cast 259987 days 00:00:00 to unit='ns' without overflowr#   )r   as_unitpytestraisesr   r   r   )r   tsmsgs      r   test_td_add_timestamp_overflowz?TestTimedeltaAdditionSubtraction.test_td_add_timestamp_overflowe   s=   |$$,,T22C]/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   r)   r   r8      r   r/   r2   s       r   test_td_add_tdz/TestTimedeltaAdditionSubtraction.test_td_add_tdo   sh    r$$$B	r***++&),,,,,+++++++++r   c                     t          dd          } ||t          d                    }t          |t                     sJ |t          d          k    sJ d S )Nr   r)   r   	   r8      r   r   r/   r2   s       r   test_td_add_pytimedeltaz8TestTimedeltaAdditionSubtraction.test_td_add_pytimedeltaw   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   r)   r   r$      r8   r   r0   timedelta64r/   r2   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   r)   r   rJ   r#   hoursr   r	   Hourr/   r2   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   r)   r   r   r   rA   r   r3   expectedr   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 rU   )r   to_pytimedeltar/   rV   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 rU   )r   to_timedelta64r/   rV   s       r   test_td_sub_timedelta64z8TestTimedeltaAdditionSubtraction.test_td_sub_timedelta64   r\   r   c                 R    t          dd          }|t          z
  }|t          u sJ d S Nr   r)   r   r   r   r   r3   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   r)   r   r   r   r0   rL   r   )r   r3   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   r)   r   r!      hrQ   rc   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   r)   r   unsupported operand type          @r6   )r   r0   int64float64r:   r;   	TypeError)r   r3   r=   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'r6   |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   r0   arrayr:   r;   rt   joinr   r3   ru   r=   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 rf   )r   r   r0   r1   rc   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   r)   r   irl   )r	   rR   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r0   rz   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   rp   rl   0D)r   r0   rz   r   rL   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   rp   rl   zAunsupported operand type\(s\) for \-: 'Timedelta' and 'Timestamp'r6   )r   r0   rz   r   rL   r:   r;   rt   )r   r   r   r=   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   r'   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   r0   rz   r   r   r   )r   r'   r   r   r   r   s         r   2test_td_add_mixed_timedeltalike_object_dtype_arrayzSTestTimedeltaAdditionSubtraction.test_td_add_mixed_timedeltalike_object_dtype_array  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 )Nrx   2 Daysr   r   r0   rz   r^   r   r   r   r3   ru   rW   r   s        r   test_td_add_sub_td64_ndarrayz=TestTimedeltaAdditionSubtraction.test_td_add_sub_td64_ndarray&  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 )Nrx   z
2000-01-01zM8[ns]dtypez
2000-01-02z
1999-12-31r   r0   rz   r   r   )r   r3   ru   rW   s       r   test_td_add_sub_dt64_ndarrayz=TestTimedeltaAdditionSubtraction.test_td_add_sub_dt64_ndarray6  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 )Nrx   rp   r   )r   r0   rz   asm8r/   )r   r3   ru   r   s       r   test_td_add_sub_ndarray_0dz;TestTimedeltaAdditionSubtraction.test_td_add_sub_ndarray_0dB  s    w!!e&),,,,,R&),,,,,R&),,,,,Re&),,,,,Rr   N),__name__
__module____qualname____doc__r:   markparametrizer   r   r0   rL   r	   Secondr   Dayr&   r-   r.   r
   raddr4   r>   rB   rG   rM   rS   rX   r[   r_   rd   ri   rm   rv   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 ejC         eDd8           eDd9          g           ejC         eDd:           eEd;          g          g          d<                         ZFd=S )>#TestTimedeltaMultiplicationDivisionz
    Tests for Timedelta methods:

        __mul__, __rmul__,
        __div__, __rdiv__,
        __truediv__, __rtruediv__,
        __floordiv__, __rfloordiv__,
        __mod__, __rmod__,
        __divmod__, __rdivmod__
    rh   r   r   r'   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   r)   r   ry   )znumpy.timedelta64NaTTyper   z'unsupported operand type\(s\) for \*: 'z' and ''z1ufunc '?multiply'? cannot use operands with typesr6   r   r{   r:   r;   rt   )r   r'   rh   r3   typsr=   s         r   test_td_mul_natz3TestTimedeltaMultiplicationDivision.test_td_mul_natf  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 ra   rb   )r   r'   r   r3   r   s        r   test_td_mul_nanz3TestTimedeltaMultiplicationDivision.test_td_mul_nanw  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   minutesrp   rJ   g      ?      r   r   g      ro   r6   r*   r!   )	r   r0   r   r   _valuer:   r;   rt   r   )r   r'   r3   r   r=   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 )Nrx   rp   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 )Nrx   rp   r   r   2 days)r   r0   rz   rr   ndimtype)r   r3   ru   rW   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 )Nrx   r   z:ufunc '?multiply'? cannot use operands with types dtype\('zm8\[ns\]'\) and dtype\('zm8\[ns\]'\)r6   )	r   r0   rz   r^   r   ENDIANr:   r;   rt   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   r)   r   r!      <   rl   r   )r   r	   rR   r0   rL   isnanr   rc   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!   r$   l     "R: r    ʚ;r   im )r   r0   rL   r   rc   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   r)   r   rp      r8   rA   rc   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 ra   rb   )r   r   r3   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 )Nrx   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 )Nrx   r!   )r   r0   rz   r/   )r   r3   ru   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   r)   r   r!   gq?r   rl   g      ?)r   r	   rR   r0   rL   rc   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   r)   r   r   zGunsupported operand type\(s\) for /: 'numpy.datetime64' and 'Timedelta'r6   <unsupported operand type\(s\) for /: 'float' and 'Timedelta')
r   r   r0   r   rL   r:   r;   rt   r1   r   )r   r3   r   r=   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   r)   r   r   r!   r   r6   z$cannot use operands with types dtype)r   r0   rz   objectrs   r   r   r   r:   r;   rt   )r   r3   r   r   rW   r=   s         r   test_td_rdiv_ndarrayz8TestTimedeltaMultiplicationDivision.test_td_rdiv_ndarray1  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   r)   r   r!   )r   r0   rz   r   )r   r3   r   s      r   test_td_rdiv_ndarray_0dz;TestTimedeltaMultiplicationDivision.test_td_rdiv_ndarray_0dH  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   rP   r   r!   rp   )r   rZ   r^   r   r3   scalars      r   %test_td_floordiv_timedeltalike_scalarzITestTimedeltaMultiplicationDivision.test_td_floordiv_timedeltalike_scalarR  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   r0   r   r   r   rL   r   r3   s     r   test_td_floordiv_null_scalarz@TestTimedeltaMultiplicationDivision.test_td_floordiv_null_scalar[  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!   rp   \   )r   r	   rR   Minuter   s     r   test_td_floordiv_offsetsz<TestTimedeltaMultiplicationDivision.test_td_floordiv_offsetsc  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   ry   )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 typesr6   
2016-01-01zdatetime64[us]r   )r   r{   r:   r;   rt   r0   r1   r   r3   r=   s      r   test_td_floordiv_invalid_scalarzCTestTimedeltaMultiplicationDivision.test_td_floordiv_invalid_scalari  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!       rp   rq   )r   r0   rs   int32uint8)r   r3   rW   s      r   test_td_floordiv_numeric_scalarzCTestTimedeltaMultiplicationDivision.test_td_floordiv_numeric_scalarx  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   r0   rz   r^   rr   r   r   rL   r   )r   r3   r   r   rW   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Seriesr0   rr   r   kind)r   r3   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   rp   r   )r   __rfloordiv__rZ   r^   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   r0   r   r  r   rL   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   rp   )r	   rR   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'r6   )r   r0   r1   r  NotImplementedr:   r;   rt   )r   r3   dt64r=   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      @rp   rq   rD   z9unsupported operand type\(s\) for //: '.*' and 'Timedeltar6   )r   r  r0   r   r  rs   r   r   r:   r;   rt   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  r0   rz   r^   rr   r   r   rL   r   )r   r3   r   r   rW   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 dtyper6   r!   r   r   )r0   rz   r:   r;   rt   r   )r   intsr=   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  r6   )
r   r  r  r0   rr   r  r  r:   r;   rt   )r   r3   r	  r   r=   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%   rP   rJ   r!   r   r   r   )r   r/   r   r   rc   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   rg   rc   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%  rp   rl   r!   rK   rc   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   rp   rQ   rc   s      r   test_mod_offsetz3TestTimedeltaMultiplicationDivision.test_mod_offset   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%  rp   r   g   mBr   r@   r   )r   r/   intrc   s      r   test_mod_numericz4TestTimedeltaMultiplicationDivision.test_mod_numeric(  s    R    a&),,,,,1%%%%d&),,,,,1b9999999c$ii&),,,,,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%  ro   r6   r,   )r   r:   r;   rt   r   r   s      r   test_mod_invalidz4TestTimedeltaMultiplicationDivision.test_mod_invalid9  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!   rF   rc   s      r   test_rmod_pytimedeltaz9TestTimedeltaMultiplicationDivision.test_rmod_pytimedeltaC  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  rp   rK   rc   s      r   test_rmod_timedelta64z9TestTimedeltaMultiplicationDivision.test_rmod_timedelta64K  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 operandr6   r,            0@Invalid dtype int      )r   r:   r;   rt   r   r0   rz   r   s      r   test_rmod_invalidz5TestTimedeltaMultiplicationDivision.test_rmod_invalidR  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   t          dd          }t          |d          }|d         t          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 )
Nrp   rJ   rO   g  $Br   r!   r   r   r%  )r   divmodr/   r0   r   r   rc   s      r   test_divmod_numericz7TestTimedeltaMultiplicationDivision.test_divmod_numericg  s    AQ'''O,,ayIad3333333&)Y/////ayIA.......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 )	Nrp   rJ   rO   r!   r8   r   r%  6   )r   r>  r   r/   r   r0   r   rc   s      r   test_divmodz/TestTimedeltaMultiplicationDivision.test_divmodu  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 )
Nrp   rJ   rO   rI   r   r!   r   r%  )r   r>  r	   rR   r/   rc   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 )Nrp   rJ   rO   zAunsupported operand type\(s\) for //: 'Timedelta' and 'Timestamp'r6   r,   )r   r:   r;   rt   r>  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 )Nrp   rJ   rO   r!   r8   r   r%  )r>  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 )NrA  rI   r%  r   rD  r!   r   )r>  r	   rR   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   ro   r6   r,   r7  r8  r9  r:  r;  )r   r:   r;   rt   r>  r   r0   rz   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                     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 typesr6   r   )r:   r;   rt   r   )r   r'   r   r=   s       r   (test_td_op_timedelta_timedeltalike_arrayzLTestTimedeltaMultiplicationDivision.test_td_op_timedelta_timedeltalike_array  s     H]9C000 	% 	%BsIdOO$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   AA	A	N)Gr   r   r   r   r:   r   r   r   r0   rL   r-   mulr
   rmulr   r   rs   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(  r*  r,  r/  r1  r3  r5  r<  r?  rB  rE  rG  rI  rK  rM  truedivrdivrsubrz   r   r   rO  r   r   r   r   r   W  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  [BHii00))O2L2LMNNBHii 566		$HII	
 % %  % % %r   r   c                       e Zd Zej        j        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   maxr9   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"   r$   r   r!   r   )r   r0   rL   r#   r   r   r9   )r   pytdtd64r3   td2s        r    test_compare_pytimedelta_bounds2z8TestTimedeltaComparison.test_compare_pytimedelta_bounds2  s2   i777~di--t|S0Q0QQt__w$)####zT\))))Tzzzz::::99999999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   rp   )_as_pd_timedeltar/   r   )r   tick_classesclsoffr3   s        r   test_compare_tickz)TestTimedeltaComparison.test_compare_tick  s    c!ff!"i(((((Syyyy9999SyyyySyyyy88888888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   r0   rz   r   boolallshape)r   r3   ru   r   r   rW   s         r   test_comparison_object_arrayz4TestTimedeltaComparison.test_comparison_object_array   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   rW   s        r   test_compare_timedelta_ndarrayz6TestTimedeltaComparison.test_compare_timedelta_ndarray1  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   )r0   arangeastyper   rz   rk  r   r   )r   r   r3   rW   r   s        r   test_compare_td64_ndarrayz1TestTimedeltaComparison.test_compare_td64_ndarray9  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__S  s    ",r   c                 ,    | j         t          S | j         S r{  )r}  r  r  s    r   generic_resultzVTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.generic_resultV  s    ?*))?*r   c                 *    |                                  S r{  r  r   ru   s     r   __eq__zNTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__eq__\      **,,,r   c                 *    |                                  S r{  r  r  s     r   __gt__zNTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__gt___  r  r   r{  )ry  N)r   r   r   r~  r  r  r  r   r   r   CustomClassrx  R  sZ        - - - - -+ + +- - -- - - - -r   r  1sstringr!   Fr|  TN)r   )r   r  ts      r   test_compare_custom_objectz2TestTimedeltaComparison.test_compare_custom_objectL  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)'r6   )r   r:   r;   rt   )r   r  r  r=   s       r   test_compare_unknown_typez1TestTimedeltaComparison.test_compare_unknown_typen  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   r:   r   
skip_ubsanr^  rc  ri  rn  rq  ru  r  r   r  r   r   r   rW  rW    s        [&. &. &.P  0     *' ' '"6 6 67 7 7& 1  1  1D [UXqM22  32  r   rW  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  rx   )r   __add__r  __sub____truediv____mul____floordiv__)r  ru   r3   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 )Nrx   ary   )ro   z3can only concatenate str \(not "Timedelta"\) to strzmust be str, not Timedeltar6   z"not supported between instances ofr   )r3   leftrightr=   s       r   test_ops_error_strr    sh   	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 	)r   r   r   r-   numpyr0   r:   pandas.errorsr   pandasr  r   r   r   r	   pandas._testing_testingr   pandas.corer
   r   r   rW  r  r  r   r   r   <module>r     s                 . . . . . .                           z  z  z  z  z  z  z  z z	o	% o	% o	% o	% o	% o	% o	% o	%dq q q q q q q qh4 4 4    r   