
    A>i                        S SK r S SKrS SKJs  Jr  S SKrS SKJ	r
  \R                  " S5      r\R                  " SSS9S 5       r\R                  " SSS9S 5       r " S S	5      r " S
 S5      r\R                  " SSS9S 5       rg)    Npyarrowz14.0)min_versionc                    [         R                  " / SQ/ SQS.5      nUR                  5       n[        R                  R                  [        R                  " U5      S5      S:X  d   e[        R                  U5      nU (       a  [        R                  5       O[        R                  5       n[        R                  / SQ[        R                  / SQU5      S.5      nUR                  U5      (       d   e[        R                  S[        R                  5       4S[        R                  5       4/5      n[        R                  XS9nUR                  U5      nUR                  U5      (       d   eg )	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          f/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/frame/test_arrow_interface.pytest_dataframe_arrow_interfacer&      s   	IO<	=B##%G**W%'<	
 		 HHRLE'9"//#ryy{Kxxibhh.TUVH<<!!!!YYbggi(3		*<=>FHHRH'E}}V$H<<!!!!    z15.0c                    [         R                  " / SQ/ SQS.5      n[        R                  R	                  U5      R                  5       nU (       a  [        R                  5       O[        R                  5       n[        R                  / SQ[        R                  / SQU5      S.5      nUR                  U5      (       d   e[        R                  S[        R                  5       4S[        R                  5       4/5      n[        R                  R	                  XS9R                  5       nUR                  U5      nUR                  U5      (       d   eg )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,   $   s    	IO<	=B  ,,R099;E'9"//#ryy{Kxxibhh.TUVH<<!!!!YYbggi(3		*<=>F  ,,R,?HHJE}}V$H<<!!!!r'   c                   $    \ rS rSrS rSS jrSrg)ArrowArrayWrapper3   c                     Xl         g Nr   )selfbatchs     r%   __init__ArrowArrayWrapper.__init__4   s    
r'   Nc                 8    U R                   R                  U5      $ r1   )r   __arrow_c_array__r3   requested_schemas     r%   r8   #ArrowArrayWrapper.__arrow_c_array__7   s    zz++,<==r'   r2   r1   )__name__
__module____qualname____firstlineno__r5   r8   __static_attributes__ r'   r%   r.   r.   3   s    >r'   r.   c                   $    \ rS rSrS rSS jrSrg)ArrowStreamWrapper;   c                     Xl         g r1   stream)r3   r   s     r%   r5   ArrowStreamWrapper.__init__<   s    r'   Nc                 8    U R                   R                  U5      $ r1   )rG   r   r9   s     r%   r   %ArrowStreamWrapper.__arrow_c_stream__?   s    {{--.>??r'   rF   r1   )r<   r=   r>   r?   r5   r   r@   rA   r'   r%   rC   rC   ;   s    @r'   rC   c                  ,   [         R                  / SQ/ SQS.5      n [        R                  R	                  U 5      n[        R                  " / SQ/ SQS.5      n[
        R                  " X5        [        R                  R	                  [        U 5      5      n[
        R                  " X5        [         R                  / SQ/ SQ/SS/S9n[        R                  R	                  U 5      n[
        R                  " X5        [        R                  R	                  [        U5      5      n[
        R                  " X5        [        R                  " [        SS9   [        R                  R	                  / SQ/ SQS.5        S S S 5        g ! , (       d  f       g = f)	Nr   r
   r   r   r   )namesz+Expected an Arrow-compatible tabular object)match)r   r   r   r   
from_arrowtmassert_frame_equalrC   record_batchr.   pytestraises	TypeError)r   resultr$   r4   s       r%   test_dataframe_from_arrowrV   C   s    HH9?;<E\\$$U+F||)/BCH&+ \\$$%7%>?F&+ OOY8c
OKE\\$$U+F&+\\$$%6u%=>F&+ 
y(U	V
io FG 
W	V	Vs   'F
F)r   rR   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   pandas._testing_testingrO   importorskipr   
skip_if_nor&   r,   r.   rC   rV   rA   r'   r%   <module>r`      s      ) )  # yf-" .", yf-" ."> >@ @ yf-H .Hr'   