
    A>i                        S r SSKJrJr  SSKrSSKrSSKrSSKJrJ	r	  SSK
rSSK
JrJrJrJr  SSKJr  SSKJr   " S S5      r " S	 S
5      r " S S5      rS rS r\R4                  R7                  SSS/5      S 5       rg)z+
Tests for scalar Timedelta arithmetic ops
    )datetime	timedeltaN)OutOfBoundsTimedeltaPandas4Warning)NaT	Timedelta	Timestampoffsets)opsc                   V   \ rS rSrSrS r\R                  R                  S\	" SSS9\
" SS9\R                  " SS5      \R                  " S	S
5      \R                  " S5      /5      S 5       r\R                  R                  S\	" S5      \	" S5      \
" SSS9\R                  " SS5      \R                  " SS5      -   \R                   " 5       \R                  " S5      -   /5      S 5       r\R                  R                  S\R&                  \R*                  /5      S 5       rS r\R                  R                  S\R&                  \R*                  /5      S 5       r\R                  R                  S\R&                  \R*                  /5      S 5       r\R                  R                  S\R&                  \R*                  /5      S 5       r\R                  R                  S\R&                  \R*                  /5      S 5       rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S% r'S& r(\R                  R                  S\R&                  \R*                  /5      S' 5       r)\R                  R                  S\R&                  \R*                  /5      S( 5       r*S) r+S* r,S+ r-S,r.g-). TestTimedeltaAdditionSubtraction   zL
Tests for Timedelta methods:

    __add__, __radd__,
    __sub__, __rsub__
