
    Mh)                         S SK Jr  S SKrS SKrS SKrS SKJr  S SKJ	r
  S SKJrJr   " S S5      r " S S5      r " S	 S
5      rg)    )	timedeltaN)	Timedelta)DatetimeArrayTimedeltaArrayc                      \ rS rSr\R
                  " / SQS9S 5       r\R
                  S 5       rS rS r	\R                  R                  S\R                  5      S	 5       rS
 rS rS rS r\R                  R                  S\R(                  " SS5      \R(                  " S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 g)TestNonNano   )smsus)paramsc                     UR                   $ N)param)selfrequests     U/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/test_timedeltas.pyunitTestNonNano.unit   s    }}    c                     [         R                  " S[         R                  S9R                  SU S35      n[        R
                  " X"R                  S9$ )N   dtypem8[])nparangeint64viewr   _simple_newr   )r   r   arrs      r   tdaTestNonNano.tda   s>    ii*//#dV1>))#YY??r   c                    [         R                  " S[         R                  S9R                  SU S35      n[        R
                  " X"R                  S9nUR                  UR                  :X  d   eUS   R                  U:X  d   eg )Nr   r   r   r   r   )r   r   r   r    r   r!   r   r   )r   r   r"   r#   s       r   test_non_nanoTestNonNano.test_non_nano   si    ii*//#dV1>((II>yyCII%%%1v{{d"""r   c                 @   [         R                  " [        SS9   UR                  S5        S S S 5        [        R
                  " U5      n[         R                  " [        SS9   UR                  S5        S S S 5        g ! , (       d  f       NX= f! , (       d  f       g = f)NzSupported unitsmatchD)pytestraises
ValueErroras_unitpdIndex)r   r#   tdis      r   test_as_unit_raisesTestNonNano.test_as_unit_raises    sj    ]]:->?KK @ hhsm]]:->?KK @?	 @? @?s   A>#B>
B
Bfieldc                     UR                   R                  S5      n[        R                  " X3R                  S9n[        X5      n[        XB5      n[        R                  " XV5        g Nm8[ns]r   )_ndarrayastyper   r!   r   getattrtmassert_numpy_array_equal)r   r#   r5   as_nanotda_nanoresultexpecteds          r   test_fieldsTestNonNano.test_fields)   sL    ,,%%h/!--g]]K$8+
##F5r   c                     UR                   R                  S5      n[        R                  " X"R                  S9nUR                  5       nUR                  5       n[        R                  " XE5        g r7   )r9   r:   r   r!   r   to_pytimedeltar<   r=   )r   r#   r>   r?   r@   rA   s         r   test_to_pytimedeltaTestNonNano.test_to_pytimedelta2   sT    ,,%%h/!--g]]K##%**,
##F5r   c                     UR                   R                  S5      n[        R                  " X3R                  S9nUR                  5       nUR                  5       n[        R                  " XV5        g r7   )r9   r:   r   r!   r   total_secondsr<   r=   )r   r   r#   r>   r?   r@   rA   s          r   test_total_secondsTestNonNano.test_total_seconds:   sT    ,,%%h/!--g]]K""$))+
##F5r   c                     [        S5      R                  5       n[        R                  " [        S5      /5      R                  5       S   nX!:X  d   eg )Nz2 minr   )r   rI   r0   array)r   rA   r@   s      r   "test_timedelta_array_total_seconds.TestNonNano.test_timedelta_array_total_secondsB   sE    W%3359W-./==?B!!!r   c                 B   [         R                  " S/5      R                  S5      n[         R                  " S/5      R                  S5      nX!-
  R                  [        R
                  " SS5      -  nX!-
  R                  R                  5       R                  nXC:X  d   eg )Nz2145-11-02 06:00:00datetime64[ns]z2145-11-02 07:06:00   r
   )r0   Seriesr:   valuesr   timedelta64dtrI   )r   
