
    Pi|              	       F   d dl 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                            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)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       /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/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
data, freq2017   )periodsr
   YE)r   r   zY-DECc                 l   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            d S # 1 swxY w Y   d S )	Nr   r   )r   int64typez5Not supported to convert PeriodArray to 'double' type)matchfloat64)r   r	   r   paarray
isinstancer   r   asi8storageequalsr   pytestraises	TypeError)datar   r	   r   resultexpectedmsgs          r   test_arrow_arrayr,   "   si    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)))* * * * * * * * * * * * * * * * * *s   ?D))D-0D-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]dtyper/   r
   )r/   Nr   r   r   )r   r	   r   pdNaTr   r    r!   r   r   r#   r$   )r	   arrr)   r*   s       r   test_arrow_array_missingr7   =   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   r.   r1   r2   r/   aT)ignore_index)r   r	   r   r4   r5   	DataFramer   tabler!   fieldr   	to_pandasr3   r   tmassert_frame_equalconcat_tablesconcat)r	   r6   dfr<   r)   table2r*   s          r   test_arrow_table_roundtriprE   J   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   r1   r2   r9   r   )schema)r   r	   r   r4   r;   r   r<   r!   r=   r   chunked_arraycolumnrG   r>   r3   r   r?   r@   )r	   r6   rC   r<   r)   s        r    test_arrow_load_from_zero_chunksrJ   ]   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 )Nr.   z	period[h]r2   r/   r9   )r   r4   r5   r;   r   r<   replace_schema_metadatarG   metadatar>   r!   r3   r   r?   r@   )r6   rC   r<   r)   s       r   +test_arrow_table_roundtrip_without_metadatarN   p   s    
iii{
3
3
3CVCF	sCj	!	!BHHRLLE))++E< (((__FfSk'55555&"%%%%%r   )r%   pandas.core.dtypes.dtypesr   pandasr4   pandas._testing_testingr?   pandas.core.arraysr   r   markfilterwarnings
pytestmarkimportorskipr   r   parametrize
date_ranger,   r7   rE   rJ   rN    r   r   <module>r[      sW    1 1 1 1 1 1                 
 [''C 

 V##      	vq	)	)	)3/	vqt	4	4	4g> * * *(
+ 
+ 
+, , ,&& & &&& & & & &r   