c                     [        SS9R                  U5      n[        SSS5      n[        SSSS5      nX2-   nXT:X  d   eX#-   nXT:X  d   e[        SSSS5      nX2-
  nXT:X  d   eg )N   hours     i        )r   as_unitr   )selfunittddtexpectedresults         l/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/scalar/timedelta/test_arithmetic.pytest_td_add_sub_pydatetime;TestTimedeltaAdditionSubtraction.test_td_add_sub_pydatetime&   s~    R ((.dAq!D!Q+!!!!!!D"b!,!!!    ten_seconds
   sr   secondsl    d(	 nsc                 r    [        S5      n[        S5      n[        S5      nX!-   nXS:X  d   eX!-
  nXT:X  d   eg )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_seconds<TestTimedeltaAdditionSubtraction.test_td_add_sub_ten_seconds5   sM     34 !;< !;<#%%%#%%%r!   one_day_ten_secsz1 day, 00:00:10z1 days, 00:00:10r   daysr'   Dc                 r    [        S5      n[        S5      n[        S5      nX!-   nXS:X  d   eX!-
  nXT:X  d   eg )Nz20130102 09:01:12.123456z20130103 09:01:22.123456r*   r+   )r   r1   r,   r-   r.   r   s         r   #test_td_add_sub_one_day_ten_secondsDTestTimedeltaAdditionSubtraction.test_td_add_sub_one_day_ten_secondsK   sM     34 !;< !;<(%%%(%%%r!   opc                    [        SSS9nU" U[        SSS5      5      nU[        R                  L a  [	        U[
        5      (       d   eU[        SSS5      :X  d   eU" U[        S5      5      n[	        U[
        5      (       d   eU[        S5      :X  d   eU" U[        R                  " S	5      5      n[	        U[
        5      (       d   eU[        S
5      :X  d   eU" U[        5      nU[        L d   eg )Nr#   r4   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   r8   r   r   s       r   test_td_add_datetimelike_scalar@TestTimedeltaAdditionSubtraction.test_td_add_datetimelike_scalara   s     r$Bq!,- fi00004B////B	"456&),,,,#56666Bl34&),,,,<0000B}}r!   c                 >   [        S5      R                  S5      nSn[        R                  " [        US9   U[        SSS9-     S S S 5        Sn[        R                  " [        US9   U[        SS	9-     S S S 5        g ! , (       d  f       N?= f! , (       d  f       g = f)
Nz
1700-01-01r(   z?Cannot cast 259987 days 00:00:00 to unit='ns' without overflow.matchi r4   r%   z>Cannot cast 259987 days 00:00:00 to unit='ns' without overflowr3   )r	   r   pytestraisesr   r   r   )r   tsmsgs      r   test_td_add_timestamp_overflow?TestTimedeltaAdditionSubtraction.test_td_add_timestamp_overflowx   s}    |$,,T2O]]/s;:C00 < O]]/s;
++ <;	 <; <;s   A='B=
B
Bc                     [        SSS9nU" U[        SS95      n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr#   r4   r%   rG      r   r>   rA   s       r   test_td_add_td/TestTimedeltaAdditionSubtraction.test_td_add_td   sE    r$B	r*+&),,,,++++r!   c                     [        SSS9nU" U[        SS95      n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr#   r4   r%   	   rG      r   r   r>   rA   s       r   test_td_add_pytimedelta8TestTimedeltaAdditionSubtraction.test_td_add_pytimedelta   sE    r$B	q)*&),,,,++++r!   c                     [        SSS9nU" U[        R                  " SS5      5      n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr#   r4   r%      rG   r   r?   timedelta64r>   rA   s       r   test_td_add_timedelta648TestTimedeltaAdditionSubtraction.test_td_add_timedelta64   sK    r$Br3/0&),,,,****r!   c                     [        SSS9nU" U[        R                  " S5      5      n[        U[         5      (       d   eU[        SSS9:X  d   eg )Nr#   r4   r%   r[   r3   r   r   r
   Hourr>   rA   s       r   test_td_add_offset3TestTimedeltaAdditionSubtraction.test_td_add_offset   sJ    r$BQ(&),,,,!4444r!   c                 p    [        SSS9n[        SSS9nX-
  n[        U[         5      (       d   eX2:X  d   eg Nr#   r4   r%   r   r(   rP   r   r   r   r   s       r   test_td_sub_td/TestTimedeltaAdditionSubtraction.test_td_sub_td   s@    r$QT*&),,,,!!!r!   c                     [        SSS9n[        SSS9nXR                  5       -
  n[        U[         5      (       d   eX2:X  d   eUR                  5       U-
  n[        U[         5      (       d   eX2:X  d   eg rg   )r   to_pytimedeltar>   rh   s       r   test_td_sub_pytimedelta8TestTimedeltaAdditionSubtraction.test_td_sub_pytimedelta   |    r$QT*''))&),,,,!!!""$r)&),,,,!!!r!   c                     [        SSS9n[        SSS9nXR                  5       -
  n[        U[         5      (       d   eX2:X  d   eUR                  5       U-
  n[        U[         5      (       d   eX2:X  d   eg rg   )r   to_timedelta64r>   rh   s       r   test_td_sub_timedelta648TestTimedeltaAdditionSubtraction.test_td_sub_timedelta64   ro   r!   c                 @    [        SSS9nU[        -
  nU[        L d   eg Nr#   r4   r%   r   r   r   r   r   s      r   test_td_sub_nat0TestTimedeltaAdditionSubtraction.test_td_sub_nat   s#    r$c}}r!   c                     [        SSS9n[        R                  " S5      nX-
  nU[        L d   eX!-
  nU[        L d   eg Nr#   r4   r%   r   r   r?   r]   r   )r   r   td_natr   s       r   test_td_sub_td64_nat5TestTimedeltaAdditionSubtraction.test_td_sub_td64_nat   sB    r$&}}}}r!   c                     [        SSS9nU[        R                  " S5      -
  n[        U[         5      (       d   eU[        SSS9:X  d   eg )Nr#   r4   r%   r      hrb   rw   s      r   test_td_sub_offset3TestTimedeltaAdditionSubtraction.test_td_sub_offset   sH    r$gll1o%&),,,,3S1111r!   c                 @   [        SSS9nSnSS[        R                  " S5      [        R                  " S5      4 H  n[        R
                  " [        US9   X-     S S S 5        [        R
                  " [        US9   X1-     S S S 5        [        R
                  " [        US9   X-
    S S S 5        [        R
                  " [        US9   X1-
    S S S 5        M     g ! , (       d  f       N= f! , (       d  f       Np= f! , (       d  f       N[= f! , (       d  f       M  = f)Nr#   r4   r%   unsupported operand type          @rE   )r   r?   int64float64rH   rI   	TypeError)r   r   rK   others       r   test_td_add_sub_numeric_raises?TestTimedeltaAdditionSubtraction.test_td_add_sub_numeric_raises   s    r$(bhhqk2::a=9Ey4
 5y4
 5y4
 5y4
 54 :44444444s0   C=C,#C=	D
C)	,
C:	=
D	
D	c                 ^   [        S5      n[        R                  " S/5      nSn[        R                  " [
        US9   U[        R                  " S/5      -     S S S 5        SR                  SS/5      n[        R                  " [
        US9   X!-     S S S 5        Sn[        R                  " [
        US9   X-
    S S S 5        S	n[        R                  " [
        US9   X!-
    S S S 5        g ! , (       d  f       N= f! , (       d  f       Np= f! , (       d  f       NY= f! , (       d  f       g = f)
N1 dayr   z;unsupported operand type\(s\) for \+: 'Timedelta' and 'int'rE   |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?   arrayrH   rI   r   joinr   r   r   rK   s       r   test_td_add_sub_int_ndarray<TestTimedeltaAdditionSubtraction.test_td_add_sub_int_ndarray   s    w!L]]9C01# 1 hh&
 N

 ]]9C0J 1K]]9C0J 1U]]9C0J 10) 10 10 10 10s/   C+C<5DD+
C9<
D

D
D,c                     [        SSS9n[        U-
  nU[        L d   e[        R                  " S5      U-
  nU[        L d   eg r{   )r   r   r?   r@   rw   s      r   test_td_rsub_nat1TestTimedeltaAdditionSubtraction.test_td_rsub_nat   sB    r$r}}u%*}}r!   c                     [         R                  " S5      [        SSS9-
  n[        U[        5      (       d   eU[        SSS9:X  d   eg )Nr   r#   r4   r%   ir   )r
   rc   r   r>   r   r   s     r   test_td_rsub_offset4TestTimedeltaAdditionSubtraction.test_td_rsub_offset  sC    a9Rc#::&),,,,4c2222r!   c                     [         R                  " [        S5      [        S5      /5      n[         R                  " [        S5      [        S5      /5      nU[        S5      -
  n[        R
                  " X25        g )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_arrayMTestTimedeltaAdditionSubtraction.test_td_sub_timedeltalike_object_dtype_array  sX    hh	/2Io4NOPhh	/2Io4NOPIdO#
##C-r!   c                 n   [        S5      n[        R                  " U[        S5      [        R                  " SS5      /5      n[        R                  " U[        S5      -
  [        S5      [        R                  " SS5      [        S5      -
  /5      nU[        S5      -
  n[
        R                  " XC5        g )N2021-11-09 09:54:00r   r   r   0D)r	   r?   r   r   r]   r   r   )r   nowr   r   r   s        r   7test_td_sub_mixed_most_timedeltalike_object_dtype_arrayXTestTimedeltaAdditionSubtraction.test_td_sub_mixed_most_timedeltalike_object_dtype_array  s    -.hhYt_bnnQ.DEFhhio%$q#&48
 IdO#
##C-r!   c                    [        S5      n[        R                  " U[        S5      [        R                  " SS5      /5      nSn[
        R                  " [        US9   [        S5      U-
    S S S 5        g ! , (       d  f       g = f)Nr   r   r   r   zAunsupported operand type\(s\) for \-: 'Timedelta' and 'Timestamp'rE   )r	   r?   r   r   r]   rH   rI   r   )r   r   r   rK   s       r   8test_td_rsub_mixed_most_timedeltalike_object_dtype_arrayYTestTimedeltaAdditionSubtraction.test_td_rsub_mixed_most_timedeltalike_object_dtype_array   s\    -.hhYt_bnnQ.DEFR]]9C0dOc! 100s   A66
Bc                     [         R                  " [        S5      [        S5      /5      n[         R                  " [        S5      [        S5      /5      nU" U[        S5      5      n[        R
                  " XC5        g )Nr   r   z20130102 9:01z20121231 9:02r   r   )r   r8   r   r   r   s        r   ,test_td_add_timedeltalike_object_dtype_arrayMTestTimedeltaAdditionSubtraction.test_td_add_timedeltalike_object_dtype_array(  s\     hh	/2Io4NOPhh	/2Io4NOPio&
##C-r!   c                    [        S5      n[        R                  " U[        S5      /5      n[        R                  " U[        S5      -   [        S5      /5      nU" U[        S5      5      n[        R
                  " XT5        g )Nr   r   2D)r	   r?   r   r   r   r   )r   r8   r   r   r   r   s         r   2test_td_add_mixed_timedeltalike_object_dtype_arraySTestTimedeltaAdditionSubtraction.test_td_add_mixed_timedeltalike_object_dtype_array0  sd     -.hhYt_-.hhio-y?@io&
##C-r!   c                    [        S5      n[        R                  " UR                  5       /5      n[        R                  " [        S5      R                  5       /5      nX-   n[        R
                  " XC5        X!-   n[        R
                  " XC5        X-
  n[        R
                  " XCS-  5        X!-
  n[        R
                  " XCS-  5        g )Nr   2 Daysr   r   r?   r   rq   r   r   r   r   r   r   r   s        r   test_td_add_sub_td64_ndarray=TestTimedeltaAdditionSubtraction.test_td_add_sub_td64_ndarray9  s    w"++-./88Yx0??ABC
##F5
##F5
##FqL9
##FqL9r!   c                 j   [        S5      n[        R                  " S/SS9n[        R                  " S/SS9n[        R                  " X-   U5        [        R                  " X!-   U5        [        R                  " S/SS9n[        R                  " U* U-   U5        [        R                  " X!-
  U5        g )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_ndarray=TestTimedeltaAdditionSubtraction.test_td_add_sub_dt64_ndarrayI  s    w,x888\N(;
##BJ9
##EJ988\N(;
##RC%K:
##EJ9r!   c                    [        S5      n[        R                  " UR                  5      nX-   n[	        U[         5      (       d   eUSU-  :X  d   eX!-   n[	        U[         5      (       d   eUSU-  :X  d   eX!-
  n[	        U[         5      (       d   eUSU-  :X  d   eX-
  n[	        U[         5      (       d   eUSU-  :X  d   eg )Nr   r   r   )r   r?   r   asm8r>   )r   r   r   r   s       r   test_td_add_sub_ndarray_0d;TestTimedeltaAdditionSubtraction.test_td_add_sub_ndarray_0dU  s    w!&),,,,R&),,,,R&),,,,R&),,,,Rr!    N)/__name__
__module____qualname____firstlineno____doc__r   rH   markparametrizer   r   r?   r]   r
   Secondr/   Dayr6   r<   r=   r   raddrB   rL   rQ   rW   r^   rd   ri   rm   rr   rx   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r   r!   r   r   r      s   " [[bs#b!NN2s#NN;-NN2	
	
&	
& [['(()1b)NN1c"R^^B%<<KKMGNN2..	
	
&	
& [[THLL#((#;< =,, [[THLL#((#;<, =, [[THLL#((#;<, =, [[THLL#((#;<+ =+ [[THLL#((#;<5 =5"
"
"283
.." [[THLL#((#;<. =. [[THLL#((#;<. =.: 
: r!   r   c            	       0   \ rS rSrSr\R                  R                  S\\	R                  " SS5      \	R                  " S5      /5      \R                  R                  S\R                  \R                  /5      S 5       5       r\R                  R                  S\	R                   \	R"                  " S	5      \" S5      /5      \R                  R                  S\R                  \R                  /5      S
 5       5       r\R                  R                  S\R                  \R                  /5      S 5       rS rS rS rS rS rS r\R                  R                  S\	R                   \	R"                  " S	5      \" S5      /5      S 5       rS rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'S r(S  r)S! r*S" r+S# r,S$ r-S% r.S& r/S' r0S( r1S) r2S* r3S+ r4S, r5S- r6S. r7S/ r8S0 r9S1 r:S2 r;S3 r<S4 r=S5 r>S6 r?S7 r@\R                  R                  S\R                  \R                  \R                  \R                  \R                  /5      \R                  R                  S8\D" S95      \D" S:5      /\D" S;5      \E" S<5      //5      S= 5       5       rFS> rGS?rHg@)A#TestTimedeltaMultiplicationDivisionij  z
Tests for Timedelta methods:

    __mul__, __rmul__,
    __div__, __rdiv__,
    __truediv__, __rtruediv__,
    __floordiv__, __rfloordiv__,
    __mod__, __rmod__,
    __divmod__, __rdivmod__
r}   r   r(   r8   c                     [        SSS9nSR                  / SQ5      nSR                  SU SU S3S	/5      n[        R                  " [        US
9   U" X25        S S S 5        g ! , (       d  f       g = f)Nr#   r4   r%   r   )znumpy.timedelta64NaTTyper   z'unsupported operand type\(s\) for \*: 'z' and ''z1ufunc '?multiply'? cannot use operands with typesrE   r   r   rH   rI   r   )r   r8   r}   r   typsrK   s         r   test_td_mul_nat3TestTimedeltaMultiplicationDivision.test_td_mul_naty  sj     r$xxEFhh:4&vQOD
 ]]9C0rN 100s   	A##
A1nanNaNc                 >    [        SSS9nU" X25      nU[        L d   eg ru   rv   )r   r8   r   r   r   s        r   test_td_mul_nan3TestTimedeltaMultiplicationDivision.test_td_mul_nan  s%     r$B}}r!   c           	      X   [        SS9nU" US5      nU[        SS9:X  d   eU" US5      nU[        SSS9:X  d   eU" U[        R                  5      [        L d   eU" S	U5      R                  S	UR                  -  :X  d   eU" S
U5      R                  S
UR                  -  :X  d   eSn[
        R                  " [        US9   U" U[        SSS5      5        S S S 5        [
        R                  " [        US9   U" X"5        S S S 5        g ! , (       d  f       N9= f! , (       d  f       g = f)N   minutesr   r[   g      ?   r   r   r'   g      r   rE   r   r   )	r   r?   r   r   _valuerH   rI   r   r	   )r   r8   r   r   rK   s        r   test_td_mul_scalar6TestTimedeltaMultiplicationDivision.test_td_mul_scalar  s    q!B1----B1b9999"bff~$$$"bz  BN222$|""dRYY&6666(]]9C0r9T1a() 1 ]]9C0rJ 10	 10 10s   D
8	D

D
D)c                    [        S5      n[        R                  " S/5      n[        R                  " [        S5      R                  5       /5      nX-  n[        R
                  " XC5        X!-  n[        R
                  " XC5        g )Nr   r   r   r   r   s        r   test_td_mul_numeric_ndarray?TestTimedeltaMultiplicationDivision.test_td_mul_numeric_ndarray  sd    w!88Yx0??ABC
##F5
##F5r!   c                    [        S5      n[        R                  " S[        R                  S9nUR                  S:X  d   e[        S5      nX-  n[        U5      [         L d   eXC:X  d   eX!-  n[        U5      [         L d   eXC:X  d   eg )Nr   r   r   r   2 days)r   r?   r   r   ndimtype)r   r   r   r   r   s        r   test_td_mul_numeric_ndarray_0dBTestTimedeltaMultiplicationDivision.test_td_mul_numeric_ndarray_0d  s    w"((+zzQX&jCyI%%%jCyI%%%r!   c                    [        S5      n[        R                  " [        S5      R                  5       /5      nS[        R
                   S[        R
                   S3n[        R                  " [        US9   X-    S S S 5        [        R                  " [        US9   X!-    S S S 5        g ! , (       d  f       N5= f! , (       d  f       g = f)Nr   r   z:ufunc '?multiply'? cannot use operands with types dtype\('zm8\[us\]'\) and dtype\('zm8\[us\]'\)rE   )	r   r?   r   rq   r   ENDIANrH   rI   r   r   s       r    test_td_mul_td64_ndarray_invalidDTestTimedeltaMultiplicationDivision.test_td_mul_td64_ndarray_invalid  s    w)H-<<>?@		{":299+[R 	 ]]9C0J 1]]9C0J 10 1000s   8B,B=,
B:=
Cc                     [        SSS9nU[        R                  " S5      -  nUS:X  d   eX-  S:X  d   eU[        R                  " SS5      -  S:X  d   e[        R
                  " U[        -  5      (       d   eg )	Nr#   r4   r%   r      <   r   r   )r   r
   rc   r?   r]   isnanr   rw   s      r    test_td_div_timedeltalike_scalarDTestTimedeltaMultiplicationDivision.test_td_div_timedeltalike_scalar  sq    r$gll1o%}}w!||BNN2s++q000xxS!!!!r!   c                    [        S5      nU[        R                  " SS5      -  nX!R                  S-  :X  d   eU[        R                  " SS5      -  nX!R                  S-  :X  d   eU[        R                  " SS5      -  nX!R                  :X  d   e[        S5      nU[        R                  " SS5      -  nUS:X  d   eU[        R                  " SS5      -  nUS:X  d   eU[        R                  " SS5      -  nX!R                  :X  d   eg )	Nz1 days 2 hours 3 nsr   r4   l     "R: r$    ʚ;r(   im )r   r?   r]   r   rw   s      r   test_td_div_td64_non_nano=TestTimedeltaMultiplicationDivision.test_td_div_td64_non_nano  s    ,-bnnQ,,m4444bnnQ,,U****bnnQ--""" ,-r~~a--{{r~~a--r~~a.."""r!   c                     [        SSS9nUS-  n[        U[         5      (       d   eU[        SS9:X  d   eUS-  n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr#   r4   r%   r      rG   rP   rw   s      r   test_td_div_numeric_scalar>TestTimedeltaMultiplicationDivision.test_td_div_numeric_scalar  sl    r$a&),,,,****a&),,,,****r!   c                 T    [        SSS9nX!-  nU[        L d   eX!-  nU[        L d   eg ru   rv   )r   r   r   r   s       r   test_td_div_nan3TestTimedeltaMultiplicationDivision.test_td_div_nan  s6     r$}}}}r!   c                    [        S5      n[        R                  " [        S5      R                  5       /5      n[        R                  " S/5      nX-  n[        R
                  " XC5        X!-  n[        R
                  " XCS-  5        g )Nr   r   g      ?r   r   r   s        r   test_td_div_td64_ndarray<TestTimedeltaMultiplicationDivision.test_td_div_td64_ndarray  sh    w)H-<<>?@88SE?
##F5
##FqL9r!   c                     [        S5      n[        R                  " S5      nX-  n[        U[         5      (       d   eX1:X  d   eg )Nr   r   )r   r?   r   r>   )r   r   r   r   s       r   test_td_div_ndarray_0d:TestTimedeltaMultiplicationDivision.test_td_div_ndarray_0d  s=    wj#y))))yyr!   c                     [        SSS9n[        R                  " S5      U-  nUS:X  d   e[        R                  " SS5      U-  S:X  d   eg )	Nr#   r4   r%   r   gq?r   r   g      ?)r   r
   rc   r?   r]   rw   s      r   !test_td_rdiv_timedeltalike_scalarETestTimedeltaMultiplicationDivision.test_td_rdiv_timedeltalike_scalar'  sL    r$a2%"""~~b#&+t333r!   c                 @   [        SSS9n[        U-  n[        R                  " U5      (       d   eS U-  n[        R                  " U5      (       d   e[        R                  " S5      U-  n[        R                  " U5      (       d   eSn[
        R                  " [        US9   [        R                  " S5      U-    S S S 5        Sn[
        R                  " [        US9   [        R                  U-    S S S 5        g ! , (       d  f       NF= f! , (       d  f       g = f)Nr#   r4   r%   r   zGunsupported operand type\(s\) for /: 'numpy.datetime64' and 'Timedelta'rE   <unsupported operand type\(s\) for /: 'float' and 'Timedelta')
r   r   r?   r   r]   rH   rI   r   r@   r   )r   r   r   rK   s       r   test_td_rdiv_na_scalar:TestTimedeltaMultiplicationDivision.test_td_rdiv_na_scalar/  s    r$rxxxx&+xxX]]9C0MM% 2% 1 N]]9C0FFRK 10	 10 10s   $C>!D>
D
Dc                    [        SSS9n[        R                  " U/[        S9nX!-  n[        R                  " S/[        R                  S9n[
        R                  " X45        [        R                  " S /5      nX!-  n[        R                  " [        R                  /5      n[
        R                  " X45        [        R                  " [        R                  /[        S9nSn[        R                  " [        US9   X!-    S S S 5        [        R                  " [        R                  /[        R                  S9nSn[        R                  " [        US9   X!-    S S S 5        g ! , (       d  f       Ni= f! , (       d  f       g = f)	Nr#   r4   r%   r   r   r  rE   z$cannot use operands with types dtype)r   r?   r   objectr   r   r   r   rH   rI   r   )r   r   r   r   r   rK   s         r   test_td_rdiv_ndarray8TestTimedeltaMultiplicationDivision.test_td_rdiv_ndarrayD  s   r$hht6*88QCrzz2
##F5hhv88RVVH%
##F5hhxv.M]]9C0H 1 hhxrzz24]]9C0H 10 10
 10s   <E$E5$
E25
Fc                 l    [        SSS9n[        R                  " UR                  5      nX!-  S:X  d   eg )Nr#   r4   r%   r   )r   r?   r   r   )r   r   r   s      r   test_td_rdiv_ndarray_0d;TestTimedeltaMultiplicationDivision.test_td_rdiv_ndarray_0d[  s.    r$hhrwwx1}}r!   c                     [        SSS9n[        SSS9nX-  S:X  d   eU* UR                  5       -  S:X  d   eSU-  UR                  5       -  S:X  d   eg )Nr   r   r   r   r   r   )r   rl   rq   r   r   scalars      r   %test_td_floordiv_timedeltalike_scalarITestTimedeltaMultiplicationDivision.test_td_floordiv_timedeltalike_scalare  sh    Q*A.|q   sf++--333B60022a777r!   c                     [        SSS9nU[        R                  -  [        L d   e[        R                  " U[        -  5      (       d   e[        R                  " U[        R
                  " S5      -  5      (       d   eg )Nr   r   r!  r   )r   r?   r   r   r   r]   r   r   s     r   test_td_floordiv_null_scalar@TestTimedeltaMultiplicationDivision.test_td_floordiv_null_scalarn  s`    Q*RVV|s"""xxc	""""xxbnnU334444r!   c                     [        SSS9nU[        R                  " S5      -  S:X  d   eU[        R                  " S5      -  S:X  d   eg )Nr   r   r!  r   r   \   )r   r
   rc   Minuter(  s     r   test_td_floordiv_offsets<TestTimedeltaMultiplicationDivision.test_td_floordiv_offsetsv  sE    Q*W\\!_$)))W^^A&&",,,r!   c                     [        SSS9nSR                  / SQ5      n[        R                  " [        US9   U[
        R                  " SSS	9-    S S S 5        g ! , (       d  f       g = f)
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 typesrE   
2016-01-01zdatetime64[us]r   )r   r   rH   rI   r   r?   r@   r   r   rK   s      r   test_td_floordiv_invalid_scalarCTestTimedeltaMultiplicationDivision.test_td_floordiv_invalid_scalar|  sQ    Q*hh
 ]]9C0"--4DEE 100s   A
A'c                    [        SSS9n[        SSS9nUS-  U:X  d   eUS-  U:X  d   eU[        R                  " S5      -  U:X  d   eU[        R                  " S5      -  U:X  d   eU[        R                  " S5      -  U:X  d   eg )Nr   r   r!  r       r   r   )r   r?   r   int32uint8)r   r   r   s      r   test_td_floordiv_numeric_scalarCTestTimedeltaMultiplicationDivision.test_td_floordiv_numeric_scalar  s    Q*1b1Qw("""SyH$$$RZZ_$000RXXc]"h...RXXc]"h...r!   c                 H   [        SSS9n[        SSS9nU[        R                  " UR                  5       5      -  S:X  d   eSU-  [        R                  " UR                  5       /5      -  n[        R                  " S/[        R                  S9n[
        R                  " X45        SU-  [        R                  " UR                  5       [        R                  " S5      /5      -  n[        R                  " S[        R                  /5      n[
        R                  " X45        g )Nr   r   r!  r   r   r#   r   )	r   r?   r   rq   r   r   r   r]   r   )r   r   r$  r   r   s        r   $test_td_floordiv_timedeltalike_arrayHTestTimedeltaMultiplicationDivision.test_td_floordiv_timedeltalike_array  s    Q*A. RXXf33566!;;;2v"((F$9$9$;#<==88QCrxx0
##C2Bw288V%:%:%<bnnU>S$TUU88RL)
##C2r!   c                     [        SSS9n[        R                  " S/[        R                  S9nX-  nUR
                  R                  S:X  d   eg )Nr   r   r!  r   r   m)r   pdSeriesr?   r   r   kind)r   r   serr   s       r   test_td_floordiv_numeric_seriesCTestTimedeltaMultiplicationDivision.test_td_floordiv_numeric_series  sA    Q*ii288,iyy~~$$$r!   c                     [        SSS9n[        SSS9nUR                  U5      S:X  d   eU* R                  UR                  5       5      S:X  d   eSU-  R                  UR                  5       5      S:X  d   eg )Nr   r!  r   r   r"  r   r   )r   __rfloordiv__rl   rq   r#  s      r   &test_td_rfloordiv_timedeltalike_scalarJTestTimedeltaMultiplicationDivision.test_td_rfloordiv_timedeltalike_scalar  s    Q*A. '1,,,""6#8#8#:;rAAAB%%f&;&;&=>!CCCr!   c                     [        SSS9n[        R                  " UR                  [        5      5      (       d   e[        R                  " UR                  [        R
                  " S5      5      5      (       d   eg )Nr   r!  r   )r   r?   r   rG  r   r]   r(  s     r   test_td_rfloordiv_null_scalarATestTimedeltaMultiplicationDivision.test_td_rfloordiv_null_scalar  sW    Q*xx((-....xx(()>?@@@@r!   c                 P    [         R                  " S5      [        SS9-  S:X  d   eg )Nr      r   r   )r
   rc   r   r   s    r   test_td_rfloordiv_offsets=TestTimedeltaMultiplicationDivision.test_td_rfloordiv_offsets  s"    ||A)B"771<<<r!   c                     [        SSS9n[        R                  " SS5      nUR                  U5      [        L d   eSn[
        R                  " [        US9   X!-    S S S 5        g ! , (       d  f       g = f)Nr   r!  r1  uszHunsupported operand type\(s\) for //: 'numpy.datetime64' and 'Timedelta'rE   )r   r?   r@   rG  NotImplementedrH   rI   r   )r   r   dt64rK   s       r    test_td_rfloordiv_invalid_scalarDTestTimedeltaMultiplicationDivision.test_td_rfloordiv_invalid_scalar  sc    Q*}}\40%777 X 	 ]]9C0J 100s   A%%
A3c                    [        SSS9nUR                  [        R                  5      [        L d   eUR                  S5      [        L d   eUR                  S5      [        L d   eUR                  [        R
                  " S5      5      [        L d   eUR                  [        R                  " S5      5      [        L d   eUR                  [        R                  " S5      5      [        L d   eSn[        R                  " [        US9   [        R
                  " S5      U-    S S S 5        [        R                  " [        US9   [        R                  " S5      U-    S S S 5        [        R                  " [        US9   [        R                  " S5      U-    S S S 5        g ! , (       d  f       N= f! , (       d  f       N[= f! , (       d  f       g = f)	Nr   r!  g      @r   r   rT   z9unsupported operand type\(s\) for //: '.*' and 'TimedeltarE   )r   rG  r?   r   rT  r   r8  r7  rH   rI   r   r2  s      r    test_td_rfloordiv_numeric_scalarDTestTimedeltaMultiplicationDivision.test_td_rfloordiv_numeric_scalar  sH   Q*'>999$666"n444

30NBBB,>>>..@@@J]]9C0JJsOr! 1]]9C0HHQK2 1]]9C0HHSMR 10	 100000s$   F%F6G%
F36
G
Gc                    [        SSS9n[        SSS9nUR                  [        R                  " UR	                  5       5      5      S:X  d   eUR                  [        R                  " SU-  R	                  5       /5      5      n[        R                  " S/[        R
                  S9n[        R                  " X45        [        R                  " SU-  R	                  5       [        R                  " S5      /5      nUR                  U5      n[        R                  " S[        R                  /5      n[        R                  " X45        g )Nr   r!  r   r   r   r#   r   )
r   rG  r?   r   rq   r   r   r   r]   r   )r   r   r$  r   r   r   s         r   %test_td_rfloordiv_timedeltalike_arrayITestTimedeltaMultiplicationDivision.test_td_rfloordiv_timedeltalike_array  s    Q*A. )>)>)@ ABaGGGrxx!f*)D)D)F(GHI88QCrxx0
##C2hhf446u8MNOs#88RL)
##C2r!   c                     [         R                  " / SQ5      S-  nSn[        R                  " [        US9   U[        SSS9-    S S S 5        g ! , (       d  f       g = f)N)irPi isPitPi vPr  Invalid dtyperE   r   r$   r%   r?   r   rH   rI   r   r   )r   intsrK   s      r   test_td_rfloordiv_intarray>TestTimedeltaMultiplicationDivision.test_td_rfloordiv_intarray  sD    xxHIEQ]]9C0Iac** 100s   A
Ac                 
   [        SSS9n[        R                  " S/[        R                  S9nUR                  U5      nU[        L d   eSn[        R                  " [        US9   X!-    S S S 5        g ! , (       d  f       g = f)Nr   r!  r   r   r_  rE   )
r   r@  rA  r?   r   rG  rT  rH   rI   r   )r   r   rC  r   rK   s        r    test_td_rfloordiv_numeric_seriesDTestTimedeltaMultiplicationDivision.test_td_rfloordiv_numeric_series  sf    Q*ii288,s#n$$$]]9C0I 100s   &A44
Bc                 
   [        SS9nU[        SS9-  n[        U[         5      (       d   eU[        SS9:X  d   eU[        SS9-  n[        U[         5      (       d   eU[        S5      :X  d   eU[        -  nU[        L d   eg )N%   r   r[   r   r   r   r   )r   r>   r   r   rw   s      r   test_mod_timedeltalike:TestTimedeltaMultiplicationDivision.test_mod_timedeltalike  s    R  ia((&),,,,++++i++&),,,,1%%%c}}r!   c                 `    [        SS9nU[        R                  " SS5      -  nU[        L d   eg )Nrh  r   r   r(   r|   rw   s      r   test_mod_timedelta64_nat<TestTimedeltaMultiplicationDivision.test_mod_timedelta64_nat$  s-    R bnnUD11}}r!   c                     [        SS9nU[        R                  " SS5      -  n[        U[         5      (       d   eU[        SS9:X  d   eg )Nrh  r   r   r   r   r\   rw   s      r   test_mod_timedelta648TestTimedeltaMultiplicationDivision.test_mod_timedelta64+  sG    R bnnQ,,&),,,,++++r!   c                     [        SS9nU[        R                  " S5      -  n[        U[         5      (       d   eU[        SS9:X  d   eg )Nrh  r   r  r   rb   rw   s      r   test_mod_offset3TestTimedeltaMultiplicationDivision.test_mod_offset3  sD    R gll1o%&),,,,++++r!   c                 2   [        SS9nUS-  n[        U[         5      (       d   eU[        S5      :X  d   eUS-  n[        U[         5      (       d   eU[        SSS9:X  d   eU[        S5      -  n[        U[         5      (       d   eU[        SSS9:X  d   eg )	Nrh  r   r   r   g    eAr   rO   r   )r   r>   intrw   s      r   test_mod_numeric4TestTimedeltaMultiplicationDivision.test_mod_numeric;  s    R  a&),,,,1%%%c&),,,,1b9999c#h&),,,,1b9999r!   c                    [        SS9nSn[        R                  " [        US9   U[	        S5      -    S S S 5        [        R                  " [        US9   U/ -    S S S 5        g ! , (       d  f       N6= f! , (       d  f       g = f)Nrh  r   r   rE   r;   )r   rH   rI   r   r	   r2  s      r   test_mod_invalid4TestTimedeltaMultiplicationDivision.test_mod_invalidL  sb    R (]]9C0<(( 1 ]]9C0G 10 10 10s   A$A5$
A25
Bc                 z    [        SS9n[        SS9U-  n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr   r   r   r   rV   rw   s      r   test_rmod_pytimedelta9TestTimedeltaMultiplicationDivision.test_rmod_pytimedeltaV  sA    q!1%*&),,,,1----r!   c                     [        SS9n[        R                  " SS5      U-  n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr   r   r  r?  r   r\   rw   s      r   test_rmod_timedelta649TestTimedeltaMultiplicationDivision.test_rmod_timedelta64^  sG    q!3'",&),,,,1----r!   c                    [        SS9nSn[        R                  " [        US9   [	        S5      U-    S S S 5        [        R                  " [        US9   SU-    S S S 5        [        R                  " [        US9   SU-    S S S 5        Sn[        R                  " [        US9   [
        R                  " S	S
/5      U-    S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Np= f! , (       d  f       g = f)Nr   r   zunsupported operandrE   r;            0@Invalid dtype int      )r   rH   rI   r   r	   r?   r   r2  s      r   test_rmod_invalid5TestTimedeltaMultiplicationDivision.test_rmod_invalide  s    q!#]]9C0l#b( 1 ]]9C0G 1 ]]9C02I 1 "]]9C0HHb"X# 10 10 10 10 10s/   C
C<C,%C=

C
C),
C:=
Dc                 J   [        SSS9n[        US5      nUS   [        SSS9R                  S5      :X  d   e[        US   [         5      (       d   eUS   [        SS	9:X  d   eU(       d   e[        U[        R
                  5      nUS   [        L d   eUS   [        L d   eg )
Nr   r[   ra   g   zH6FBr   r   rS  r%   r   )r   divmodr   r>   r?   r   r   rw   s      r   test_divmod_numeric7TestTimedeltaMultiplicationDivision.test_divmod_numericz  s    AQ'O,ayIad3;;DAAAA&)Y////ayIA....vBFF#ayCayCr!   c                    [        SSS9n[        U[        SS95      nUS   S:X  d   e[        US   [         5      (       d   eUS   [        SS9:X  d   e[        US5      nUS   [        SS9:X  d   e[        US   [         5      (       d   eUS   [        S5      :X  d   e[        U[        5      n[
        R                  " US   5      (       d   eUS   [        L d   eg )	Nr   r[   ra   r   rG   r   r   6   )r   r  r   r>   r   r?   r   rw   s      r   test_divmod/TestTimedeltaMultiplicationDivision.test_divmod  s    AQ'I1-.ayA~~&)Y////ayIA....BayIA....&)Y////ayIaL(((Cxxq	""""ayCr!   c                     [        SSS9n[        U[        R                  " S5      5      nUS   S:X  d   e[	        US   [         5      (       d   eUS   [        SS	9:X  d   eg )
Nr   r[   ra   rZ   r   r   r"  r   )r   r  r
   rc   r>   rw   s      r   test_divmod_offset6TestTimedeltaMultiplicationDivision.test_divmod_offset  sc    AQ'GLL,-ayC&)Y////ayIB////r!   c                     [        SSS9nSn[        R                  " [        US9   [	        U[        S5      5        S S S 5        g ! , (       d  f       g = f)Nr   r[   ra   zAunsupported operand type\(s\) for //: 'Timedelta' and 'Timestamp'rE   r;   )r   rH   rI   r   r  r	   r2  s      r   test_divmod_invalid7TestTimedeltaMultiplicationDivision.test_divmod_invalid  s<    AQ'R]]9C02y./ 100s   A
Ac                     [        [        SSS9[        SS95      nUS   S:X  d   e[        US   [        5      (       d   eUS   [        SS9:X  d   eg )Nr   r[   ra   r   rG   r   r   )r  r   r   r>   r   s     r   test_rdivmod_pytimedelta<TestTimedeltaMultiplicationDivision.test_rdivmod_pytimedelta  sX    	q2I14EFayA~~&)Y////ayIA....r!   c                     [        [        R                  " S5      [        SS95      nUS   S:X  d   e[	        US   [        5      (       d   eUS   [        SS9:X  d   eg )Nr  rZ   r   r   r  r   r"  )r  r
   rc   r   r>   r   s     r   test_rdivmod_offset7TestTimedeltaMultiplicationDivision.test_rdivmod_offset  s\    R()"*=>ayC&)Y////ayIB////r!   c                 T   [        SS9nSn[        R                  " [        US9   [	        [        S5      U5        S S S 5        [        R                  " [        US9   [	        SU5        S S S 5        [        R                  " [        US9   [	        SU5        S S S 5        Sn[        R                  " [        US9   [	        [        R                  " S	S
/5      U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nw= f! , (       d  f       g = f)Nr   r   r   rE   r;   r  r  r  r  r  )r   rH   rI   r   r  r	   r?   r   r2  s      r   test_rdivmod_invalid8TestTimedeltaMultiplicationDivision.test_rdivmod_invalid  s    q!(]]9C09\*B/ 1 ]]9C02rN 1 ]]9C04 1 "]]9C0288RH%r* 10 10 10 10 10s/   C&C7
D:#D&
C47
D
D
D'r   r   r   r   r   c                     [         R                  " U5      nSn[        R                  " [        US9   U" U[        S5      5        S S S 5        g ! , (       d  f       g = f)Nz7unsupported operand type|cannot use operands with typesrE   r   r`  )r   r8   r   rK   s       r   (test_td_op_timedelta_timedeltalike_arrayLTestTimedeltaMultiplicationDivision.test_td_op_timedelta_timedeltalike_array  s>     hhsmG]]9C0sIdO$ 100s   A
Ac                     Sn[         R                  " [        US9   [        S5      S-    S S S 5        g ! , (       d  f       g = f)Nz=Cannot multiply Timedelta by bool. Explicitly cast to integerrE   r   T)rH   rI   r   r   )r   rK   s     r   test_mul_bool_invalid9TestTimedeltaMultiplicationDivision.test_mul_bool_invalid  s.    M]]9C0g% 100s	   4
Ar   N)Ir   r   r   r   r   rH   r   r   r   r?   r]   r<   mulr   rmulr   r   r   floatr   r   r   r   r   r   r  r  r
  r  r  r  r  r  r  r%  r)  r.  r3  r9  r<  rD  rH  rK  rP  rV  rY  r\  rb  re  ri  rl  ro  rr  rv  ry  r|  r  r  r  r  r  r  r  r  r  truedivrdivrsubr	   r   r  r  r   r   r!   r   r   r   j  s   	 [[3ud3R^^E5JK [[THLL#((#;< = [[URVVRZZ->e$MN[[THLL#((#;< = O [[THLL#((#;< =0	6 
"#&
+ [[FFJJu%L	

:4*.85-F	/3 %DA= (3"+
 ,,:"..$*  $00/0+( [[x||SXXx'7'7388L [['?)CD,-y?	
%%&r!   r   c                       \ rS rSrS rS rS rS rS rS r	S r
\R                  R                  S	S
S/5      S 5       rSrg)TestTimedeltaComparisoni  c                    S GH^  n[         R                  R                  U5      R                  n[         R                  R                  U5      R                  nU[        R                  :  d   eU[        R                  ::  d   eU[        R                  :  a   eU[        R                  :  a   eU[        R                  :w  d   eU[        R                  :X  a   eU[        R                  :  d   eU[        R                  :  d   eU[        R                  :  a   eU[        R                  ::  a   eU[        R                  :w  d   eU[        R                  :X  d  GM_   e   S GH^  n[         R                  R                  U5      R                  n[         R                  R                  U5      R                  nU[        R                  :  d   eU[        R                  :  d   eU[        R                  :  a   eU[        R                  ::  a   eU[        R                  :w  d   eU[        R                  :X  a   eU[        R                  :  d   eU[        R                  ::  d   eU[        R                  :  a   eU[        R                  :  a   eU[        R                  :w  d   eU[        R                  :X  d  GM_   e   g )N)r(   rS  )msr$   )r   maxr   minr   )r   r   tdmaxtdmins       r   test_compare_pytimedelta_bounds7TestTimedeltaComparison.test_compare_pytimedelta_bounds  s2    !DMM))$/33EMM))$/33E9==(((IMM)))y}},,,	---IMM)))	---9==(((IMM)))y}},,,	---IMM)))	---! !&  DMM))$/33EMM))$/33E9==(((IMM)))y}},,,	---IMM)))	---9==(((IMM)))y}},,,	---IMM)))	---!  r!   c                    [        SSS9n[        R                  " UR                  S5      [        R                  " UR                  S5      -   n[        U5      nUR                  UR                  :X  d   eUR                  UR                  :X  d   eX1:X  d   eX1:w  a   eX1:  a   eX1:  a   eX1::  d   eX1:  d   eU[        SS9R                  S5      -
  nXA:w  d   eXA:X  a   eXA:  d   eXA::  d   eXA:  a   eXA:  a   eg )Niɚ;iQ r2   r4   r$   r   r&   )r   r?   r]   r3   r'   r   r   )r   pytdtd64r   td2s        r    test_compare_pytimedelta_bounds28TestTimedeltaComparison.test_compare_pytimedelta_bounds2  s    i7~~dii-t||S0QQt_ww$))###zzT\\)))zz:~9}9}zzzz9Q'//44{{;zz{{:~;;r!   c                 6   UnU" S5      nUR                   n[        U[        5      (       d   eXC:X  d   eXC:w  a   eXC::  d   eXC:  d   eXC:  a   eXC:  a   eUSU-  :X  a   eUSU-  :w  d   eUSU-  ::  d   eUSU-  :  d   eUSU-  :  a   eUSU-  :  a   eg )Nr   r   )_as_pd_timedeltar>   r   )r   tick_classesclsoffr   s        r   test_compare_tick)TestTimedeltaComparison.test_compare_tick$  s    !f!!"i((((yy9}yyyy8|8|S=  QW}}QW}}AG||S=  C<<r!   c                    [        S5      n[        S5      n[        R                  " X!/[        S9nX1:H  n[        R                  " SS/[        S9nXE:H  R                  5       (       d   e[        R                  " X!/X//[        S9nX1:g  n[        R                  " SS/SS//[        S9nUR                  UR                  :X  d   eXE:H  R                  5       (       d   eg )Nr   z3 hoursr   FT)r   r?   r   r  boolallshape)r   r   r   r   r   r   s         r   test_comparison_object_array4TestTimedeltaComparison.test_comparison_object_array9  s    x )$hh{&1i88UDM6$$&&&& hhb[1@i88dE]UDM:$GyyHNN***$$&&&&r!   c                     [        S5      [        S5      /n[        R                  " U5      nUS   U:  n[        R                  " SS/5      n[        R                  " X45        g )Nz0 days 01:00:00r   Fr   )r   periodsr   r   r   s        r   test_compare_timedelta_ndarray6TestTimedeltaComparison.test_compare_timedelta_ndarrayJ  sS    ./;L1MNhhwQ#88UEN+
##F5r!   c                 t   [         R                  " S5      R                  S5      n[        US   5      n[         R                  " / SQ[
        S9nX!:H  n[        R                  " XC5        X:H  n[        R                  " XC5        X!:g  n[        R                  " XC) 5        X:g  n[        R                  " XC) 5        g )Nr  ztimedelta64[ns]r   )FTFFFr   )r?   arangeastyper   r   r  r   r   )r   r   r   r   r   s        r   test_compare_td64_ndarray1TestTimedeltaComparison.test_compare_td64_ndarrayR  s    iil!!"34s1v88>dK
##F5
##F5
##FI6
##FI6r!   c                      " S S5      n[        S5      nUS:w  d   eUS:w  d   eX!" 5       :w  d   eX!" SS9:w  d   eX!" SS9:  d   eX!" SS9:  a   eX!" SS9:X  d   eg	)
zp
Make sure non supported operations on Timedelta returns NonImplemented
and yields to other operand (GH#20829).
c                   4    \ rS rSrSS	S jjrS rS rS rSrg)
GTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClassik  Nc                     Xl         g N
cmp_result)r   r  s     r   __init__PTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__init__l  s    ",r!   c                 @    U R                   c  [        $ U R                   $ r  )r  rT  rO  s    r   generic_resultVTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.generic_resulto  s    ??*))??*r!   c                 "    U R                  5       $ r  r  r   r   s     r   __eq__NTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__eq__u      **,,r!   c                 "    U R                  5       $ r  r  r  s     r   __gt__NTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__gt__x  r  r!   r  r  )returnN)	r   r   r   r   r  r  r  r  r   r   r!   r   CustomClassr  k  s    -+--r!   r  1sstringr   Fr  TN)r   )r   r  ts      r   test_compare_custom_object2TestTimedeltaComparison.test_compare_custom_objecte  s    	- 	-  dOH}}AvvKM!!!K51111;$////{e4444K40000r!   valr  r   c                    [        S5      nSn[        R                  " [        US9   X!:    S S S 5        [        R                  " [        US9   X!:    S S S 5        [        R                  " [        US9   X!:*    S S S 5        [        R                  " [        US9   X!:    S S S 5        g ! , (       d  f       N= f! , (       d  f       Nl= f! , (       d  f       NW= f! , (       d  f       g = f)Nr  z>not supported between instances of 'Timedelta' and '(int|str)'rE   )r   rH   rI   r   )r   r  r  rK   s       r   test_compare_unknown_type1TestTimedeltaComparison.test_compare_unknown_type  s     dON]]9C0H 1]]9C0G 1]]9C0H 1]]9C0G 10 10000000s/   B'B83C	C'
B58
C	
C
C(r   N)r   r   r   r   r  r  r  r  r  r  r  rH   r   r   r  r   r   r!   r   r  r    sP    &.P0 *'"67& 1D [[UXqM2 3r!   r  c                  @    " S S5      n U " 5       n[        S5      nUR                  U5      [        L d   eUR                  U5      [        L d   eUR	                  U5      [        L d   eUR                  U5      [        L d   eUR                  U5      [        L d   eg )Nc                       \ rS rSrSrg)&test_ops_notimplemented.<locals>.Otheri  r   N)r   r   r   r   r   r   r!   r   Otherr    s    r!   r  r   )r   __add__rT  __sub____truediv____mul____floordiv__)r  r   r   s      r   test_ops_notimplementedr    s      GE	7	B::e...::e...>>% N222::e...??5!^333r!   c                  ^   [        S5      n U S4SU 44 Ht  u  pSR                  / SQ5      n[        R                  " [        US9   X-     S S S 5        Sn[        R                  " [        US9   X:    S S S 5        X:X  a   eX:w  a  Mt   e   g ! , (       d  f       NI= f! , (       d  f       N2= f)Nr   ar   )r   z3can only concatenate str \(not "Timedelta"\) to strzmust be str, not TimedeltarE   z"not supported between instances ofr   )r   leftrightrK   s       r   test_ops_error_strr    s    	7	BS	C9-hh
 ]]9C0L 1 3]]9C0L 1 =  }}! . 10 10s   B-B
B	
B,	boxTFc                 b   [        S5      nSnU (       a  [        R                  " U/[        S9nSn[        R
                  " [        US9   X-     S S S 5        [        R
                  " [        US9   X!-     S S S 5        [        R
                  " [        US9   X-
    S S S 5        [        R
                  " [        US9   X!-
    S S S 5        [        R
                  " [        US9   X!-    S S S 5        U (       ds  [        R
                  " [        US9   X-    S S S 5        [        R
                  " [        US9   X!-    S S S 5        [        R
                  " [        US9   X-    S S S 5        g SR                  / SQ5      n[        R                  " [        US9   X-    S S S 5        [        R                  " [        US9   X!-    S S S 5        [        R                  " [        US9   X-    S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNk= f! , (       d  f       GNW= f! , (       d  f       GN<= f! , (       d  f       GN(= f! , (       d  f       g = f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr   1r   z=Scalar operations between Timedelta and string are deprecatedrE   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   rH   rI   r   )r  r   itemrK   s       r   test_ops_str_deprecatedr    s    
7	BD
xxf-
IC		#	#N#	>
	 
?		#	#N#	>	 
?		#	#N#	>
	 
?		#	#N#	>	 
?		#	#N#	>	 
?''cBI C''cBJ C''cBJ CB hh
 ]]9C0I 1]]9C0J 1]]9C0J 10= 
?	>	>	>	>	>	>	>	>	> CBBBBB 100000s   
G/0HH<H%"H7I	5II-I>;J!J /
G>
H
H"%
H47
I	
I
I*-
I;>
J
J 
J.)r   r   r   r<   numpyr?   rH   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 X
v	& v	&rp pf4. u.' /'r!   