
    2Цi                        S SK r 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/ai-image-ml/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)ArrowArrayWrapper4   c                     Xl         g Nr   )selfbatchs     r%   __init__ArrowArrayWrapper.__init__5   s    
r'   Nc                 8    U R                   R                  U5      $ r1   )r   __arrow_c_array__r3   requested_schemas     r%   r8   #ArrowArrayWrapper.__arrow_c_array__8   s    zz++,<==r'   r2   r1   )__name__
__module____qualname____firstlineno__r5   r8   __static_attributes__ r'   r%   r.   r.   4   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U (       d7  US   R                  [        R                  " [        R                  S95      US'   [        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   )na_valuer   )namesz+Expected an Arrow-compatible tabular object)match)r   r   r   r   
from_arrowastypeStringDtypenpnantmassert_frame_equalrC   record_batchr.   pytestraises	TypeError)r    r   resultr$   r4   s        r%   test_dataframe_from_arrowr[   D   s:    HH9?;<E\\$$U+F||)/BCH ,,R^^RVV-LM&+ \\$$%7%>?F&+ OOY8c
OKE\\$$U+F&+\\$$%6u%=>F&+ 
y(U	V
io FG 
W	V	Vs   'G
G)r   numpyrR   rW   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   pandas._testing_testingrT   importorskipr   
skip_if_nor&   r,   r.   rC   r[   rA   r'   r%   <module>rf      s       ) )  # yf-" .", yf-" ."> >@ @ yf-H .Hr'   