start_timeend_timerA   r@   s        r   test_total_seconds_nanoseconds*TestNonNano.test_total_seconds_nanosecondsI   s    YY 567>>?OP
99345<<=MN)11BNN1c4JJ'++99;BB!!!r   natNaTnsr   c                 t   X!-   n[        U[        5      (       d   eUR                  UR                  :X  d   eUR                  5       R	                  5       (       d   eX-   n[        U[        5      (       d   eUR                  UR                  :X  d   eUR                  5       R	                  5       (       d   eg r   )
isinstancer   _cresoisnaall)r   r[   r#   r@   s       r    test_add_nat_datetimelike_scalar,TestNonNano.test_add_nat_datetimelike_scalarQ   s     &-0000}}

***{{}  """"&-0000}}

***{{}  """"r   c                    U[         R                  -   n[        U[        5      (       d   eUR                  UR                  :X  d   eUR                  5       R                  5       (       d   e[         R                  U-   n[        U[        5      (       d   eUR                  UR                  :X  d   eUR                  5       R                  5       (       d   eg r   )r0   r\   r_   r   r`   ra   rb   )r   r#   r@   s      r   test_add_pdnatTestNonNano.test_add_pdnat_   s    rvv&.1111}}

***{{}  """"#&.1111}}

***{{}  """"r   c                    [         R                  " SUS9R                  S5      nUR                  S5      U-   nX-   n[        R                  " XT5        X1-   n[        R                  " XT5        U[        S5      -  nUR                  UR                  -   n[        R                  " XfR                  S9R                  S5      R                  UR                  5      nX-   n[        R                  " Xt5        X1-   n[        R                  " Xt5        g )Nz
2016-01-01)tzr]   rR   r   UTC)r0   	Timestampr/   r<   assert_extension_array_equalr   r9   asm8r   r!   r   tz_localize
tz_convertri   )r   r#   tz_naive_fixturetsrA   res
exp_valuesr@   s           r   test_add_datetimelike_scalar(TestNonNano.test_add_datetimelike_scalarl   s    \\,+;<DDTJ;;t$r)h
''6h
''6
il\\BGG+
%%j8H8HI[Z 	 
''9
''9r   c                     SnX-  n[         R                  " UR                  U-  UR                  S9n[        R
                  " X45        UR                  UR                  :X  d   eg N   r   r   r!   r9   r   r<   rl   r`   r   r#   otherr@   rA   s        r   test_mul_scalarTestNonNano.test_mul_scalar   Q    !--cllU.B#))T
''9}}

***r   c                    [         R                  " [        U5      5      nX-  n[        R                  " UR
                  U-  UR                  S9n[        R                  " X45        UR                  UR                  :X  d   eg Nr   
r   r   lenr   r!   r9   r   r<   rl   r`   rz   s        r   test_mul_listlikeTestNonNano.test_mul_listlike   ^    		#c(#!--cllU.B#))T
''9}}

***r   c                 ,   [         R                  " [        U5      5      nXR                  [        5      -  n[
        R                  " UR                  U-  UR                  S9n[        R                  " X45        UR                  UR                  :X  d   eg r   )r   r   r   r:   objectr   r!   r9   r   r<   rl   r`   rz   s        r   test_mul_listlike_object$TestNonNano.test_mul_listlike_object   sh    		#c(#||F++!--cllU.B#))T
''9}}

***r   c                     SnX-  n[         R                  " UR                  U-  UR                  S9n[        R
                  " X45        UR                  UR                  :X  d   eg rw   ry   rz   s        r   test_div_numeric_scalar#TestNonNano.test_div_numeric_scalar   r~   r   c                     [        SS9nX-  nUR                  [        R                  " SS5      -  n[        R
                  " X45        g )NrR   secondsr
   )r   r9   r   rU   r<   r=   rz   s        r   test_div_td_scalarTestNonNano.test_div_td_scalar   s:    !$<<"..C"88
##F5r   c                    [         R                  " [        U5      5      nX-  n[        R                  " UR
                  U-  UR                  S9n[        R                  " X45        UR                  UR                  :X  d   eg r   r   rz   s        r   test_div_numeric_array"TestNonNano.test_div_numeric_array   r   r   c                     UR                   UR                   S   -   nX-  nUR                   U-  n[        R                  " X45        g )N)r9   r<   r=   rz   s        r   test_div_td_arrayTestNonNano.test_div_td_array   s<    s||B//<<%'
##F5r   c                 
   UR                  S5      nUS-  nX!-   n[        R                  " XC5        X-   n[        R                  " XC5        US-  nX-
  n[        R                  " XC5        X!-
  n[        R                  " XC5        g )Nr8   rx   r   )r:   r<   rl   )r   r#   r?   rA   rr   s        r   test_add_timedeltaarraylike'TestNonNano.test_add_timedeltaarraylike   sv    ::h'a<n
''6n
''6a<n
''6n
''6r    N)!__name__
__module____qualname____firstlineno__r,   fixturer   r#   r&   r3   markparametrizer   
_field_opsrB   rF   rJ   rN   rY   r   
datetime64rc   rf   rt   r|   r   r   r   r   r   r   r   __static_attributes__r   r   r   r   r      s    ^^,- . ^^@ @# [[Wn&?&?@6 A666"" [[eT*BMM%,FG	#	#	#:0++++6+67r   r   c                      \ rS rSr\R
                  R                  S\\R                  \R                  SS/5      S 5       rS r\R
                  R                  S\" SS	9\" SS	9R                  5       \" SS	9R                  5       /5      S
 5       r\R
                  R                  SS\R                  " S5      S\R"                  " S5      \R&                  " S5      S\R(                  " SSS9S-  S-  S-  \R(                  " S5      S-  S-  S-  R+                  S5      \R&                  " S5      R-                  S5      /	5      \R
                  R                  SSS/5      S 5       5       rSrg)TestTimedeltaArray   r   uint32uint64c                    [         R                  " [        S5      [        S5      /SS9n[        R                  " U5      [        R
                  :w  a4  [        R                  " [        SS9   UR                  U5        S S S 5        g UR                  U5      nUR                  R                  S5      n[        R                  " X45        g ! , (       d  f       g = f)N1h2hr8   r   zDo obj.astype\('int64'\)r)   i8)r   _from_sequencer   r   r   r   r,   r-   	TypeErrorr:   r9   r    r<   r=   )r   r   r"   r@   rA   s        r   test_astype_int"TestTimedeltaArray.test_astype_int   s    ++t_io.h
 88E?bhh&y0KL

5! ME"<<$$T*
##F5 MLs   +C		
Cc                 ~    [         R                  " SSSS9R                  n[        S5      US'   UR                  b   eg )Nr   rx   hperiodsfreqr   )r0   timedelta_range_datar   r   )r   as     r   test_setitem_clears_freq+TestTimedeltaArray.test_setitem_clears_freq   s7    tQS9??!vv~~r   objrR   r   c                 t    [         R                  " SSSS9nUR                  nXS'   US   [        SS9:X  d   eg )N2 Days   r   r   r   rR   r   )r0   r   r   r   )r   r   r2   r"   s       r   test_setitem_objects'TestTimedeltaArray.test_setitem_objects   s?       13?iiA1v1----r   r{   g      ?r\   z
2021-01-01invalid
   r   r         ʚ;rQ   r+   indexTFc                 f   [         R                  " SSS9S-  S-  S-  n[        R                  " USS9R                  nU(       a  [        R
                  " U5      nS	R                  S
S/5      n[        R                  " [        US9   UR                  U5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   r   r   r   r+   )r   |z0searchsorted requires compatible dtype or scalarz<value should be a 'Timedelta', 'NaT', or array of those. Gotr)   )r   r   r0   TimedeltaIndexr   r1   joinr,   r-   r   searchsorted)r   r{   r   datar"   msgs         r   test_searchsorted_invalid_types2TestTimedeltaArray.test_searchsorted_invalid_types   s      yy4(2-4u<3/55((3-ChhBN
 ]]9C0U# 100s   B""
B0r   N)r   r   r   r   r,   r   r   intr   int32r   r   r   r   to_timedelta64rE   r   r   r0   rk   r   r    	to_periodr   r   r   r   r   r   r      sc   [[WsBHHbhh(&ST6 U6
 [[a a //1a //1	
.. [[HHQKMM% LL&IIb%*T1E9YYr]R$&.445EFLL&005
	
 [[WtUm4$ 5$r   r   c                   ,    \ rS rSrS rS rS rS rSrg)TestUnaryOpsi  c                 R   [         R                  " / SQSS9n[        R                  " U5      n[         R                  " / SQSS9n[        R                  " U5      n[	        U5      n[
        R                  " XT5        [         R                  " U5      n[
        R                  " Xd5        g )Nl  qar\       @B1r8   r   )     qar\   r   )r   rM   r   r   absr<   assert_timedelta_array_equalr   valsr"   evalsrA   r@   result2s          r   test_absTestUnaryOps.test_abs	  sv    xx<HM++D1<HM!007S
''9&&+
'':r   c                 \   [         R                  " / SQSS9n[        R                  " U5      nU7n[        R
                  " X25        [        R                  " X25      (       a   e[         R                  " U5      n[        R
                  " XB5        [        R                  " XB5      (       a   eg )Nr   r8   r   )r   rM   r   r   r<   r   shares_memorypositive)r   r   r"   r@   r   s        r   test_posTestUnaryOps.test_pos  s    xx<HM++D1
''4##F0000++c"
''5##G11111r   c                 B   [         R                  " / SQSS9n[        R                  " U5      n[         R                  " / SQSS9n[        R                  " U5      nU* n[        R
                  " XT5        [         R                  " U5      n[        R
                  " Xd5        g )Nr   r8   r   )r   r\   l @B1)r   rM   r   r   r<   r   negativer   s          r   test_negTestUnaryOps.test_neg"  su    xx<HM++D1=XN!007
''9++c"
'':r   c                     [         R                  " SSSS9nUR                  nUR                  * nU* n[        R                  " XC5        [
        R                  " U5      n[        R                  " XS5        g )Nr   r   r   r   )r0   r   r   r<   r   r   r   )r   r2   r"   rA   r@   r   s         r   test_neg_freqTestUnaryOps.test_neg_freq/  s[      13?iiII:
''9++c"
'':r   r   N)	r   r   r   r   r   r   r   r   r   r   r   r   r   r     s    ;
2;
;r   r   )datetimer   numpyr   r,   pandasr0   r   pandas._testing_testingr<   pandas.core.arraysr   r   r   r   r   r   r   r   <module>r      s@         r7 r7jA$ A$H1; 1;r   