
    Pi                     2   d dl Z d dlZd dlmc mZ d dlZd dlm	Z
  ej        d          Z ej        dd          d             Z ej        dd          d             Z G d d	          Z G d
 d          Z ej        dd          d             ZdS )    Npyarrowz14.0)min_versionc                 >   t          j        g dg dd          }|                                }t          j                            t          j        |          d          dk    sJ t                              |          }| rt          	                                nt          
                                }t                              g dt                              g d|          d          }|                    |          sJ t                              dt                                          fdt          
                                fg          }t                              ||          }|                    |          }|                    |          sJ d S )	N         abcr   r   s   arrow_array_streamr   r   r   schema)pd	DataFrame__arrow_c_stream__ctypes	pythonapiPyCapsule_IsValid	py_objectpatablelarge_stringstringarrayequalsr   int8cast)using_infer_stringdfcapsuler   string_typeexpectedr   s          {/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/frame/test_arrow_interface.pytest_dataframe_arrow_interfacer&      s_   	IIIOOO<<	=	=B##%%G**W%%'<	
 	
 	 	 	 	 HHRLLE'9J"//###ryy{{Kxxiiibhh.T.TUUVVH<<!!!!!YYbggii(3		*<=>>FHHRH''E}}V$$H<<!!!!!!!    z15.0c                    t          j        g dg dd          }t          j                            |                                          }| rt                                          nt                                          }t                              g dt          	                    g d|          d          }|
                    |          sJ t                              dt                                          fdt                                          fg          }t          j                            ||                                          }|                    |          }|
                    |          sJ d S )Nr   r
   r   r   r   r   )r   r   r   RecordBatchReaderfrom_streamread_allr   r   r   r   r   r   r   r   )r    r!   r   r#   r$   r   s         r%   test_dataframe_to_arrowr,   $   s1   	IIIOOO<<	=	=B ,,R0099;;E'9J"//###ryy{{Kxxiiibhh.T.TUUVVH<<!!!!!YYbggii(3		*<=>>F ,,R,??HHJJE}}V$$H<<!!!!!!!r'   c                       e Zd Zd ZddZdS )ArrowArrayWrapperc                     || _         d S N)r   )selfbatchs     r%   __init__zArrowArrayWrapper.__init__4   s    


r'   Nc                 6    | j                             |          S r0   )r   __arrow_c_array__r1   requested_schemas     r%   r5   z#ArrowArrayWrapper.__arrow_c_array__7   s    z++,<===r'   r0   )__name__
__module____qualname__r3   r5    r'   r%   r.   r.   3   s7          > > > > > >r'   r.   c                       e Zd Zd ZddZdS )ArrowStreamWrapperc                     || _         d S r0   )stream)r1   r   s     r%   r3   zArrowStreamWrapper.__init__<   s    r'   Nc                 6    | j                             |          S r0   )r?   r   r6   s     r%   r   z%ArrowStreamWrapper.__arrow_c_stream__?   s    {--.>???r'   r0   )r8   r9   r:   r3   r   r;   r'   r%   r=   r=   ;   s=          @ @ @ @ @ @r'   r=   c                  N   t                               g dg dd          } t          j                            |           }t          j        g dg dd          }t          j        ||           t          j                            t          |                     }t          j        ||           t                               g dg dgddg          }t          j                            |           }t          j        ||           t          j                            t          |                    }t          j        ||           t          j        t          d          5  t          j                            g dg dd           d d d            d S # 1 swxY w Y   d S )	Nr   r
   r   r   r   )namesz+Expected an Arrow-compatible tabular object)match)r   r   r   r   
from_arrowtmassert_frame_equalr=   record_batchr.   pytestraises	TypeError)r   resultr$   r2   s       r%   test_dataframe_from_arrowrL   C   s    HH999???;;<<E\$$U++F|)))///BBCCH&(+++ \$$%7%>%>??F&(+++ OOYYY8c
OKKE\$$U++F&(+++\$$%6u%=%=>>F&(+++ 
y(U	V	V	V H H
iiiooo F FGGGH H H H H H H H H H H H H H H H H Hs   &'FF!F)r   rH   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   pandas._testing_testingrE   importorskipr   
skip_if_nor&   r,   r.   r=   rL   r;   r'   r%   <module>rV      sP     ) ) ) ) ) ) ) ) )          V## yf---" " .-", yf---" " .-"> > > > > > > >@ @ @ @ @ @ @ @ yf---H H .-H H Hr'   