
    Mh}                        S SK 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5      r\ R                   " S5      rS r\ R                  R'                  \(       + SS	9\ R                  R)                  S
\R*                  " SSS9S4\R*                  " SSSS9S4/5      S 5       5       rS rS rS rS rg)    N)pa_version_under10p1)PeriodDtype)PeriodArrayperiod_arrayz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningpyarrowc                      SSK Jn   U " S5      nU " S5      nU " S5      nUR                  S:X  d   eX:X  d   eX:w  d   e[        U5      [        U5      :X  d   e[        U5      [        U5      :w  d   eg )Nr   ArrowPeriodTypeDM)(pandas.core.arrays.arrow.extension_typesr
   freqhash)r
   p1p2p3s       ^/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/period/test_arrow_compat.pytest_arrow_extension_typer      sq    H		B		B		B77c>>8O88O88tBx8tBx    zWrong behavior with pyarrow 10)reasonz
data, freq2017   )periodsr   YE)r   r   zY-DECc                    SSK Jn  [        XS9n[        R	                  U5      n[        UR                  U5      (       d   eUR                  R                  U:X  d   e[        R	                  UR                  SS9nUR                  R                  U5      (       d   e[        R	                  U[        R                  5       S9nUR                  U5      (       d   eSn[        R                  " [        US9   [        R	                  USS9  S S S 5        [        R                  " [        S	S9   [        R	                  X2" S
5      S9  S S S 5        g ! , (       d  f       NJ= f! , (       d  f       g = f)Nr   r	   )r   int64typez5Not supported to convert PeriodArray to 'double' type)matchfloat64zdifferent 'freq'T)r   r
   r   paarray
isinstancer   r   asi8storageequalsr   pytestraises	TypeError)datar   r
   r   resultexpectedmsgs          r   test_arrow_arrayr/   $   s    I4+GXXgFfkk?3333;;t###xx7x3H>>  **** XXgBHHJX/F=="""" BC	y	,
y) 
- 
y(:	;
s34 
<	; 
-	, 
<	;s   7E-E!
E!
E/c                  Z   SSK Jn   [        / SQSS9n[        R                  US'   [
        R                  U5      n[        UR                  U 5      (       d   eUR                  R                  S:X  d   e[
        R                  / SQS	S
9nUR                  R                  U5      (       d   eg )Nr   r	         r   	period[D]dtyper2   r   )r2   Nr   r   r   )r   r
   r   pdNaTr"   r#   r$   r   r   r&   r'   )r
   arrr,   r-   s       r   test_arrow_array_missingr:   C   s    H
i{
3CVVCFXXc]Ffkk?3333;;s"""xx7x3H>>  ****r   c                  8   SSK Jn   [        / SQSS9n[        R                  US'   [        R
                  " SU05      n[        R                  U5      n[        UR                  S5      R                  U 5      (       d   eUR                  5       n[        US   R                  [        5      (       d   e[        R                  " XB5        [        R!                  X3/5      nUR                  5       n[        R"                  " X"/SS	9n[        R                  " XF5        g )
Nr   r	   r1   r4   r5   r2   aT)ignore_index)r   r
   r   r7   r8   	DataFramer"   tabler$   fieldr   	to_pandasr6   r   tmassert_frame_equalconcat_tablesconcat)r
   r9   dfr?   r,   table2r-   s          r   test_arrow_table_roundtriprH   P   s    H
i{
3CVVCF	sCj	!BHHRLEekk#&++_====__FfSk''5555&%un-FFyy"5H&+r   c                     SSK Jn   [        / SS9n[        R                  " SU05      n[
        R                  U5      n[        UR                  S5      R                  U 5      (       d   e[
        R                  [
        R                  / UR                  S5      R                  S9/UR                  S9nUR                  5       n[        US   R                  [        5      (       d   e[         R"                  " XB5        g )Nr   r	   r4   r5   r<   r   )schema)r   r
   r   r7   r>   r"   r?   r$   r@   r   chunked_arraycolumnrJ   rA   r6   r   rB   rC   )r
   r9   rF   r?   r,   s        r    test_arrow_load_from_zero_chunksrM   c   s     I
b
,C	sCj	!BHHRLEekk#&++_====HH			"5<<?#7#7		89%,,  E __FfSk''5555&%r   c                     [        / SQSS9n [        R                  U S'   [        R                  " SU 05      n[        R                  U5      nUR                  5       nUR                  R                  b   eUR                  5       n[        US   R                  [        5      (       d   e[        R                  " X15        g )Nr1   z	period[h]r5   r2   r<   )r   r7   r8   r>   r"   r?   replace_schema_metadatarJ   metadatarA   r$   r6   r   rB   rC   )r9   rF   r?   r,   s       r   +test_arrow_table_roundtrip_without_metadatarQ   v   s    
i{
3CVVCF	sCj	!BHHRLE))+E<<  (((__FfSk''5555&%r   )r(   pandas.compat.pyarrowr   pandas.core.dtypes.dtypesr   pandasr7   pandas._testing_testingrB   pandas.core.arraysr   r   markfilterwarnings
pytestmarkimportorskipr"   r   xfailparametrize
date_ranger/   r:   rH   rM   rQ    r   r   <module>r`      s     6 1  
 [[''C

 #  ++4TU	vq	)3/	vqt	4g>5 V5.
+,&&&&r   