
    I j|              
       B   S SK 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\R$                  " SS	S
9S4\R$                  " SS	SS9S4/5      S 5       rS rS rS rS rg)    N)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       }/root/GenerationalWealth/GenerationalWealth/venv/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
data, freq2017   )periodsr
   YE)r   r   zY-DECc                 L   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        g ! , (       d  f       g = f)	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,   "   s     I4+GXXgFfkk?3333;;t###xx7x3H>>  **** XXgBHHJX/F=="""" BC	y	,
y) 
-	,	,s   7D
D#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]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
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   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
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   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
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 )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    
i{
3CVVCF	sCj	!BHHRLE))+E<<  (((__FfSk''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[      s     1  
 [[''C

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