o
    $j}                  
   @   s   d dl Z d dlmZ d dlmZ d dlZd dlmZ	 d dl
mZmZ e jdZe dZdd Ze jje d	d
e jdejddddfejdddddfgdd Zdd Zdd Zdd Zdd ZdS )    N)pa_version_under10p1)PeriodDtype)PeriodArrayperiod_arrayz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningZpyarrowc                  C   sv   ddl m}  | d}| d}| d}|jdksJ ||ksJ ||ks%J t|t|ks/J t|t|ks9J d S )Nr   ArrowPeriodTypeDM)(pandas.core.arrays.arrow.extension_typesr   freqhash)r   p1Zp2Zp3 r   m/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/pandas/tests/arrays/period/test_arrow_compat.pytest_arrow_extension_type   s   r   zWrong behavior with pyarrow 10)reasonz
data, freqZ2017   )periodsr   ZYE)r   r   zY-DECc                 C   s  ddl m} t| |d}t|}t|j|sJ |jj|ks!J tj|jdd}|j	
|s1J tj|t d}|
|sAJ d}tjt|d tj|dd W d    n1 s\w   Y  tjtd	d tj||d
d W d    d S 1 s}w   Y  d S )Nr   r   )r   int64typez5Not supported to convert PeriodArray to 'double' type)matchZfloat64zdifferent 'freq'T)r
   r   r   paarray
isinstancer   r   Zasi8storageequalsr   pytestZraises	TypeError)datar   r   r   resultexpectedmsgr   r   r   test_arrow_array$   s    	
"r$   c                  C   sv   ddl m}  tg ddd}tj|d< t|}t|j| s J |jj	dks(J tjg dd	d
}|j
|s9J d S )Nr   r         r   	period[D]dtyper&   r   )r&   Nr   r   r   )r
   r   r   pdNaTr   r   r   r   r   r   r   )r   arrr!   r"   r   r   r   test_arrow_array_missingC   s   

r.   c                  C   s   ddl m}  tg ddd}tj|d< td|i}t|}t|	dj
| s*J | }t|d jts8J t|| t||g}| }tj||gdd	}t|| d S )
Nr   r   r%   r(   r)   r&   aT)Zignore_index)r
   r   r   r+   r,   	DataFramer   tabler   fieldr   	to_pandasr*   r   tmassert_frame_equalZconcat_tablesconcat)r   r-   dfr1   r!   Ztable2r"   r   r   r   test_arrow_table_roundtripP   s   

r8   c                  C   s   ddl m}  tg dd}td|i}t|}t|dj	| s#J tjtj
g |dj	dg|jd}| }t|d jtsCJ t|| d S )Nr   r   r(   r)   r/   r   )schema)r
   r   r   r+   r0   r   r1   r   r2   r   Zchunked_arraycolumnr9   r3   r*   r   r4   r5   )r   r-   r7   r1   r!   r   r   r    test_arrow_load_from_zero_chunksc   s   
r;   c                  C   sv   t g ddd} tj| d< td| i}t|}| }|jjd u s%J |	 }t
|d jts3J t|| d S )Nr%   z	period[h]r)   r&   r/   )r   r+   r,   r0   r   r1   Zreplace_schema_metadatar9   metadatar3   r   r*   r   r4   r5   )r-   r7   r1   r!   r   r   r   +test_arrow_table_roundtrip_without_metadatav   s   

r=   )r   Zpandas.compat.pyarrowr   Zpandas.core.dtypes.dtypesr   Zpandasr+   Zpandas._testingZ_testingr4   Zpandas.core.arraysr   r   markfilterwarningsZ
pytestmarkZimportorskipr   r   ZxfailZparametrizeZ
date_ranger$   r.   r8   r;   r=   r   r   r   r   <module>   s.    
