
    Mh'j                         S SK rS SK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)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	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SS   SUSS   S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)
Nzfor Period, please use '   z' instead of ''matchz
2020-01-01z
2020-01-02freqstartendr   )pytestraises
ValueErrorr   r   )selfr   	freq_deprmsgs       _/var/www/html/env/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   s|     )ab
.12qQ]]:S1|49E 2 ]]:S1|IN 21 21 21s   A,A=,
A:=
Br$   )2SME2sme2CBME2BYE2Byec                    SUSS   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: r   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,   sj     $IabM?3]]:S1II> 2]]:S1I.Y? 21 2111s   A%A6%
A36
Br   )z2BQE-SEPz2BYE-MAR2BMEc                     SUSS   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/   r   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_freq6   sG     $DH:.=]]:S1MMO 211s   A
A N)__name__
__module____qualname____firstlineno__r    markparametrizer'   r0   r9   __static_attributes__r;       r&   r   r      s}    [[	

O
O [[[*ST@ U@ [[V%EF GrC   r   c                   h   \ rS 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                  RU                  S+5      \R                  RU                  S,5      S- 5       5       5       r+S. r,S/r-g0)1TestPeriodIndex@   c                 ^   [        SSS9  [        SSS9  Sn[        R                  " [        US9   [	        / SQSS9nS S S 5        [        R                  " [        US9   [	        [
        R                  " / SQ5      SS9nS S S 5        [        R                  " WW5        [        R                  " / SQSS9n[        R                  " XB5        [        R                  " [
        R                  " / SQ5      SS9n[        R                  " XS5        g ! , (       d  f       N= f! , (       d  f       N= f)	NiYordinalr   r   2The 'ordinal' keyword in PeriodIndex is deprecatedr   )r   r   r   )	r   tmassert_produces_warningFutureWarningr   nparrayassert_index_equalfrom_ordinals)r#   r%   idx1idx2alt1alt2s         r&   test_from_ordinals"TestPeriodIndex.test_from_ordinalsA   s    u3'qs#B''SAz<D B''SArxx
';#FD B
dD)((#>
d)((*)=CH
d) BAAAs   D!D
D
D,c                 n   [        SS5      nSnSnSn[        R                  " [        US9   [        R
                  " [        US9   [        U/UR                  /UR                  S9  S S S 5        S S S 5        Sn[        R                  " [        US9   [        R
                  " [        US9   [        U/UR                  /UR                  S	9  S S S 5        S S S 5        S
n[        R                  " [        US9   [        R
                  " [        US9   [        UR                  /UR                  /UR                  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)N
2016-01-01DrK   2Constructing PeriodIndex from fields is deprecatedz!Cannot pass both data and ordinalr   )datarJ   r   z Cannot pass both data and fields)r^   yearr   z#Cannot pass both ordinal and fields)rJ   r_   r   )r   r    r!   r"   rM   rN   rO   r   rJ   r   r_   )r#   per	depr_msg1	depr_msg2err_msg1err_msg2err_msg3s          r&   test_keyword_mismatch%TestPeriodIndex.test_keyword_mismatchR   s.   \3'H	H	6]]:X6++MK#CHHM L 7 6]]:X6++MK#chhZchhG L 7 9]]:X6++MKS[[M
R L 76 LK 76 LK 76 LK 76sk   E""E(E"F-"E3F:F&,F F&
E	E""
E03
F	=F
F
F#	F&&
F4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-03r\   dtype)
r   r   rM   rR   r   r   rP   rQ   nanobject)r#   arrs     r&   "test_construction_base_constructor2TestPeriodIndex.test_construction_base_constructorg   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WrC   c                 r    [        S5      n/ SQn[        X!S9n[        X!S9n[        R                  " X45        g )Nr\   )
2011-01-01z
2012-03-04z
2014-05-01rl   )r   r   r   rM   rR   )r#   rm   valuesresultexpecteds        r&   'test_base_constructor_with_period_dtype7TestPeriodIndex.test_base_constructor_with_period_dtypev   s3    C ;v+v3
f/rC   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 )Nri   rj   r   rk   rl   )
r   r   r   ro   typerM   assert_numpy_array_equalru   rP   rQ   )r#   rz   r6   ru   rv   s        r&   test_index_object_dtype'TestPeriodIndex.test_index_object_dtype~   si     93'93'

 $G,vV,F|u$$$
##FMM288F3CDrC   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   r6   r   r   r6   )rM   rN   rO   r   r   rR   )r#   msg1pmsg2rw   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S	n[        R
                  " [        US
9   [        XSS9nS S S 5        [        SSSS9n[        R                  " WU5        [        R
                  " [        US
9   [        XSS9nS S S 5        [        R                  " UR                  WR                  5        [        R
                  " [        US
9   [        XS9nS S S 5        [        R                  " XE5        / SQnSS/nSn[        R                  " [        US
9   [        R
                  " [        US
9   [        XSS9  S S S 5        S S S 5        [        R                  " [        US
9   [        R
                  " [        US
9   [        XSS9  S S S 5        S S S 5        / SQn/ SQn[        R
                  " [        US
9   [        XSS9n	S S S 5        [        SSSS9n
[        R                  " W	U
5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNF= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)Ni  i        r         r]   r   Q-DECr_   quarterr   1990Q32009Q2r   z2Q-DECr_   r   )  r   r   zMismatched Period array lengthsrj   )r_   monthr   r   )r   r      2007-01r   r5   )rP   arangerepeattilerM   rN   rO   r   r   rR   r}   asi8r    r!   r"   )r#   yearsquartersdepr_msgr   rw   index2monthsr%   idxexps              r&   test_constructor_field_arrays-TestPeriodIndex.test_constructor_field_arrays   s	    		$%,,Q/"577299Q?B/"5G''XFU7KE G(A
eX.''XF eHMF G
##EJJ<''XFU=E G
e."Q/]]:S1++MJ3? K 2 ]]:S1++MJ4@ K 2 #''XF5SAC G9ac:
c3'; GF
 GF GF KJ 21 KJ 21 GFsx   4H>I
I"$J>I4	J2J'JJ'J8>
I
I"
I14
J	>J
J
J$	 J''
J58
K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 )	Nr   nsrI   r   r   r   r   r   )r   r   r   rM   rR   r#   r   r   s      r&   test_constructor_nano%TestPeriodIndex.test_constructor_nano   sq    .qt,

 qt,qt,qt,qt,	 
 	c'rC   c                 V   [         R                  " SS[         R                  S9R                  S5      n[         R                  " [         R
                  " / SQ[         R                  S9S5      nSn[        R                  " [        US9   [        XS	9nS S S 5        [        R                  " WR                  [        U5      5        [        R                  " UR                  [        U5      5        [        R                  " XS	9n[        R                  " XT5        g ! , (       d  f       N= f)
Ni    rl   r   )r   r   r   r   (   r]   r   r   )rP   r   int64r   r   rQ   rM   rN   rO   r   rR   r_   r   r   from_fields)r#   r   r   r%   pindexalts         r&   %test_constructor_arrays_negative_year5TestPeriodIndex.test_constructor_arrays_negative_year   s    		$BHH5<<Q?77288LA2FB''SA e>F B 	fkk5<8
fnneHo>%%5C
c* BAs   	
D
D(c           
      &   SnSn[         R                  " [        US9   [        R                  " [
        US9   [        [        SS5      [        [        S5      5      SS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)	Nr]   zQuarter must be 1 <= q <= 4r   r   i  r   r   r   )	r    r!   r"   rM   rN   rO   r   rangelist)r#   r   r%   s      r&   !test_constructor_invalid_quarters1TestPeriodIndex.test_constructor_invalid_quarters   sf    G+]]:S1++MJtT*DqN K 21JJ 21s"   B(A1 B1
A?	;B
Bc                     Sn[         R                  " [        US9   [        SSSS9nS S S 5        [        SSSS9n[         R                  " WU5        g ! , (       d  f       N1= f)Nz:Non-integer 'periods' in pd.date_range, pd.timedelta_ranger   r   g      %@rj   r5   r   )rM   rN   rO   r   rR   )r#   r%   rv   r   s       r&   #test_period_range_fractional_period3TestPeriodIndex.test_period_range_fractional_period   sS    J''SA!)TDF B9bs;
fc* BAs   A
A!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   rM   rR   )r#   r   r   rv   s       r&   "test_constructor_with_without_freq2TestPeriodIndex.test_constructor_with_without_freq   s;    )8

CE15
c*rC   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   rj   r5   z)freq not specified and cannot be inferredr   z'Period' object is not iterable2007rH   r   )r^   MEr   r   r   r\   e)r   rM   rR   r   ru   r   r    r!   r"   r   	TypeErrorr   iterr   MonthEndr   asfreq)r#   r   r%   rv   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   rl   zM8[us]r\   r   zM8[ns])	rP   r   r   viewrm   r   astyperM   rR   )r#   valspirw   s       r&   test_constructor_datetime64arr.TestPeriodIndex.test_constructor_datetime64arr!  s`    yyBHHEyy(+,C(t{{843?
b+rC   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   r5   r   r\   r   )z
2017-01-31z
2017-02-28z
2017-03-31z
2017-04-30)r
   _valuesr	   r   rM   rR   )r#   r   r^   rv   rw   s        r&   !test_constructor_datetime64arr_ok1TestPeriodIndex.test_constructor_datetime64arr_ok*  s[     &!$7;<<DH_$<DT,D3
 	f/rC   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]rl   rj   r   z
2013-01-05z
2013-03-05z
period[3D]3Dz
2013-01-01z
2013-01-02r\   z&specified freq and dtype are differentr   ri   z	period[D])r   rm   )r   rM   rR   rm   r    r!   r   )r#   r   r   resr%   s        r&   test_constructor_dtype&TestPeriodIndex.test_constructor_dtype9  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)Nrj   r   r   r   freq not specifiedr   )r   
isinstancelenr   r    r!   r"   )r#   r   s     r&   test_constructor_empty&TestPeriodIndex.test_constructor_emptyV  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)	Nri   rj   r   ri   r   ri   )r   r   ri   ri   r   r   r   )
r   r   r   rM   rR   rP   rQ   r    r!   r"   r   s      r&   test_constructor_pi_nat'TestPeriodIndex.test_constructor_pi_nat_  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   ri   rj   r   r\   )r    r!   r   r   r   r   rP   rQ   r#   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 )Nri   rj   r   r   r   )r   r   ri   rt   r\   
2012-01-01)rt   r   r   )r   r   r   rM   rR   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'rC   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0s   1
?c                 r   [        / SQ5      nUS-
  nSn[        R                  " [        US9   [	        XS9nS S S 5        [        X!5       Vs/ s H  oUS   S SUS	   S 3PM     nn[        [        [        U5      5      n[	        U5      n[        R                  " UW5        g ! , (       d  f       Nq= fs  snf )
N)i  i  i  r   r]   r   r   r   dQr   )
r	   rM   rN   rO   r   zipr   mapr   rR   )	r#   r_   r   r%   r   tstrslopsr   s	            r&   !test_constructor_year_and_quarter1TestPeriodIndex.test_constructor_year_and_quarter  s    ()+B''SA49C B.1'.@A.@Q4(!AaD8$.@AC%&
a% BAAs   
B#B4#
B1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   r6   )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   r6   )z2014-01-01 09:00z2014-01-01 13:00r  z;Frequency must be positive, because it represents span: -1Mr   ri   z-1Mz:Frequency must be positive, because it represents span: 0M0Mr5   )r   r   rM   rR   r    r!   r"   )r#   pidxrw   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))YErH   )r   rj   )r\   r\   )minr  )sr  mult)r   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
   r7   rM   rR   )r#   r  freq_offsetfreq_periodfreqstr_offsetfreqstr_periodr  rw   s           r&   %test_constructor_freq_mult_dti_compat5TestPeriodIndex.test_constructor_freq_mult_dti_compat  s\     T[0T[0,^RP^R

)N
# 	 	d-rC   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  rj   r   r  r   )r   r
   r7   rM   rR   )r#   r  r  rw   s       r&   +test_constructor_freq_mult_dti_compat_month;TestPeriodIndex.test_constructor_freq_mult_dti_compat_month  sP    ,vQZLvR["

)tfAJ
 	 	d-rC   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1h1Dr[   z
2016-01-02r   z2016-01-01 00:00z2016-01-02 00:0025hr   r   z2016-01-02 01:00)r   r   rM   rR   )r#   r   r  rw   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 %rC   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)%NrH   z1/1/2001z	12/1/2009)r   r   r   	   r   $   rj   l   r\   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   r6   rL   :'w' is deprecated and will be removed in a future version.1w)r   r   rM   rN   rO   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''SAlD1H Bh32w#b'!!!~~ww"''!!!A BA BA BAs$   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   r*  r   
2005-05-01)r   r   z
2005-05-05r   r   )	rM   rN   rO   r   r   r   r   rP   rQ   )r#   r%   r   r1  r2  s        r&   "test_infer_freq_from_first_element2TestPeriodIndex.test_infer_freq_from_first_element1  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        Sn[         R                  " [        US9   W[        SS5      /nS S S 5        SnS	n[        R
                  " [        US9   [         R                  " [        US9   [        W5        S S S 5        S S S 5        [        R                  " W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       N= f! , (       d  f       N[= f! , (       d  f       g = f)
Nr   r   r6  r   r-  r+  wz9Input has different freq=W-SUN from PeriodIndex\(freq=B\)r   )
rM   rN   rO   r   r    r!   r   r   rP   rQ   )r#   r%   r1  r   r   s        r&   test_mixed_freq_raises&TestPeriodIndex.test_mixed_freq_raisesB  s   3''SAlC0H B K''SAf\378D BJ4]]0<++MJD! K = xx~]]0<++MJD! K =< BA BA
 KJ =<
 KJ =<s_   DD- ED>&E%E1?E E1
D*-
D;>
E	E
E 
E.	*E11
E?r   )rj   r   rH   r\   r   r  r  msusr   r(  z8ignore:Period with BDay freq is deprecated:FutureWarningz3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 n    [        SUSS9n[        UR                  US9n[        R                  " X25        g )Nz
2001/04/01r   r  r   )r   r   ru   rM   rR   )r#   r   orgr   s       r&   test_recreate_from_data'TestPeriodIndex.test_recreate_from_dataU  s0     D!D#**40
c'rC   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  rH   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>l  s     9ST:dC((Ss   )r   r   r  r   r   r/  rM   rR   )r#   rawr   numrw   r   s         r&    test_map_with_string_constructor0TestPeriodIndex.test_map_with_string_constructora  s     Cc*c2cs#c(c23iin #u%%%% 9S99999 	c, 3s   Br;   N).r<   r=   r>   r?   rX   rf   rq   rx   r    r@   rA   r   rP   rQ   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"  r3  r7  r;  filterwarningsrA  rK  rB   r;   rC   r&   rE   rE   @   s   *"S*X0 [[tRXX{K<V<VWEE/$(L("+++(+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(
-rC   rE   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	)
TestSimpleNewir  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   rj   )namer6   r   <class .*PeriodIndex'>r   rR  z Should be numpy array of type i8rl   )r   r    r!   AssertionError_simple_new_datarM   rR   r|   r   r   rm   )r#   r   rv   r%   rp   s        r&   test_constructor_simple_new)TestSimpleNew.test_constructor_simple_news  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)Nrj   r   )r   rR  rS  r   rT  )r   r    r!   rU  rV  rW  rM   rR   )r#   r   rv   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!   rU  r   rV  )r#   r   s     r&   -test_period_index_simple_new_disallows_floats;TestSimpleNew.test_period_index_simple_new_disallows_floats  s*    ]]>;##F+ <;;s	   :
Ar;   N)r<   r=   r>   r?   rX  r[  r    r@   rA   rP   rQ   r^  rB   r;   rC   r&   rP  rP  r  sH    +$+ [[Xc
BHHc3Z4H'IJ, K,rC   rP  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 )Nrj   r   )r   _viewrM   rR   )r#   r   rv   rw   s       r&   test_shallow_copy_empty'TestShallowCopy.test_shallow_copy_empty  s,    "3'
f/rC   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   2Dr5   ndarrayr   )r   r    r!   rU  _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)Nrg  r   rh  r5   r   r   )r   r    r!   rU  rj  rk  s     r&   0test_shallow_copy_requires_disallow_period_index@TestShallowCopy.test_shallow_copy_requires_disallow_period_index  s9    ,=]]>?R  @??s   A  
Ar;   N)r<   r=   r>   r?   rd  rl  ro  rB   r;   rC   r&   ra  ra    s    0&!rC   ra  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   r\   r5   rl   )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   )r6   r\   rl   )r   r	   r   rM   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(rC   r;   N)r<   r=   r>   r?   ru  rz  rB   r;   rC   r&   rr  rr    s    R
)rC   rr  )numpyrP   r    pandas._libs.tslibs.periodr   pandas.core.dtypes.dtypesr   pandasr   r   r   r   r	   r
   r   r   pandas._testing_testingrM   pandas.core.arraysr   r   rE   rP  ra  rr  r;   rC   r&   <module>r     s_      < 1	 	 	  *' 'To- o-d, ,D! !*
) 
)rC   