
    I je                         S SK rS SKrS SKJr  S SKJ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   " S S5      r " S	 S
5      r " S S5      r " S S5      r " S S5      rg)    N)IncompatibleFrequency)Pandas4Warning)PeriodDtype)IndexNaTPeriodPeriodIndexSeries
date_rangeoffsetsperiod_range)PeriodArrayc                      \ 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Q5      S 5       r
\R
                  R                  S5      \R
                  R                  S5      \R
                  R                  S/ SQ5      S 5       5       5       rSrg)TestPeriodIndexDisallowedFreqs   zfreq,freq_depr))2M2ME)2Q-MARz2QE-MAR)2Y-FEBz2YE-FEB)r   2me)r   z2qe-MAR)r   z2yE-febc                    SU 3n[         R                  " [        US9   [        SS/US9  S S S 5        [         R                  " [        US9   [	        SSUS9  S S S 5        g ! , (       d  f       N<= f! , (       d  f       g = f)NInvalid frequency: match
2020-01-01
2020-01-02freqstartendr   )pytestraises
ValueErrorr	   r   )selfr   	freq_deprmsgs       ~/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pandas/tests/indexes/period/test_constructors.py1test_period_index_offsets_frequency_error_messagePTestPeriodIndexDisallowedFreqs.test_period_index_offsets_frequency_error_message   sh     $I;/]]:S1|49E 2 ]]:S1|IN 21 21 21s   A"A3"
A03
Br   )2SME2sme2BYE2Bye2CBMEc                    SU 3n[         R                  " [        US9   [        SSUS9  S S S 5        [         R                  " [        US9   [	        SS/US9  S S S 5        g ! , (       d  f       N== f! , (       d  f       g = fNr   r   z2020-01z2020-05r   r"   r#   r$   r   r	   )r%   r   r'   s      r(   (test_period_index_frequency_invalid_freqGTestPeriodIndexDisallowedFreqs.test_period_index_frequency_invalid_freq-   sd     $D6*]]:S1ID9 2]]:S1I.T: 21 2111   A"A3"
A03
B)z2BQE-SEPz2BYE-MAR2BMEc                     SU 3n[        SSUS9n[        R                  " [        US9   UR	                  5         S S S 5        g ! , (       d  f       g = f)Nr   z01-Jan-2012   periodsr   r   )r   r"   r#   r$   	to_period)r%   r   r'   rngs       r(   2test_period_index_from_datetime_index_invalid_freqQTestPeriodIndexDisallowedFreqs.test_period_index_from_datetime_index_invalid_freq:   sA     $D6*=]]:S1MMO 211s   A
Ar&   )2T1l2Unc                    SU 3n[         R                  " [        US9   [        SSUS9  S S S 5        [         R                  " [        US9   [	        SS/US9  S S S 5        g ! , (       d  f       N== f! , (       d  f       g = fr1   r2   )r%   r&   r'   s      r(    test_period_index_T_L_U_N_raises?TestPeriodIndexDisallowedFreqs.test_period_index_T_L_U_N_raisesC   sd     $I;/]]:S1II> 2]]:S1I.Y? 21 2111r5   3ignore:PeriodDtype\[B\] is deprecated:FutureWarningz*ignore:Period with BDay freq:FutureWarning))2W2w)z2W-FRIz2w-fri)2D2d)2B2bc                    SUSS   S3n[         R                  " [        USS9   [        SS/US9nS S S 5        [        SS/US9n[         R                  " WU5        [         R                  " [        USS9   [        SSUS	9nS S S 5        [        SSUS	9n[         R                  " XE5        g ! , (       d  f       N= f! , (       d  f       NA= f)
N'   z8' is deprecated and will be removed in a future version.F)r   raise_on_extra_warningsr   r   r   r   )tmassert_produces_warningr   r	   assert_index_equalr   )r%   r   r&   r'   resultexpecteds         r(   *test_period_index_depr_lowercase_frequencyITestPeriodIndexDisallowedFreqs.test_period_index_depr_lowercase_frequencyM   s     	!"VW 	 ''#u
 !,!=INF

 l;$G
fh/''#u
 ",YWF

  l4P
f/
 

 
s   B,6B=,
B:=
C N)__name__
__module____qualname____firstlineno__r"   markparametrizer)   r3   r=   rD   filterwarningsrV   __static_attributes__rX       r(   r   r      s   [[	

O
O [[1;	; [[V%EF G [[[*AB@ C@ [[ VW[[ LM[[H0	 N X0ra   r   c                   b   \ rS rSrS rS rS r\R                  R                  S\
\R                  \\R                  /5      S 5       rS rS rS	 rS
 rS 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\R                  R                  SSS/\R                  " SS/5      /5      S 5       r S r!S r"\R                  R                  S/ SQ5      \R                  R                  S / S!Q5      S" 5       5       r#\R                  R                  S / S!Q5      S# 5       r$S$ r%S% r&S& r'S' r(\R                  R                  S(/ S)Q5      \R                  RS                  S*5      \R                  RS                  S+5      S, 5       5       5       r*S- r+S.r,g/)0TestPeriodIndexj   c                     [        SSS9  [        SSS9  [        R                  " / SQSS9n[        R                  " [        R                  " / SQ5      SS9n[
        R                  " X5        g )NiYordinalr   r   )r   rO   )ordinalsr   )r   r	   from_ordinalsnparrayrQ   rS   )r%   idx1idx2s      r(   test_from_ordinals"TestPeriodIndex.test_from_ordinalsk   sQ    u3'qs#((*3G(("((:2FSQ
d)ra   c                    [        SSS9[        [        SSS9/n[        R                  " [	        U5      [        U5      5        [        R                  " [	        [        R                  " U5      5      [        [        R                  " U5      5      5        [        R                  [        [        SSS9/n[        R                  " [	        U5      [        U5      5        [        R                  " [	        [        R                  " U5      5      [        [        R                  " U5      5      5        [        SSS9[        [        SSS9/n[        R                  " [	        U5      [	        U[        S95        [        R                  " [	        [        R                  " U5      5      [	        [        R                  " U5      [        S95        g )N2011-01Mr   2011-03Ddtype)
r   r   rQ   rS   r   r	   rl   rm   nanobject)r%   arrs     r(   "test_construction_base_constructor2TestPeriodIndex.test_construction_base_constructors   s   ic*C	1LM
eCj+c*:;
eBHHSM2K4NOvvsF9378
eCj+c*:;
eBHHSM2K4NOic*C	1LM
eCj%6*BC
eBHHSM2E"((3-v4VWra   c                 r    [        S5      n/ SQn[        X!S9n[        X!S9n[        R                  " X45        g )Nrv   )
2011-01-01z
2012-03-04z
2014-05-01rw   )r   r   r	   rQ   rS   )r%   rx   valuesrT   rU   s        r(   'test_base_constructor_with_period_dtype7TestPeriodIndex.test_base_constructor_with_period_dtype   s3    C ;v+v3
f/ra   values_constructorc                     [        SSS9[        [        SSS9/nU" U5      n[        U[        S9n[	        U5      [        L d   e[
        R                  " UR                  [        R                  " U5      5        g )Nrs   rt   r   ru   rw   )
r   r   r   rz   typerQ   assert_numpy_array_equalr   rl   rm   )r%   r   r:   r   rT   s        r(   test_index_object_dtype'TestPeriodIndex.test_index_object_dtype   si     93'93'

 $G,vV,F|u$$$
##FMM288F3CDra   c                    Sn[         R                  " [        US9   [        SSS9nS S S 5        Sn[         R                  " [        US9   [	        SSSS9nS S S 5        [         R                  " [        US9   [	        WSS	9nS S S 5        [         R
                  " WW5        g ! , (       d  f       N= f! , (       d  f       Nc= f! , (       d  f       NH= f)
N#Period with BDay freq is deprecatedr   z4/2/2012Br   PeriodDtype\[B\] is deprecated
   r    r:   r   r    r:   )rQ   rR   FutureWarningr   r   rS   )r%   msg1pmsg2rU   indexs         r(   test_constructor_use_start_freq/TestPeriodIndex.test_constructor_use_start_freq   s    4''TBz,A C0''TB#*bsKH C ''TB q"5E C
eX. CB CB CBs#   B"
B37C"
B03
C
Cc                    [         R                  " SS5      R                  S5      SS n[         R                  " [         R                  " SS5      S5      SS n[        R
                  " XS	S
9n[        SSS	S9n[        R                  " X45        [        R
                  " XSS
9n[        R                  " UR                  UR                  5        [        R
                  " XS9n[        R                  " X45        / SQnSS/nSn[        R                  " [        US9   [        R
                  " XSS9  S S S 5        [        R                  " [        US9   [        R
                  " XSS9  S S S 5        / SQn/ SQn[        R
                  " XSS9n[        SSSS9n	[        R                  " X5        g ! , (       d  f       N= f! , (       d  f       N^= f)Ni  i        rO         Q-DECyearquarterr   1990Q32009Q2r   z2Q-DECr   r   )  r   r   zMismatched Period array lengthsr   rt   )r   monthr   r   )rO   r      2007-01r   r9   )rl   arangerepeattiler	   from_fieldsr   rQ   rS   r   asi8r"   r#   r$   )
r%   yearsquartersr   rU   index2monthsr'   idxexps
             r(   test_constructor_field_arrays-TestPeriodIndex.test_constructor_field_arrays   s`    		$%,,Q/"577299Q?B/"5''U7S(A
e.((eHU
##EJJ<''UE
e."Q/]]:S1##3G 2]]:S1##4H 2 #%%5SI9ac:
c' 2111s   F0G0
F>
Gc           
          [        [        SSS9[        SSS9SS9n[        [        SSS9[        SSS9[        SSS9[        SSS9/SS9n[        R                  " X5        g )	NrO   nsrg   r   r   r   r   r   )r   r   r	   rQ   rS   r%   r   r   s      r(   test_constructor_nano%TestPeriodIndex.test_constructor_nano   sq    .qt,

 qt,qt,qt,qt,	 
 	c'ra   c                    [         R                  " SS[         R                  S9R                  S5      n[         R                  " [         R
                  " / SQ[         R                  S9S5      n[        R                  " XS9n[        R                  " UR                  [        U5      5        [        R                  " UR                  [        U5      5        g )Ni    rw   r   )rO   r   r   r   (   r   )rl   r   int64r   r   rm   r	   r   rQ   rS   r   r   r   )r%   r   r   pindexs       r(   %test_constructor_arrays_negative_year5TestPeriodIndex.test_constructor_arrays_negative_year   s    		$BHH5<<Q?77288LA2F((eF
fkk5<8
fnneHo>ra   c           	          Sn[         R                  " [        US9   [        R                  " [        SS5      [        [        S5      5      SS9  S S S 5        g ! , (       d  f       g = f)NzQuarter must be 1 <= q <= 4r   r   i  r   r   r   )r"   r#   r$   r	   r   rangelistr%   r'   s     r(   !test_constructor_invalid_quarters1TestPeriodIndex.test_constructor_invalid_quarters   sE    +]]:S1##4&U1XW 211s   3A
A&c                     Sn[         R                  " [        US9   [        SSSS9  S S S 5        g ! , (       d  f       g = f)Nz$periods must be an integer, got 10.5r   r   g      %@rt   r9   )r"   r#   	TypeErrorr   r   s     r(   #test_period_range_fractional_period3TestPeriodIndex.test_period_range_fractional_period   s-    4]]9C0Ds; 100   1
?c                     [        SSS9n[        USUR                  S9n[        USS9n[        R                  " X#5        g )Nz2002-01-01 00:0030minr   r   r   r   )r   r   r   rQ   rS   )r%   r    r   rT   s       r(   "test_constructor_with_without_freq2TestPeriodIndex.test_constructor_with_without_freq   s;    )8

CE15
c*ra   c                    [        SSSS9n[        R                  " [        UR                  5      U5        [        R                  " [        [        UR                  5      5      U5        Sn[        R                  " [        US9   [        UR                  5        S S S 5        [        R                  " [        US9   [        [        UR                  5      5        S S S 5        Sn[        R                  " [        US9   [        [        SS	S
9S9  S S S 5        [        [        U5      5      n[        R                  " X15        [        U5      n[        R                  " X15        [        USS
9n[        R                  " X15        [        U[        R                  " 5       S
9n[        R                  " X15        UR                  S:X  d   e[        USS
9n[        R                  " X1R!                  S5      5        UR                  S:X  d   e[        U[        R                  " S5      S
9n[        R                  " X1R!                  S5      5        UR                  S:X  d   e[        USS
9nUR!                  SS5      n[        R                  " X45        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f)Nr   r   rt   r9   z)freq not specified and cannot be inferredr   z'Period' object is not iterable2007rf   r   )dataMEr   r   r   rv   e)r   rQ   rS   r	   r   r   r"   r#   r$   r   r   r   iterr   MonthEndr   asfreq)r%   r   r'   rT   r   s        r(   test_constructor_fromarraylike.TestPeriodIndex.test_constructor_fromarraylike   s   9bs; 	k#**5s;
k$szz*:;SA9]]:S1! 2]]:S1SXX' 2 0]]9C0VF56 1 T#Y'
f*S!
f*Ss+
f*Sw'7'7'9:
f*{{d"""St,
fjj&67{{e###Sw'7'7':;
fjj&67{{e###Ss+jjc"
f*A 2111 10s$   J;J"=J4
J"
J14
Kc                 
   [         R                  " SSS[         R                  S9nUR                  [         R                  " S5      5      n[        USS9n[        UR                  S5      SS9n[        R                  " X#5        g )	Ni i d   rw   zM8[us]rv   r   zM8[ns])	rl   r   r   viewrx   r	   astyperQ   rS   )r%   valspirU   s       r(   test_constructor_datetime64arr.TestPeriodIndex.test_constructor_datetime64arr  s`    yyBHHEyy(+,C(t{{843?
b+ra   box)Nseriesr   c                     [        SSSS9nUc  UR                  nOUS:X  a  [        U5      n[        USS9n[        / SQSS9n[        R
                  " X45        g )	N2017r   r   r9   r   rv   r   )z
2017-01-31z
2017-02-28z
2017-03-31z
2017-04-30)r   _valuesr
   r	   rQ   rS   )r%   r   r   rT   rU   s        r(   !test_constructor_datetime64arr_ok1TestPeriodIndex.test_constructor_datetime64arr_ok%  s[     &!$7;<<DH_$<DT,D3
 	f/ra   c                 ~   [        SS/SS9n[        SS/SS9n[        R                  " X5        UR                  S:X  d   e[        SS/S	S9n[        SS/S
S9n[        R                  " X5        UR                  S	:X  d   e[        SS/SS9n[        USS9n[        SS/SS9n[        R                  " X25        UR                  S:X  d   e[        USS9n[        R                  " X25        UR                  S:X  d   eSn[        R
                  " [        US9   [        S/SSS9  S S S 5        g ! , (       d  f       g = f)Nz2013-01z2013-03z	period[M]rw   rt   r   z
2013-01-05z
2013-03-05z
period[3D]3Dz
2013-01-01z
2013-01-02rv   z&specified freq and dtype are differentr   rs   z	period[D])r   rx   )r	   rQ   rS   rx   r"   r#   r   )r%   r   r   resr'   s        r(   test_constructor_dtype&TestPeriodIndex.test_constructor_dtype4  s0   9i0D9i0s;
c'yyK'''<6lK<6TB
c'yyL((( <6SA#[19i0s;
c'yyK'''#C(
c'yyK'''6]]0<#[A =<<s   D..
D<c                    [        / SS9n[        U[         5      (       d   e[        U5      S:X  d   eUR                  S:X  d   e[        R
                  " [        SS9   [        / 5        S S S 5        g ! , (       d  f       g = f)Nrt   r   r   r   freq not specifiedr   )r	   
isinstancelenr   r"   r#   r$   )r%   r   s     r(   test_constructor_empty&TestPeriodIndex.test_constructor_emptyQ  sf    "3'#{++++3x1}}xx4]]:-ABO CBBs   A33
Bc                     [        [        SSS9[        [        SSS9/5      n[        / SQSS9n[        R                  " X5        [        [
        R                  " [        SSS9[        [        SSS9/5      5      n[        R                  " X5        [        [        [        [        SSS9[        SSS9/5      n[        / SQSS9n[        R                  " X5        [        [
        R                  " [        [        [        SSS9[        SSS9/5      5      n[        R                  " X5        [        [        [        SS/SS9n[        R                  " X5        [        R                  " [        SS9   [        [        [        /5        S S S 5        [        R                  " [        SS9   [        [
        R                  " [        [        /5      5        S S S 5        [        R                  " [        SS9   [        SS/5        S S S 5        [        R                  " [        SS9   [        [
        R                  " SS/5      5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nt= f! , (       d  f       g = f)	Nrs   rt   r   rs   r   rs   )r   r   rs   rs   r   r   r   )
r	   r   r   rQ   rS   rl   rm   r"   r#   r$   r   s      r(   test_constructor_pi_nat'TestPeriodIndex.test_constructor_pi_natZ  s   IC(#vic/JK
 7cB
c'HHfYS13ys8STU
 	c'#vic2F934OP
 >SI
c'HHc6)#6ys8ST

 	c'3Y	:E
c']]:-ABc
# C ]]:-AB#s,- C ]]:-AB' C ]]:-AB%01 CB CB CB CB CBs0   0I'*I2I.!"I?
I
I+.
I<?
Jc                    Sn[         R                  " [        US9   [        [	        SSS9[
        [	        SSS9/5        S S S 5        [         R                  " [        US9   [        [        R                  " [	        SSS9[
        [	        SSS9/5      5        S S S 5        [         R                  " [        US9   [        [
        [	        SSS9[	        SSS9/5        S S S 5        [         R                  " [        US9   [        [        R                  " [
        [	        SSS9[	        SSS9/5      5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nz5Input has different freq=D from PeriodIndex\(freq=M\)r   rs   rt   r   rv   )r"   r#   r   r	   r   r   rl   rm   r   s     r(   test_constructor_incompat_freq.TestPeriodIndex.test_constructor_incompat_freq  s   G]]0<	4c6)RU;VWX = ]]0<IC0#vic7RS = ]]0<fYS96)RU;VWX = ]]0<&5vic7RS =< =< =< =< =<s/   #D< 7E8#E<7E0<
E
E
E-0
E>c           	      l   [        S[        [        SSS9/5      n[        / SQSS9n[        R                  " X5        [        S[        [        SSS9/5      n[        / SQSS9n[        R                  " X5        [        [        SSS9[        S	/5      n[        / S
QSS9n[        R                  " X5        g )Nrs   rt   r   r   r   )r   r   rs   r   rv   
2012-01-01)r   r   r   )r	   r   r   rQ   rS   r   s      r(   test_constructor_mixed&TestPeriodIndex.test_constructor_mixed  s    9c6)#+FGH7cB
c'5#vic'BCD3#>
c'6,S93MN=CH
c'ra   floats皙? @c                     Sn[         R                  " [        US9   [        U5        S S S 5        g ! , (       d  f       g = f)Nz9PeriodIndex does not allow floating point in constructionr   )r"   r#   r   r	   )r%   r   r'   s      r(   test_constructor_floats'TestPeriodIndex.test_constructor_floats  s)    I]]9C0 100r   c                    [        / SQ5      nUS-
  n[        R                  " XS9n[        X!5       Vs/ s H  oDS   S SUS   S 3PM     nn[	        [        [        U5      5      n[        U5      n[        R                  " Xs5        g s  snf )N)i  i  i  r   r   r   dQrO   )	r
   r	   r   zipr   mapr   rQ   rS   )r%   r   r   r   tstrslopsr   s           r(   !test_constructor_year_and_quarter1TestPeriodIndex.test_constructor_year_and_quarter  s    ()+%%4A.1'.@A.@Q4(!AaD8$.@AC%&
a% Bs   B	c                    [        SSSS9n[        / SQSS9n[        R                  " X5        [        SSS	S
9n[        / SQS	S9n[        R                  " X5        [        SSSS9n[        / SQSS9n[        R                  " X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SS9  S S S 5        g ! , (       d  f       Nm= f! , (       d  f       NO= f! , (       d  f       g = f)N2014-01r   r   r    r   r:   )r  z2014-03z2014-05z2014-07r   
2014-01-02z
2014-01-15r   r   )r  z
2014-01-05z
2014-01-08z
2014-01-11z
2014-01-142014-01-01 17:004hr   )r!   r   r:   )z2014-01-01 09:00z2014-01-01 13:00r  z;Frequency must be positive, because it represents span: -1Mr   rs   z-1Mz:Frequency must be positive, because it represents span: 0M0Mr9   )r   r	   rQ   rS   r"   r#   r$   )r%   pidxrU   r'   s       r(   test_constructor_freq_mult*TestPeriodIndex.test_constructor_freq_mult  s   )$BKRVW
d-,LtLR
 	d- 2qIHt
 	d-K]]:S1%0 2 K]]:S1$/ 2 K]]:S1AD9 21 21 21 21s$   #DD'D8
D$'
D58
Ezfreq_offset, freq_period))YErf   )r   rt   )rv   rv   )minr  )sr  mult)rO   r   r   r   r   c                     [        U5      U-   n[        U5      U-   n[        SUSS9n[        SUSS9R                  U5      n[        R
                  " Xg5        g )N
2014-04-01r   r  )strr   r   r;   rQ   rS   )r%   r  freq_offsetfreq_periodfreqstr_offsetfreqstr_periodr  rU   s           r(   %test_constructor_freq_mult_dti_compat5TestPeriodIndex.test_constructor_freq_mult_dti_compat  s\     T[0T[0,^RP^R

)N
# 	 	d-ra   c                     [        SU S3SS9n[        SU S3SS9R                  U S35      n[        R                  " X#5        g )Nr  rt   r   r  r   )r   r   r;   rQ   rS   )r%   r  r  rU   s       r(   +test_constructor_freq_mult_dti_compat_month;TestPeriodIndex.test_constructor_freq_mult_dti_compat_month  sP    ,vQZLvR["

)tfAJ
 	 	d-ra   c                     S H  n[        SS/US9n[        SS/SS9nM     S H0  n[        SSUS	9n[        SS
/SS9n[        R                  " X#5        M2     g )N)1D1h1h1Dz
2016-01-01z
2016-01-02r   z2016-01-01 00:00z2016-01-02 00:0025hr   r   z2016-01-02 01:00)r	   r   rQ   rS   )r%   r   r  rU   s       r(   test_constructor_freq_combined.TestPeriodIndex.test_constructor_freq_combined  sm    $Dl;$GD"$68J#KRWXH % %DlADID"$68J#KRWXH!!$1 %ra   c                    [        SSSS9n[        U5      S:X  d   e[        SSSS9n[        U5      S:X  d   e[        SSSS9n[        U5      S	:X  d   e[        S
SSS9n[        U5      S:X  d   eSn[        R                  " [        US9   [        SSSS9nS S S 5        [        U5      S:X  d   e[        SSSS9n[        U5      S:X  d   e[        SSSS9n[        U5      S:X  d   e[        SSSS9n[        U5      S:X  d   e[        R                  " [        US9   [        SS5      n[        USS9nS S S 5        [        W5      S:X  d   eUR                  WR                  :X  d   eUS   U:X  d   e[        SS5      n[        US S!9n[        U5      S :X  d   eUR                  UR                  :X  d   eUS"   U:X  d   eS#n[        R                  " [        US9   [        SS$5      nS S S 5        [        US S!9n[        U5      [        U5      :X  d   eXF:H  R                  5       (       d   eUR                  UR                  :X  d   eg ! , (       d  f       GN= f! , (       d  f       GN1= f! , (       d  f       N= f)%Nrf   z1/1/2001z	12/1/2009)r   r    r!   	   r  $   rt   l   rv   z
12/31/2009i  r   r   r   i-	  hz12/31/2001 23:00i8"  Minz1/1/2001 23:59i  r  z1/1/2001 23:59:59iQ 02-Apr-2005r   r   r   
2006-12-31Wr   )r!   r:   ri   z:'w' is deprecated and will be removed in a future version.1w)	r   r   rQ   rR   r   r   r   r   all)r%   r   r'   r    i1end_intvi2s          r(   test_period_range_length(TestPeriodIndex.test_period_range_length  sg   s*+F2w!||s*+F2w%s*+F2w&   s*,G2w+%%%3''SA3jlKB B2w'!!!s*:LM2w("""uJ<LM2w'!!!s*:MN2w,&&&''SA=#.EE26B B 2w"}}ww%**$$$!u~~,,h32w"}}ww(--'''"v!!!J''cBlD1H Ch32w#b'!!!~~ww"''!!!A BA BA CBs$   III1
I
I.1
I?c           
      
   Sn[         R                  " [        US9   [        SS5      n[        SS5      n[	        X#S9  [        U[        SS5      /5      nS S S 5        [        W5      S:X  d   eUS	   W:X  d   e[         R                  " [        US9   [        [        R                  " U[        SS5      /5      5      nS S S 5        [        U5      S:X  d   eUS	   U:X  d   eg ! , (       d  f       N= f! , (       d  f       N<= f)
Nr   r   r5  r   
2005-05-01)r    r!   z
2005-05-05r   r   )	rQ   rR   r   r   r   r	   r   rl   rm   )r%   r'   r    r;  r<  s        r(   "test_infer_freq_from_first_element2TestPeriodIndex.test_infer_freq_from_first_element*  s    3''SA=#.ElC0Hu3 h|S(ABCB B 2w!||!u   ''SARXXxc1J&KLMB B2w!||!u    BA BAs   9C#,C4#
C14
Dc                    Sn[         R                  " [        US9   [        SS5      nS S S 5        W[        SS5      /nSnSn[        R
                  " [        US9   [         R                  " [        US9   [        U5        S S S 5        S S S 5        [        R                  " U5      n[        R
                  " [        US9   [         R                  " [        US9   [        U5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NJ= f! , (       d  f       g = f)	Nr   r   r@  r   r6  r7  z9Input has different freq=W-SUN from PeriodIndex\(freq=B\)r   )
rQ   rR   r   r   r"   r#   r   r	   rl   rm   )r%   r'   r;  r   depr_msgs        r(   test_mixed_freq_raises&TestPeriodIndex.test_mixed_freq_raises;  s    3''SAlC0H B &s34J4]]0<++MJD! K = xx~]]0<++MJD! K =< BA KJ =<
 KJ =<sS   C8D6D	DD<D+'D<8
D	
D	D
D(+
D9	5D<<
E
r   )rt   r  rf   rv   r   r  r  msusr   r3  z8ignore:Period with BDay freq is deprecated:FutureWarningrF   c                 n    [        SUSS9n[        UR                  US9n[        R                  " X25        g )Nz
2001/04/01rO   r  r   )r   r	   r   rQ   rS   )r%   r   orgr   s       r(   test_recreate_from_data'TestPeriodIndex.test_recreate_from_dataL  s0     D!D#**40
c'ra   c                 *   / SQn[        USS9n[        U Vs/ s H  n[        U5      PM     sn5      nUR                  [        5      n[	        U[        5      (       d   e[        S U 5       5      (       d   e[        R                  " XT5        g s  snf )N)i  r   i  rf   r   c              3   B   #    U  H  n[        U[        5      v   M     g 7f)N)r   r  ).0resis     r(   	<genexpr>CTestPeriodIndex.test_map_with_string_constructor.<locals>.<genexpr>c  s     9ST:dC((Ss   )r	   r   r  r	  r   r9  rQ   rS   )r%   rawr   numrU   r   s         r(    test_map_with_string_constructor0TestPeriodIndex.test_map_with_string_constructorX  s     Cc*c2cs#c(c23iin #u%%%% 9S99999 	c, 3s   BrX   N)-rY   rZ   r[   r\   rp   r|   r   r"   r]   r^   r   rl   rm   r	   r   _from_sequencer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r$  r'  r-  r=  rA  rE  r_   rK  rU  r`   rX   ra   r(   rc   rc   j   s   *X0 [[tRXX{K<V<VWEE/(>("?<
+(+T, [[U$=>0 ?0B:&2P0( [[Xc
BHHc3Z4H'IJ  K 
&:> [["	
	 [[V_5. 6	. [[V_5. 6.2."`!""" [[L [[C [[ VW( X(
-ra   rc   c                       \ rS rSrS rS r\R                  R                  SSS/\	R                  " SS/5      /5      S 5       rSrg	)
TestSimpleNewii  c                    [        SSSSS9n[        R                  " [        SS9   UR	                  USS9  S S S 5        UR	                  UR
                  SS9n[        R                  " X!5        S	n[        R                  " [        US9   [        UR
                  5      R	                  [        UR                  5      UR                  S
9  S S S 5        [        UR
                  5      R	                  UR                  UR                  S
9nUR	                  USS9n[        R                  " X!5        g ! , (       d  f       GN= f! , (       d  f       N~= f)Nr   r   r   rt   )namer:   r   <class .*PeriodIndex'>r   r[  z Should be numpy array of type i8rw   )r   r"   r#   AssertionError_simple_new_datarQ   rS   r   r   r   rx   )r%   r   rT   r'   r{   s        r(   test_constructor_simple_new)TestSimpleNew.test_constructor_simple_newj  s    93D]]>1IJOOCcO* K 5
f*0]]>5O''chhsyy'I 6 399o))#((#)))D3/
f* KJ 65s   D1
AE1
E 
Ec                     [        / SSS9n[        R                  " [        SS9   UR	                  USS9  S S S 5        UR	                  UR
                  SS9n[        R                  " X!5        g ! , (       d  f       N?= f)Nrt   r   )r   r[  r\  r   r]  )r	   r"   r#   r^  r_  r`  rQ   rS   )r%   r   rT   s      r(   !test_constructor_simple_new_empty/TestSimpleNew.test_constructor_simple_new_empty|  se    "3S1]]>1IJOOCcO* K 5
f*	 KJs   A//
A=r   r   r  c                     [         R                  " [        SS9   [        R                  " U5        S S S 5        g ! , (       d  f       g = f)Nz<class r   )r"   r#   r^  r	   r_  )r%   r   s     r(   -test_period_index_simple_new_disallows_floats;TestSimpleNew.test_period_index_simple_new_disallows_floats  s*    ]]>;##F+ <;;s	   :
ArX   N)rY   rZ   r[   r\   ra  rd  r"   r]   r^   rl   rm   rg  r`   rX   ra   r(   rY  rY  i  sH    +$+ [[Xc
BHHc3Z4H'IJ, K,ra   rY  c                   &    \ rS rSrS rS rS rSrg)TestShallowCopyi  c                 h    [        / SS9nUR                  5       nUn[        R                  " X#5        g )Nrt   r   )r	   _viewrQ   rS   )r%   r   rT   rU   s       r(   test_shallow_copy_empty'TestShallowCopy.test_shallow_copy_empty  s,    "3'
f/ra   c                     [        SSSS9n[        R                  " [        SS9   UR	                  UR
                  5        S S S 5        g ! , (       d  f       g = f)N
2018-01-01r   rI   r9   ndarrayr   )r   r"   r#   r^  _shallow_copyr   r%   r   s     r(   test_shallow_copy_disallow_i8-TestShallowCopy.test_shallow_copy_disallow_i8  s<    ,=]]>;RWW% <;;s   A


Ac                     [        SSSS9n[        R                  " [        SS9   UR	                  U5        S S S 5        g ! , (       d  f       g = f)Nrp  r   rI   r9   r	   r   )r   r"   r#   r^  rr  rs  s     r(   0test_shallow_copy_requires_disallow_period_index@TestShallowCopy.test_shallow_copy_requires_disallow_period_index  s9    ,=]]>?R  @??s   A  
ArX   N)rY   rZ   r[   r\   rm  rt  rw  r`   rX   ra   r(   rj  rj    s    0&!ra   rj  c                        \ rS rSrS rS rSrg)TestSeriesPeriodi  c           	          Sn[         R                  " [        US9   [        [	        SSSS9[
        S9  S S S 5        g ! , (       d  f       g = f)Nz(Cannot cast PeriodIndex to dtype float64r   z
2000-01-01r   rv   r9   rw   )r"   r#   r   r
   r   floatr   s     r(   !test_constructor_cant_cast_period2TestSeriesPeriod.test_constructor_cant_cast_period  s4    8]]9C0<bsC5Q 100s	   =
Ac                     [        SSS9n[        U[        S5      S9n[        U5      n[        R                  " X#5        g )Nz1/1/2000r   )r:   rv   rw   )r   r
   r   rQ   assert_series_equal)r%   r   serr   s       r(   test_constructor_cast_object-TestSeriesPeriod.test_constructor_cast_object  s6    *b1R{3/0Rj
s(ra   rX   N)rY   rZ   r[   r\   r}  r  r`   rX   ra   r(   rz  rz    s    R
)ra   rz  )numpyrl   r"   pandas._libs.tslibs.periodr   pandas.errorsr   pandas.core.dtypes.dtypesr   pandasr   r   r   r	   r
   r   r   r   pandas._testing_testingrQ   pandas.core.arraysr   r   rc   rY  rj  rz  rX   ra   r(   <module>r     sd      < ( 1	 	 	  *P0 P0f|- |-~, ,D! !*
) 
)ra   