
    Eg}              
          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 j        d          Zd Ze j                            e d	          e j                            d
 ej        dd          df ej        ddd          dfg          d                         Zd Zd Zd Zd ZdS )    N)pa_version_under10p1)PeriodDtype)PeriodArrayperiod_arrayz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningpyarrowc                     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    sJ d S )Nr   ArrowPeriodTypeDM)(pandas.core.arrays.arrow.extension_typesr
   freqhash)r
   p1p2p3s       a/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/arrays/period/test_arrow_compat.pytest_arrow_extension_typer      s    HHHHHH			B			B			B7c>>>>8888888888tBxx88tBxx    zWrong behavior with pyarrow 10)reasonz
data, freq2017   )periodsr   YE)r   r   zY-DECc                    ddl m} t          | |          }t                              |          }t          |j        |          sJ |j        j        |k    sJ t                              |j        d          }|j	        
                    |          sJ t                              |t                                                    }|
                    |          sJ d}t          j        t          |          5  t                              |d           d d d            n# 1 swxY w Y   t          j        t          d	          5  t                              | |d
                     d d d            d S # 1 swxY w Y   d S )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HHHHH4d+++GXXgFfk?33333;t####xx7x33H>  ***** XXgBHHJJX//F==""""" BC	y	,	,	, * *
y)))* * * * * * * * * * * * * * * 
y(:	;	;	; 5 5
s334445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s$   ?D((D,/D,&FFFc                  P   ddl m}  t          g dd          }t          j        |d<   t
                              |          }t          |j        |           sJ |j        j	        dk    sJ t
                              g dd	
          }|j
                            |          sJ d S )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HHHHH
iii{
3
3
3CVCFXXc]]Ffk?33333;s""""xx7x33H>  *******r   c                  Z   ddl m}  t          g dd          }t          j        |d<   t          j        d|i          }t                              |          }t          |	                    d          j
        |           sJ |                                }t          |d         j        t                    sJ t          j        ||           t                              ||g          }|                                }t          j        ||gd	          }t          j        ||           d S )
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HHHHH
iii{
3
3
3CVCF	sCj	!	!BHHRLLEekk#&&+_=====__FfSk'55555&"%%%uen--FFy"b555H&(+++++r   c                  &   ddl m}  t          g d          }t          j        d|i          }t
                              |          }t          |                    d          j	        |           sJ t
                              t
          
                    g |                    d          j	                  g|j                  }|                                }t          |d         j        t                    sJ t!          j        ||           d S )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HHHHH
b
,
,
,C	sCj	!	!BHHRLLEekk#&&+_=====HH			"5<<??#7		8	89%,   E __FfSk'55555&"%%%%%r   c                     t          g dd          } t          j        | d<   t          j        d| i          }t                              |          }|                                }|j        j        J |	                                }t          |d         j        t                    sJ t          j        ||           d S )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    
iii{
3
3
3CVCF	sCj	!	!BHHRLLE))++E< (((__FfSk'5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 6 6 6 6 6 1 1 1 1 1 1                 
 [''C 

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