
    I j"                         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
  S SKJr   " S S5      r " S S5      r " S S	5      rg)
    N)Pandas4Warning)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     ~/root/GenerationalWealth/GenerationalWealth/venv/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_many4   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 an integer, got foor   r#   foo)r   r&   )r   r   	TypeErrorr   r   s     r   test_periods_requires_integer5TestPeriodRangeKeywords.test_periods_requires_integerI   s+    3]]9C0x7 100s   0
> N)__name__
__module____qualname____firstlineno__r   r    r'   r.   r2   r7   __static_attributes__r9       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	)
TestPeriodRangeP   zfreq_offset, freq_period))r   r   )WrC   )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%   r5   r   r&   r-   namer   r   r$   r-   rJ   r$   r&   r-   rJ   r-   rJ   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_stringQ   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 )NrH   r%   MEr5   rI   r   rK   MrL   rM   rN   rO   )r   rV   r   r$   rW   s        r   %test_construction_from_string_monthly5TestPeriodRange.test_construction_from_string_monthlyv   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-31r[   r5   rL   r\   z2017-1z2019-12z
2017-01-31z
2019-12-31rD   )TTTTTrC   rN   r   rI   rM   )r   r   rP   r   rR   rS   valuesnparrayassert_numpy_array_equalr   )r   r   r$   rV   rW   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S5      n[        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U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       NT= f! , (       d  f       N]= f! , (       d  f       g = f)
Nz#Period with BDay freq is deprecatedz
2006-12-311Wr   r   r   z
2005-05-01z!start and end must have same freqr1   )r   rR   assert_produces_warningFutureWarningr   r   r   r   )r   depr_msgend_wstart_bend_br   s         r   %test_mismatched_start_end_freq_raises5TestPeriodRange.test_mismatched_start_end_freq_raises   s    8|T*''XF]C0G<-E G 2]]:S1++MJ76 K 2
 ''XFwE2 GF GF KJ 21
 GFs;   C$C(>C	C(2C9
C
C%	!C((
C69
Dr9   N)r:   r;   r<   r=   r   markparametrizerX   r]   re   ro   r>   r9   r?   r   rA   rA   P   s;    [["	
00808$0L3r?   rA   c                   8   \ 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
\R                  R                  SS/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   /
=	freq_depr)2MIN2US2NSc                     SUSS   SUR                  5       SS   S3n[        R                  " [        US9   [	        SSUS9  S S S 5        g ! , (       d  f       g = f)	N'   E' is deprecated and will be removed in a future version, please use '
' instead.r   z2020-01-01 00:00:00 00:00   rx   )lowerrR   ri   r   r   )r   r{   r   s      r   /test_uppercase_freq_deprecated_from_time_seriesNTestPeriodRangeDisallowedFreqs.test_uppercase_freq_deprecated_from_time_series   sc     	!" ++4??+<QR+@*AM 	
 ''cB4aiP CBB   A
Ar-   )2mz2q-sep2y2H2Sc                     SU 3n[         R                  " [        US9   [        USSS9  S S S 5        g ! , (       d  f       g = fNzInvalid frequency: r   1/1/2001	12/1/2009r-   r   r$   r   r   r-   r   s      r   0test_incorrect_case_freq_from_time_series_raisesOTestPeriodRangeDisallowedFreqs.test_incorrect_case_freq_from_time_series_raises   s6     $D6*]]:S1d*+F 211	   4
A)2A2az2A-AUGz2A-augc                     SU 3n[         R                  " [        US9   [        USSS9  S S S 5        g ! , (       d  f       g = fr   r   r   s      r   test_A_raises_from_time_series=TestPeriodRangeDisallowedFreqs.test_A_raises_from_time_series   s4    #D6*]]:S1d*+F 211r   2wc                     SUSS   SUR                  5       SS   S3n[        R                  " [        US9   [	        USSS9  S S S 5        g ! , (       d  f       g = f)	Nr   r   r   r   r   r   r   r   )upperrR   ri   r   r   r   s      r   /test_lowercase_freq_from_time_series_deprecatedNTestPeriodRangeDisallowedFreqs.test_lowercase_freq_from_time_series_deprecated   sa     QRz ++/::<+;*<JH 	
 ''cBd*+F CBBr   r9   N)r:   r;   r<   r=   ry   r   rq   rr   r   r   r   r   r>   r9   r?   r   rt   rt      s    <
 [[[*@AQ BQ [[V%GHG IG [[V%EFG GG [[VdV,G -Gr?   rt   )numpyra   r   pandas.errorsr   pandasr   r   r   r   r   pandas._testing_testingrR   r
   rA   rt   r9   r?   r   <module>r      sA      (  =8 =8@w3 w3t)G )Gr?   