
    Mh#                     x    S SK rS SKrS SKJrJrJrJrJr  S SK	J
r   " S S5      r " S S5      r " S S5      rg)	    N)NaTPeriodPeriodIndex
date_rangeperiod_rangec                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestPeriodRangeKeywords   c                     Sn[         R                  " [        US9   [        SSS5        S S S 5        g ! , (       d  f       g = f)NOOf the three parameters: start, end, and periods, exactly two must be specifiedmatchz2011-1-1z2012-1-1Bpytestraises
ValueErrorr   selfmsgs     _/var/www/html/env/lib/python3.13/site-packages/pandas/tests/indexes/period/test_period_range.pytest_required_arguments/TestPeriodRangeKeywords.test_required_arguments   s4      	 ]]:S1Z5 211s	   3
Ac                     [        SS5      nSn[        R                  " [        US9   [	        US9  S S S 5        g ! , (       d  f       g = f)N02-Apr-2005Dr   r   start)r   r   r   r   r   )r   r   r   s      r   test_required_arguments20TestPeriodRangeKeywords.test_required_arguments2   s<    }c*  	 ]]:S1u% 211s	   
;
A	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        g ! , (       d  f       N= f! , (       d  f       Nw= f! , (       d  f       N]= f! , (       d  f       g = f)Nr   r   2017Q1r   )end   )periodsr   r   s     r   test_required_arguments30TestPeriodRangeKeywords.test_required_arguments3    s    , 	 ]]:S1x( 2 ]]:S1X& 2 ]]:S1# 2 ]]:S1N 21 21 21 21 21s/   
B1
C2
CC$1
B?
C
C!$
C2c                     Sn[         R                  " [        US9   [        SSSSS9  S S S 5        g ! , (       d  f       g = f)Nr   r   r"   2018Q1   Q)r   r#   r%   freqr   r   s     r    test_required_arguments_too_many8TestPeriodRangeKeywords.test_required_arguments_too_many2   s6    , 	 ]]:S1xXqsK 211s	   2
A c                    Sn[         R                  " [        US9   [        [        SS9  S S S 5        [         R                  " [        US9   [        [        SSS9  S S S 5        [         R                  " [        US9   [        S[        S9  S S S 5        [         R                  " [        US9   [        S[        SS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nb= f! , (       d  f       g = f)Nzstart and end must not be NaTr   r)   r   r#   r+   )r   r#   r,   r"   )r   r   r   r   r   r   s     r   test_start_end_non_nat.TestPeriodRangeKeywords.test_start_end_non_nat:   s    -]]:S1s1 2]]:S1ss; 2 ]]:S1xS1 2]]:S1xSs; 21 2111 2111s/   CC=C(-C9
C
C%(
C69
Dc                     Sn[         R                  " [        US9   [        SSS9  S S S 5        g ! , (       d  f       g = f)Nz!periods must be a number, got foor   r"   foo)r   r%   )r   r   	TypeErrorr   r   s     r   test_periods_requires_integer5TestPeriodRangeKeywords.test_periods_requires_integerG   s+    1]]9C0x7 100s   0
> N)__name__
__module____qualname____firstlineno__r   r   r&   r-   r1   r6   __static_attributes__r8       r   r	   r	      s!    6&$L<8r>   r	   c                   n    \ rS rSr\R
                  R                  S/ SQ5      S 5       rS rS r	S r
Srg	)
TestPeriodRangeN   zfreq_offset, freq_period))r   r   )WrB   )QEr+   )YEYc                    [        SSUSS9R                  5       n[        US   5      [        US   5      pT[        XEUSS9n[        R
                  " Xc5        [        USUSS9n[        R
                  " Xc5        [        USUSS9n[        R
                  " Xc5        [        / USS	9n[        USUSS9n[        R
                  " Xc5        [        USUSS9n[        R
                  " Xc5        [        XTUSS9n[        R
                  " Xc5        g )
N
2017-01-01r$   r4   r   r%   r,   namer   r   r#   r,   rI   r#   r%   r,   rI   r,   rI   r   	to_periodstrr   tmassert_index_equalr   )r   freq_offsetfreq_periodexpectedr   r#   results          r   test_construction_from_string-TestPeriodRange.test_construction_from_stringO   s     %

)+ 	 !%s8B<'8sE5Q
f/E1;US
f/#q{O
f/ r%@E1;US
f/#q{O
f/C5Q
f/r>   c                    [        SSSSS9R                  5       n[        US   5      [        US   5      p2[        X#SSS	9n[        R
                  " XA5        [        USSSS9n[        R
                  " XA5        [        USSSS
9n[        R
                  " XA5        [        / SSS9n[        USSSS9n[        R
                  " XA5        [        USSSS
9n[        R
                  " XA5        [        X2SSS	9n[        R
                  " XA5        g )NrG   r$   MEr4   rH   r   rJ   MrK   rL   rM   rN   )r   rU   r   r#   rV   s        r   %test_construction_from_string_monthly5TestPeriodRange.test_construction_from_string_monthlyt   s    5

)+ 	 !%s8B<'8sE5I
f/E13UK
f/#qsG
f/ r%8E13UK
f/#qsG
f/C5I
f/r>   c                    [        SSS9[        SSS9p![        SSSSS	9R                  5       n[        XS
SS	9n[        R
                  " XC5        [        SS
S9n[        SS
S9n[        SSSSS	9R                  5       n[        XSSS	9n[        R
                  " XC5        [        SSS9n[        SSS9n[        XSSS	9nXUR                  :H  n[        R                  " / SQ5      n[        R                  " XC5        [        / SSS9n[        USSSS9n[        R
                  " XC5        [        USSSS9n[        R
                  " XC5        [        X!SSS	9n[        R
                  " XC5        g )Nr"   r+   )r,   r)   z
2017-03-31z
2018-03-31rZ   r4   rK   r[   z2017-1z2019-12z
2017-01-31z
2019-12-31rC   )TTTTTrB   rM   r   rH   rL   )r   r   rO   r   rQ   rR   valuesnparrayassert_numpy_array_equalr   )r   r   r#   rU   rV   idxs         r   test_construction_from_period-TestPeriodRange.test_construction_from_period   s`   H3/s1KsLt%

)+ 	 E5I
f/ xc*YS)Lt%

)+ 	 E5I
f/ xc*XC(cF

"88:;
##F5 r%8E13UK
f/#qsG
f/C5I
f/r>   c                 ~   SnSn[         R                  " [        US9   [        SS5      nS S S 5        [         R                  " [        US9   [        SS5      n[        SS5      nS S S 5        S	n[        R
                  " [        US9   [         R                  " [        US9   [        WWS
9  S S S 5        S S S 5        [         R                  " [        US9   [        WWS
9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ne= f! , (       d  f       Nn= f! , (       d  f       g = f)Nz#Period with BDay freq is deprecatedz:'w' is deprecated and will be removed in a future version.r   z
2006-12-311wr   r   z
2005-05-01z!start and end must have same freqr0   )rQ   assert_produces_warningFutureWarningr   r   r   r   r   )r   depr_msgr   end_wstart_bend_bs         r   %test_mismatched_start_end_freq_raises5TestPeriodRange.test_mismatched_start_end_freq_raises   s    8J''SA<.E B ''XF]C0G<-E G 2]]:S1++MJ76 K 2
 ''XFwE2 GF BA GF KJ 21
 GFsG   C*C;D"D-DD.*
C8;
D	
D	D
D+.
D<r8   N)r9   r:   r;   r<   r   markparametrizerW   r\   rd   rn   r=   r8   r>   r   r@   r@   N   s;    [["	
00808$0L3r>   r@   c                       \ rS rSrS r\R                  R                  S/ SQ5      S 5       r\R                  R                  S/ SQ5      S 5       r	\R                  R                  S/ S	Q5      S
 5       r
Srg)TestPeriodRangeDisallowedFreqs   c                     [         R                  " [        SS9   [        SSSS9  S S S 5        g ! , (       d  f       g = f)NzInvalid frequency: Xr   z2007-1-1i  Xr%   r,   r   )r   s    r   test_constructor_U1TestPeriodRangeDisallowedFreqs.test_constructor_U   s*    ]]:-CDSs; EDDs   /
=zfreq,freq_depr))2Y2A)rz   2a)2Y-AUGz2A-AUG)r}   z2A-augc                     SUSS   S3nSUSS   S3  [         R                  " [        US9   [        USSS	9  S S S 5        g ! , (       d  f       g = f
N'   )' is deprecated and will be removed in a future version. Please use '
' instead.r   z1/1/2001z	12/1/2009)r,   r   r#   )rQ   rh   ri   r   )r   r,   	freq_deprr   s       r   "test_a_deprecated_from_time_seriesATestPeriodRangeDisallowedFreqs.test_a_deprecated_from_time_series   sT     )AB- IJ
&tABxj
;''SAiz{K BAAs   A
Ar   )2H2MIN2S2US2NSc                     SUSS   S3nSUR                  5       SS   S3  [        R                  " [        US9   [	        SSUS	9  S S S 5        g ! , (       d  f       g = f)
Nr   r   r   r   r   r   z2020-01-01 00:00:00 00:00   rw   )lowerrQ   rh   ri   r   r   r   r   s      r   /test_uppercase_freq_deprecated_from_time_seriesNTestPeriodRangeDisallowedFreqs.test_uppercase_freq_deprecated_from_time_series   s^     )AB- IJ
&y'8'<&=ZH''SA4aiP BAA   A
A)2mz2q-sep2y2wc                     SUSS   S3nSUR                  5       SS   S3  [        R                  " [        US9   [	        USSS	9  S S S 5        g ! , (       d  f       g = fr   )upperrQ   rh   ri   r   r   s      r   /test_lowercase_freq_deprecated_from_time_seriesNTestPeriodRangeDisallowedFreqs.test_lowercase_freq_deprecated_from_time_series   s]     )AB- IJ
&y'8'<&=ZH''SAiz{K BAAr   r8   N)r9   r:   r;   r<   rx   r   rp   rq   r   r   r   r=   r8   r>   r   rs   rs      s    <
 [[	
LL [[[*LMQ NQ [[[*FGL HLr>   rs   )numpyr`   r   pandasr   r   r   r   r   pandas._testing_testingrQ   r	   r@   rs   r8   r>   r   <module>r      s>       =8 =8@y3 y3x'L 'Lr>   