
    Mh                        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	r
S SKJr  S SKJrJr  \R"                  R%                  S\
R&                  " SS5      /SS	/4\
R&                  " SS5      /SS	/4S
/SS	/4S/SS	/4\
R&                  " SS5      /\
R(                  R*                  R-                  5       S	/4\
R&                  " SS5      S/SS	\/4\
R.                  " \
R0                  " SSS95      S/ SQ4\
R0                  " SSS9S/ SQ4\
R2                  " SSSS9S/ SQ4/	5      S 5       rS rS r\R"                  R%                  SS\" S5      /5      S 5       r\R"                  R%                  S\
R&                  " SS5      \
R&                  " SS5      /SS4\
R&                  " SS5      /SS4/5      S 5       rS rS r S r!S  r"S! r#S" r$g)#    N)iNaT)MonthEnd)IncompatibleFrequency)PeriodArrayperiod_arrayzdata, freq, expected2017DC  i     )periods)r
   iC  iC     Qr   freq)            c                     [        XS9R                  n[        R                  " U[        R                  S9n[
        R                  " X25        g )Nr   dtype)r   asi8npasarrayint64tmassert_numpy_array_equal)datar   expectedresults       ^/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/period/test_constructors.pytest_period_array_okr#      s6     $*//Fzz("((3H1    c                     [        [        R                  " S5      /5      n [        R                  " U SS9nUR                  SS9  [        U5      n[        R                  " X 5        [        R                  " U5      n[        R                  " U[        R                  " U 5      5        [        R                  " SU05      n[        R                  " U[        R                  " SU 05      5        g )Nz
2019-01-01objectr   F)writeA)r   pdPeriodr   r   setflagsr   assert_period_array_equalSeriesassert_series_equal	DataFrameassert_frame_equal)paarrr!   s      r"   !test_period_array_readonly_objectr3   $   s    	ryy./	0B
**Rx
(CLLuL#F  ,YYs^F6299R=1\\3*%F&",,Ry"9:r$   c                      [         R                  " SSSS9n [        R                  " U SS9n[	        / SQSS9n[
        R                  " X5        g )Nr   r   r	   r   Mr   )
2017-01-01r6   r6   )r)   
date_ranger   _from_datetime64r   r   r,   r2   r!   r    s      r"   !test_from_datetime64_freq_changesr:   4   sA    
--
4C))#C8FFSQH  2r$   r   2M   c                     [         R                  " SS/SS9n[        R                  " X5      n[	        SS/U S9n[
        R                  " X#5        g )N2020-01-01T00:00:00z2020-01-02T00:00:00datetime64[ns]r   z2020-01r   )r   arrayr   r8   r   r   r,   )r   r2   r!   r    s       r"   test_from_datetime64_freq_2MrA   <   sM    
((	 56>NC ))#4FY	2>H  2r$   zdata, freq, msgYzInput has different freqc                     [         R                  " [        US9   [        X5        S S S 5        g ! , (       d  f       g = f)Nmatch)pytestraisesr   r   )r   r   msgs      r"   test_period_array_raisesrI   F   s'     
,C	8T  
9	8	8s   /
=c                      [         R                  " / SQ5      n [        R                  " [        SS9   [        U SS9  S S S 5        g ! , (       d  f       g = f)N)   r<   r   r   rD   z	period[D]r   )r)   r-   rF   rG   	TypeErrorr   )sers    r"   )test_period_array_non_period_series_raiesrN   V   s4    
))I
C	y	0C{+ 
1	0	0s   A
Ac                     [        SS/SS9n [        R                  " [        SS9   [	        U SS9  S S S 5        [
        R                  " [
        R                  R                  R                  5       5      n[        R                  " [        SS9   [	        XS9  S S S 5        g ! , (       d  f       Nv= f! , (       d  f       g = f)	N20002001r	   r   r   rD   	period[M]r   )
r   rF   rG   r   r   r)   PeriodDtypetseriesoffsetsr   )r2   r   s     r"   test_period_array_freq_mismatchrV   \   s    
'c
2C	,F	;C{+ 
< NN2::--6689E	,F	;C% 
<	;	 
<	; 
<	;s   B!
B2!
B/2
C c                     [        SS/SS9n [        U S   R                  5      n[        R                  " [
        US9   [        R                  " U R                  U R                  S9  S S S 5        [        R                  " [
        US9   [        R                  " [        U R                  5      U R                  S9  S S S 5        g ! , (       d  f       Nc= f! , (       d  f       g = f)NrP   rQ   r	   r   r   rD   r   )r   strordinalrF   rG   rL   r   _from_sequencer   r   list)r2   rH   s     r"   test_from_sequence_disallows_i8r\   f   s    
'c
2C
c!fnn
C	y	,""388399= 
- 
y	,""4>C 
-	, 
-	, 
-	,s   *C	3C
C
C$c                     [         R                  R                  S5      n [         R                  " SSSS9R                  n[
        R                  " S /[        S9nXS'   Sn[        R                  " [        US	9   [        R                  " X!S9  S S S 5        [        R                  " [        US	9   [         R                  " X!S9  S S S 5        [        R                  " [        US	9   [         R                  " X!S9  S S S 5        [        R                  " [        US	9   [         R                  " X!S9  S S S 5        [        R                  " [        US	9   [         R                  " X!S9  S S S 5        [        R                  " [        US	9   [         R                   " X!S9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)
Nzm8[ns]z
2005-01-01r   r	   r   r   r   z2Value must be Period, string, integer, or datetimerD   )r)   NaTto_numpyperiod_ranger   r   r@   r&   rF   rG   
ValueErrorr   rZ   PeriodIndexIndexr-   r/   )tdr   r2   rH   s       r"   !test_from_td64nat_sequence_raisesre   q   s9   		"BOOL!#>DDE
((D6
(CF
>C	z	-""34 
. 
z	-
s( 
.	z	-
" 
.	z	-
" 
.	z	-
		## 
.	z	-
S& 
.	- 
.	- 
.	-	-	-	-	-	-	-	-	-sH   9F%/F7%GGG*G;%
F47
G
G
G'*
G8;
H	c                  *   [         R                  " S5      R                  [         R                  5      n Sn[        R
                  " [        US9   [        U SS9nS S S 5        [        U SS9n[        R                  " WU5        g ! , (       d  f       N0= f)N   z?The 'freq' keyword in the PeriodArray constructor is deprecatedrD   r5   r   rR   r   )	r   arangeastyper   r   assert_produces_warningFutureWarningr   assert_equal)r   rH   resr    s       r"   test_freq_deprecatedrn      si    99Q<rxx(D
KC		#	#M	=$S) 
> 4{3HOOC"	 
>	=s   B
Bc                      [         R                  " SS/SS9n [        R                  " U [	        S5      S9n[        SS/[	        S5      S9n[        R                  " X5        g )	Nr>   z2020-02-02T00:00:00r?   r   r<   r   z
2020-01-01z
2020-02-01)r   r@   r   r8   r   r   r   r,   r9   s      r"   !test_period_array_from_datetime64rp      sW    
((	 56>NC ))#HQK@F\<8x{KH  2r$   )%numpyr   rF   pandas._libs.tslibsr   pandas._libs.tslibs.offsetsr   pandas._libs.tslibs.periodr   pandasr)   pandas._testing_testingr   pandas.core.arraysr   r   markparametrizer*   rT   rU   Dayr-   r7   r`   r#   r3   r:   rA   rI   rN   rV   r\   re   rn   rp    r$   r"   <module>r}      s     $ 0 <   
))FC
 	!4%1
))FC
 	!30
ug
3 
))FC
 	!2::#5#5#9#9#;eWE
))FC
 $	't}=	2==3	4d<QR	vq	)41FG		5t=QR
22; 3 $!453 63  YYvs#RYYvs%;<&	

 ))FC
 	!3(BC
!
!
,&D'2#3r$   