
    Mhh)                     l    S SK Jr  S SKrS SK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g)    	timedeltaN)	TimedeltaTimedeltaIndextimedelta_rangeto_timedelta)TimedeltaArrayc                      \ rS rSrS rS r\R                  R                  S/ SQ5      S 5       r	S r
S rS	 rS
 rS rS rS r\R                  R#                  S5      S 5       rS rS rS rS rS rS rS rS rSrg)TestTimedeltaIndex   c                     Sn[         R                  " [        US9   [        / SS9  S S S 5        g ! , (       d  f       g = f)NzThe 'closed' keywordmatchT)closed)tmassert_produces_warningFutureWarningr   selfmsgs     c/var/www/html/env/lib/python3.13/site-packages/pandas/tests/indexes/timedeltas/test_constructors.pytest_closed_deprecated)TestTimedeltaIndex.test_closed_deprecated   s.    $''SA2d+ BAAs   0
>c                    [         R                  " SS5      n[         R                  " U/[        S9nSn[        R
                  " [        US9   [        U5        S S S 5        [        R
                  " [        US9   [        R                  " USS9  S S S 5        [        R
                  " [        US9   [        U5        S S S 5        g ! , (       d  f       Ns= f! , (       d  f       NM= f! , (       d  f       g = f)NNaTnsdtypez!Invalid type for timedelta scalarr   zm8[ns])np
datetime64arrayobjectpytestraises	TypeErrorr   r	   _from_sequencer   )r   natarrr   s       r   test_array_of_dt64_nat_raises0TestTimedeltaIndex.test_array_of_dt64_nat_raises   s    mmE4(hhuF+1]]9C03 1 ]]9C0))#X> 1 ]]9C0 10 10 10 10s$   C:C1C(
C
C%(
C6unit)YyMc                     SnSn[         R                  " [        US9   [        R                  " [
        US9   [        / SQU5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nz/Units 'M', 'Y', and 'y' are no longer supportedz?The 'unit' keyword in TimedeltaIndex construction is deprecatedr   )         )r#   r$   
ValueErrorr   r   r   r   )r   r+   r   depr_msgs       r   test_unit_m_y_raises'TestTimedeltaIndex.test_unit_m_y_raises'   sR    ?T]]:S1++MJy$/ K 21JJ 21s"   A)AA)
A&	"A))
A7c                     [         R                  " S[         R                  S9n[        USS9nUR                  R
                  R                  UL d   eg )N
   r   F)copy)r   arangeint64r   _data_ndarraybase)r   r(   tdis      r   test_int64_nocopy$TestTimedeltaIndex.test_int64_nocopy/   sB     ii"((+Su-yy!!&&#---    c                     [        SSSS9n[        USS9nUR                  UR                  :X  d   eS[        US0 5      ;  d   eg )	N1 secondi 1speriodsfreqinferrH   inferred_freq_cache)r   r   rH   getattr)r   r?   results      r   test_infer_from_tdi&TestTimedeltaIndex.test_infer_from_tdi6   sM     j%dC'2{{chh&&& gfh&CCCCrB   c                    [        SSSS9nSnSn[        R                  " [        US9   [	        USS	9  S S S 5        [        R                  " [        US9   [
        R                  " [        US9   [        USS	9  S S S 5        S S S 5        [        R                  " [        US9   [	        UR                  SS	9  S S S 5        [        R                  " [        US9   [
        R                  " [        US9   [        UR                  SS	9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N[= f! , (       d  f       g = f)
NrD   d   rE   rF   %TimedeltaArray.__init__ is deprecatedzMInferred frequency .* from passed values does not conform to passed frequencyr   DrJ   )
r   r#   r$   r3   r   r   r   r   r	   r<   )r   r?   r4   r   s       r   test_infer_from_tdi_mismatch/TestTimedeltaIndex.test_infer_from_tdi_mismatchC   s    j#DA:. 	 ]]:S13S) 2 ]]:S1++MJs- K 2
 ]]:S13993/ 2 ]]:S1++MJsyys3 K 21 21
 KJ 21
 21 KJ 21s_   DD;/D*:D;#EE.3EE.
D'*
D8	4D;;
E	
E
E+	'E..
E<c                    [         R                  " SSS9nSn[        R                  " [        US9   [        UR                  S5      5        S S S 5        [        R                  " [        US9   [        U5        S S S 5        [        R                  " [        US9   [        [        R                  " U5      5        S S S 5        g ! , (       d  f       N}= f! , (       d  f       Na= f! , (       d  f       g = f)Nz
2016-01-01r1   rG   z"cannot be converted to timedelta64r   zEurope/Brussels)	pd
date_ranger#   r$   r%   r   tz_localizer   asarray)r   dtir   s      r   test_dt64_data_invalid)TestTimedeltaIndex.test_dt64_data_invalid]   s     mmL!42]]9C03??+<=> 1 ]]9C03 1 ]]9C02::c?+ 10 10 10 10s#   C-C C%
C
C"%
C3c                 j   [        SS/5      n[        SS/5      n[        R                  " X5        [        SS/5      n[        SS/5      n[        R                  " X5        [        S[        R                  /5      n[        [        SS9[        R                  /5      n[        R                  " X5        g )Ngffffff@gffffff#@   	   g       @g      "@)nanoseconds)r   r   assert_index_equalr   nanr   rY   r   r   r?   expecteds      r   test_float64_ns_rounded*TestTimedeltaIndex.test_float64_ns_roundedm   s     c3Z(!1a&)
c, c3Z(!1a&)
c, c266]+!9#;RVV"DE
c,rB   c                 ~    [        SS/SS9n[        [        SS9[        SS9/5      n[        R                  " X5        g )Ng      ?g      @rT   r+   )days)r   r   r   r   rd   rf   s      r   test_float64_unit_conversion/TestTimedeltaIndex.test_float64_unit_conversion~   s9    C;S1!9##6	t8L"MN
c,rB   c                    [        S5      [        R                  [        S5      /n[        R                  " [        R
                  " U5      [        U5      5        [        R                  " [        R
                  " [        R                  " U5      5      [        [        R                  " U5      5      5        [        R                  [        R                  [        S5      /n[        R                  " [        R
                  " U5      [        U5      5        [        R                  " [        R
                  " [        R                  " U5      5      [        [        R                  " U5      5      5        g )N1 days3 days)
r   rY   r   r   rd   Indexr   r   r!   re   )r   r(   s     r   "test_construction_base_constructor5TestTimedeltaIndex.test_construction_base_constructor   s    "BFFIh,?@
bhhsm^C-@A
bhhrxx}5~bhhsm7TUvvrvvy23
bhhsm^C-@A
bhhrxx}5~bhhsm7TUrB   zFignore:The 'unit' keyword in TimedeltaIndex construction:FutureWarningc           
         [        / SQ5      n[        SS[        R                  " SS5      [        SSS9[        R
                  R                  S5      /5      n[        R                  " X!5        [        / SQ5      n[        [        S5      S	S
9n[        R                  " X!5        [        / SQ5      n[        / SQS	S
9n[        R                  " X!5        [        / SQ5      n[        / SQSS
9n[        R                  " X!5        g )N)rp   z1 days 00:00:052 daysz2 days 00:00:02z0 days 00:00:03rp   z1 days, 00:00:05ra   rT   )rl   secondsr1   )0 days 00:00:00z0 days 00:00:01z0 days 00:00:02srk   )rx   z0 days 00:00:05z0 days 00:00:09)r      rb   )z0 days 00:00:00.400z0 days 00:00:00.450z0 days 00:00:01.200)i  i  i  ms)
r   r   timedelta64r   rY   offsetsSecondr   rd   range)r   rg   rN   s      r   test_constructor#TestTimedeltaIndex.test_constructor   s     "
  "q#&q!,

!!!$
 	f/!E
  as3
f/!E
  	4
f/!Q
   0t<
f/rB   c                     [        SSSS9n[        SS5       Vs/ s H	  nSU S3PM     nn[        U5      n[        R                  " XA5        g s  snf )	NrE   rb   ry   rF   r0   r8   P0DT0H0MS)r   r   r   r   rd   )r   rg   i	durationsrN   s        r   test_constructor_iso'TestTimedeltaIndex.test_constructor_iso   sO    "4=.3Arl;lxs!_l	;i(
f/ <s   Ac                     Sn[         R                  " [        US9   [        SSS9nS S S 5        [        SSS9n[         R                  " WU5        g ! , (       d  f       N0= f)Nz:Non-integer 'periods' in pd.date_range, pd.timedelta_ranger   rp   g      %@rX   r8   )r   r   r   r   rd   )r   r   rngexps       r   &test_timedelta_range_fractional_period9TestTimedeltaIndex.test_timedelta_range_fractional_period   sO    J''SA!(D9C Bh3
c3' BAs   A
Ac                    Sn[         R                  " [        US9   [        SSSS9  S S S 5        Sn[         R                  " [        US9   [	        S5        S S S 5        S [        S	5       5       n[	        U5      n[	        [        S	5       Vs/ s H  n[        U5      PM     sn5      n[        R                  " X55        [        R                  " / S
Q5      n[	        U5      n[        / SQSS9n[        R                  " X55        [	        UR                  5      n[        R                  " Xu5        Sn[         R                  " [        US9   [	        / SQSS9  S S S 5        Sn[         R                  " [        US9   [        S	SS9  S S S 5        g ! , (       d  f       GNn= f! , (       d  f       GNQ= fs  snf ! , (       d  f       Nf= f! , (       d  f       g = f)Nz!periods must be a number, got foor   rp   foorT   )startrG   rH   z[TimedeltaIndex\(\.\.\.\) must be called with a collection of some kind, '1 days' was passedc              3   8   #    U  H  n[        U5      v   M     g 7f)Nr   ).0r   s     r   	<genexpr>?TestTimedeltaIndex.test_constructor_coverage.<locals>.<genexpr>   s     /Yy||Ys   r8   )rp   rv   rq   )r0   ra   r1   drk   zQInferred frequency None from passed values does not conform to passed frequency D)rp   rv   z4 daysrJ   zVOf the four parameters: start, end, periods, and freq, exactly three must be specifiedrF   )r#   r$   r%   r   r   r   r   r   rd   r   r!   r   asi8r3   )r   r   genrN   r   rg   strings	from_intss           r   test_constructor_coverage,TestTimedeltaIndex.test_constructor_coverage   sg   1]]9C0(ED 1" 	 ]]9C08$ 1 0U2Y/$!r"CA9Q<"CD
f/ ((9:(	4
f/"8==1	
i2! 	 ]]:S19D 2& 	 ]]:S1BS1 21K 10 10 #D" 21 21s5   FF!F3F8;G	
F!
F08
G	
Gc                 x    [        SSSSS9nUR                  S:X  d   e[        USS9nUR                  S:X  d   eg )Nrp   r0   rT   TEST)r   rG   rH   namezsomething else)r   )r   r   r   )r   idxidx2s      r   test_constructor_name(TestTimedeltaIndex.test_constructor_name   sF    HacOxx6!!! c(89yy,,,,rB   c                    Sn[         R                  " [        US9   [        S/SS9  S S S 5        Sn[         R                  " [        US9   [        R
                  " S/SS9  S S S 5        g ! , (       d  f       NI= f! , (       d  f       g = f)Nz with no precision is not allowedr   2000r|   r   z3The 'timedelta64' dtype has no unit. Please pass in)r#   r$   r3   r   rY   rr   r   s     r   $test_constructor_no_precision_raises7TestTimedeltaIndex.test_constructor_no_precision_raises   sh     1]]:S1F8=9 2 D]]:S1HHfX]3 21	 21 21s   A+A<+
A9<
B
c                     Sn[         R                  " [        US9   [        S/SS9  S S S 5        [        S/SS9nUR                  S:X  d   eg ! , (       d  f       N,= f)Nz;Supported timedelta64 resolutions are 's', 'ms', 'us', 'ns'r   r   ztimedelta64[D]r   ztimedelta64[us]zm8[us])r#   r$   r3   r   r   )r   r   r?   s      r   'test_constructor_wrong_precision_raises:TestTimedeltaIndex.test_constructor_wrong_precision_raises   sS    K]]:S1F8+;< 2 fX->?yyH$$$ 21s   A
Ac                 J   [        SSS9nUR                  c   e[        US S9nUR                  b   e[        UR                  S S9nUR                  b   eSn[        R
                  " [        US9   [        US S9nS S S 5        WR                  b   eg ! , (       d  f       N= f)Nr0   rz   rX   rJ   rS   r   )r   rH   r   r<   r   r   r   r	   )r   r?   rN   r   tdas        r   test_explicit_none_freq*TestTimedeltaIndex.test_explicit_none_freq	  s    a+xx###$/{{"""		5{{"""5''SA 40C Bxx BAs   1B
B"c                     [        SSS9n[        R                  " U5      n[        U5      n[        R
                  " X15        [        R                  " U5      n[        U5      n[        R
                  " X15        g )Nr0   rz   rX   )r   rY   Categoricalr   r   rd   CategoricalIndex)r   r?   catrN   cis        r   test_from_categorical(TestTimedeltaIndex.test_from_categorical  s\    a+nnS!$
f*  %#
f*rB    N)__name__
__module____qualname____firstlineno__r   r)   r#   markparametrizer5   r@   rO   rU   r^   rh   rm   rs   filterwarningsr   r   r   r   r   r   r   r   r   __static_attributes__r   rB   r   r   r      s    , [[V_50 60.D44, -"-V [[P#0#0J0((2T-	4%  
+rB   r   )datetimer   numpyr   r#   pandasrY   r   r   r   r   pandas._testing_testingr   pandas.core.arrays.timedeltasr	   r   r   rB   r   <module>r      s/          8R+ R+rB   