
    Mh5                         S SK Jr  S SKrS SKrS SKJr  S SKJrJ	r	J
r
JrJrJrJrJr  S SKJr  S SKJr  \R*                  " SS/S9S 5       r " S	 S
5      rg)    )	timedeltaN)
is_integer)
DateOffsetIntervalIntervalIndex	Timedelta	Timestamp
date_rangeinterval_rangetimedelta_range)Dayfoo)paramsc                     U R                   $ )N)param)requests    c/var/www/html/env/lib/python3.13/site-packages/pandas/tests/indexes/interval/test_interval_range.pynamer      s    ==    c                      \ rS rSr\R
                  R                  S/ SQ5      S 5       r\R
                  R                  SSS/5      \R
                  R                  S/ SQ5      S	 5       5       r\R
                  R                  S/ S
Q5      S 5       r	\R
                  R                  SSSS\
" S5      \
" S5      S\
" S5      4\" S5      \" S5      S\" S5      4\" SSS9\" SSS9S\" SSS94/5      S 5       r\R
                  R                  S/ SQ5      S 5       r\R
                  R                  S \" S!SS9\" S"SS9\" S#SS94\" S$SS9\" S%SS9\" S&SS94/5      S' 5       r\R
                  R                  S(S)S*/5      \R
                  R                  S+S,S-/5      \R
                  R                  S.S/S0/5      S1 5       5       5       rS2 rS3 rS4 rS5 rS6rg)7TestIntervalRange   zfreq, periods))   d   )      @(   )      )      c                 h   Su  pV[         R                  " SUS9n[        R                  " XrUS9n[	        XVX2US9n	[
        R                  " X5        [	        XTX2US9n	[
        R                  " X5        [	        XdX2US9n	[
        R                  " X5        [	        XVXBUS9n	[
        R                  " X5        g )	N)r   r   e   )stepr   closedstartendfreqr   r%   r'   periodsr)   r   r%   r(   r+   r)   r   r%   r'   r(   r+   r   r%   )nparanger   from_breaksr   tmassert_index_equal
selfr%   r   r)   r+   r'   r(   breaksexpectedresults
             r   test_constructor_numeric*TestIntervalRange.test_constructor_numeric   s    
3T* ,,VvN  tv
 	f/  tv
 	f/  46
 	f/  'V
 	f/r   tzN
US/Eastern))Dil  )2D   )22D18h   )ME   c                    [        SUS9[        SUS9pv[        XgUS9n[        R                  " XUS9n	[	        XgX2US9n
[
        R                  " X5        [	        XdX2US9n
[
        R                  " X5        [	        XtX2US9n
[
        R                  " X5        UR                  R                  S	:X  d&  Uc"  [	        XgXBUS
9n
[
        R                  " X5        g g g )N20180101r:   20181231r'   r(   r)   r$   r&   r*   r,   r   r-   )	r	   r
   r   r0   r   r1   r2   r)   n)r4   r%   r   r)   r+   r:   r'   r(   r5   r6   r7   s              r   test_constructor_timestamp,TestIntervalRange.test_constructor_timestamp;   s    
 zb19ZB3Os%t< ,,VvN  tv
 	f/  tv
 	f/  46
 	f/ {{}}!bj#gF !!&3	 '1!r   ))r<   r   )2D12hr   )5Dr   )25Dr    c                 t   [        S5      [        S5      pe[        XVUS9n[        R                  " XrUS9n[	        XVX2US9n	[
        R                  " X5        [	        XTX2US9n	[
        R                  " X5        [	        XdX2US9n	[
        R                  " X5        [	        XVXBUS9n	[
        R                  " X5        g )	Nz0 daysz100 daysrG   r$   r&   r*   r,   r-   )r   r   r   r0   r   r1   r2   r3   s
             r   test_constructor_timedelta,TestIntervalRange.test_constructor_timedelta]   s     x()J*?s uDA ,,VvN  tv
 	f/  tv
 	f/  46
 	f/  'V
 	f/r   z#start, end, freq, expected_endpoint)r   
      	   )r   rQ         ?rS   )      ?rQ   rR   g      #@0D10D2D4h8D16hz
2018-01-01z
2018-02-09MSz
2018-02-01rE   z
2018-01-205D12hz2018-01-17 12:00:00c                 D    [        XUS9nUR                  S   nXd:X  d   eg )NrG   )r   right)r4   r'   r(   r)   expected_endpointr7   result_endpoints          r   test_early_truncation'TestIntervalRange.test_early_truncation}   s*    .  e4@ ,,r*333r   zstart, end, freq))rU   NN)N      @N)rU   NrT   )N      @rT   c                     Uc  / SQnO/ SQn[         R                  " U5      n[        XSUS9n[        R                  " Xe5        g )N)rU   rT   r         @rc   )rU          @rf   g      @rd   r    r'   r(   r+   r)   )r   r0   r   r1   r2   )r4   r'   r(   r)   r5   r6   r7   s          r    test_no_invalid_float_truncation2TestIntervalRange.test_no_invalid_float_truncation   s?     <.F.F ,,V4eadK
f/r   zstart, mid, endz
2018-03-10z2018-03-10 23:30:00z
2018-03-12z
2018-11-03z2018-11-04 00:30:00z
2018-11-05c                     UR                  S5      nUR                  S5      nUR                  S5      n[        XSS9n[        R                  " XU/5      n[        R
                  " XE5        g )Nns   r'   r(   r+   )as_unitr   r   r0   r1   r2   )r4   r'   midr(   r7   r6   s         r   test_linspace_dst_transition.TestIntervalRange.test_linspace_dst_transition   s]    $ d#kk$kk$ea@ ,,e#->?
f/r   r)   rm   rg   r(   rQ   g      $@r'   r   g        c                    [        XUS9nUR                  R                  n[        X-   U-   5      (       a  SOSnXV:X  d   e[        USUS9nUR                  R                  n[        X-   5      (       a  SOSnXV:X  d   e[        USUS9nUR                  R                  n[        X#-   5      (       a  SOSnXV:X  d   e[        XSS9nUR                  R                  n[        X-   5      (       a  SOSnXV:X  d   eg )NrG   int64float64r   r'   r+   r)   r(   r+   r)   rn   )r   dtypesubtyper   )r4   r'   r(   r)   indexr7   r6   s          r   test_float_subtype$TestIntervalRange.test_float_subtype   s     U$?$$(t);<<7)!!! UADA$$(667I!!! 3=$$(447)!!! UQ?$$(5579!!!r   c                     [        SSS9nSn[        R                  " [        US9   [        SSS9nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)Nr   rQ   r'   r+   z<Non-integer 'periods' in pd.date_range, .* pd.interval_rangematchg      %@)r   r1   assert_produces_warningFutureWarningr2   )r4   r6   msgr7   s       r   %test_interval_range_fractional_period7TestIntervalRange.test_interval_range_fractional_period   sO    !26L''SA#!T:F B
fh/ BAs   A
Ac                 X   [        S5      [        S5      p![        XS9n[        UR                  5       UR                  5       S9n[        R                  " XC5        [        UR
                  UR
                  S9n[        R                  " XC5        S[        5       [        SS9[        SS9[        SS9/nU H#  n[        XUS9n[        R                  " XC5        M%     [        SS9[        SS9p![        XS9n[        UR                  5       UR                  5       S9n[        R                  " XC5        [        UR
                  UR
                  S9n[        R                  " XC5        S[        5       [        SS9[        SS9/nU H#  n[        XUS9n[        R                  " XC5        M%     g )	N
2017-01-01z
2017-01-15r'   r(   r<   r   )daysrG   rQ   )r	   r   to_pydatetimer1   r2   asm8r   r   r   r   to_pytimedelta)r4   r'   r(   r6   r7   
equiv_freqr)   s          r   test_constructor_coverage+TestIntervalRange.test_constructor_coverage   se   |,i.Es!7e&9&9&;ARARATU
f/ejjchh?
f/ E11A

 D#%tDF!!&3 
 A&	r(:s!7e&:&:&<#BTBTBVW
f/ejjchh?
f/ 35)"3YA5FG
D#%tDF!!&3 r   c                    Sn[         R                  " [        US9   [        SS9  S S S 5        [         R                  " [        US9   [        SS9  S S S 5        [         R                  " [        US9   [        SS9  S S S 5        [         R                  " [        US9   [        5         S S S 5        [         R                  " [        US9   [        SSS	S
S9  S S S 5        Sn[         R                  " [        US9   [        S[        S5      SS9  S S S 5        [         R                  " [        US9   [        S[        S5      SS9  S S S 5        [         R                  " [        US9   [        SSSS9  S S S 5        [         R                  " [        US9   [        [        S5      SSS9  S S S 5        [         R                  " [        US9   [        [        S5      [        S5      SS9  S S S 5        [         R                  " [        US9   [        [        S5      [        S5      SS9  S S S 5        [         R                  " [        US9   [        [        S5      SSS9  S S S 5        [         R                  " [        US9   [        [        S5      [        S5      SS9  S S S 5        [         R                  " [        US9   [        [        S5      [        S5      SS9  S S S 5        Sn[         R                  " [        US9   [        SSS9  S S S 5        Sn[         R                  " [        US9   [        SSS9  S S S 5        Sn[         R                  " [        US9   [        [        SS5      SS9  S S S 5        Sn[         R                  " [        US9   [        SSSS9  S S S 5        [         R                  " [        US9   [        [        S5      SSS9  S S S 5        [         R                  " [        US9   [        [        S5      SSS9  S S S 5        [        SSS 9n[        S!S"S 9nS#n[         R                  " [        US9   [        X#S$9  S S S 5        g ! , (       d  f       GN3= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNf= f! , (       d  f       GNB= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNj= f! , (       d  f       GNN= f! , (       d  f       GN2= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       g = f)%NzVOf the four parameters: start, end, periods, and freq, exactly three must be specifiedr   r   )r'   r   )r(   rm   )r+      rT   rh   z+start, end, freq need to be type compatible20130101rG   z1 dayrQ   r<   20130110z10 daysz!periods must be a number, got foor   r~   z/start must be numeric or datetime-like, got fooz2end must be numeric or datetime-like, got \(0, 1\]r   )r(   r+   z:freq must be numeric or convertible to DateOffset, got foorv   rw   r   r;   rE   z
2017-01-07z
US/Pacificz>Start and end cannot both be tz-aware with different timezonesr   )pytestraises
ValueErrorr   	TypeErrorr	   r   r   )r4   r   r'   r(   s       r   test_errorsTestIntervalRange.test_errors  s   . 	
 ]]:S1# 2 ]]:S1q! 2 ]]:S11% 2 ]]:S1 2 ]]:S113? 2 <]]9C0	*(=AF 1 ]]9C0	'(:C 1 ]]9C05 1 ]]9C0:!6BSI 1 ]]9C0
+71C# 1
 ]]9C0
+:1FQ 1
 ]]9C07!3#F 1 ]]9C0(i
.C# 1
 ]]9C07!399MTUV 1 2]]9C0E2 1 @]]:S13 2 D]]:S1x1~r: 2 K]]:S17 2 ]]:S1:!6O 2 ]]:S1y12EJ 2 ,<86N]]9C00 10c 21 21 21 21 21
 10 10 10 10 10
 10
 10 10
 10
 10
 21
 21
 21 21 21 10s   
Q
Q$2
Q6R	R9R,/R>%SS"S4TT<T*;T<<U*U U2V=V3V(?
V:
Q!$
Q36
R
R
R),
R;>
S
S"
S14
T
T
T'*
T9<
U
U 
U/2
V
V
V%(
V7:
Wc                 .   [        SSSS9n[        R                  " [        S5       Vs/ s H  nSSU-  -   PM     sn5      n[        R
                  " X5        [        SSSS9n[        R                  " SS/5      n[        R
                  " X5        g s  snf )Nr   r   g?)r)   rB   g333333?)r   r   r0   ranger1   r2   )r4   r7   rH   r6   s       r   test_float_freq!TestIntervalRange.test_float_freqi  s    13/ ,,59-M9aa#'k9-MN
f/13/ ,,aX6
f/ .Ns   B )__name__
__module____qualname____firstlineno__r   markparametrizer8   rI   rO   r   r	   ra   ri   rq   r{   r   r   r   r   __static_attributes__r   r   r   r   r      sH   [[_.UV0 W0: [[TD,#78[[N4 94< [[L00: [[-t_i.	'8JK,',','	 ,<8,<8/LA		
*4+*4 [[R	0		0 [[ ,<8/LA,<8 ,<8/LA,<8	
00 [[VaX.[[URJ/[[Wq#h/" 0 0 /"80%4NY1v0r   r   )datetimer   numpyr.   r   pandas.core.dtypes.commonr   pandasr   r   r   r   r	   r
   r   r   pandas._testing_testingr1   pandas.tseries.offsetsr   fixturer   r   r   r   r   <module>r      sU       0	 	 	  & e}% &U0 U0r   