o
    h`<                 *   @   sF  d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZzd dl	Z
W n ey1   dZ
Y nw d dlmZ d dlZd dlm  mZ de fde fde fde fde fde fd	e fd
e fgZee \ZZG dd dZ G dd dZ!G dd dZ"dd Z#dd Z$dd Z%dd Z&dd Z'dd Z(dd Z)dd  Z*d!d" Z+G d#d$ d$Z,d%d& Z-d'd( Z.d)d* Z/d+d, Z0d-d. Z1d/d0 Z2d1d2 Z3e.e/gZ4e
dure45e2 e3e1ge4 Z6e0ge6 Z7ej89d3e6Z:ej89d3e4Z;ej89d3e7Z<e<d4d5 Z=e:d6d7 Z>e;d8d9 Z?ej8j	e;d:d; Z@ej8j	e;d<d= ZAe<d>d? ZBe;d@dA ZCe;ej89dBejDejEejFejGgdCdD ZHe<dEdF ZIe;ej89dGe4ej89dBejDejEejFejGgdHdI ZJej8j	e;dJdK ZKe;dLdM ZLej8j	e;ej89dNedOdP ZMej8j	e<ej89dQedRdS ZNej8j	e;ej89dQedTdU ZOe;dVdW ZPej8j	e;ej89dNedXdY ZQej8j	e;ej89dNedZd[ ZRe;d\d] ZSe<d^d_ ZTej8j	d`da ZUej8j	ej8jVdbeWdcddde ZXej89dfg dgdhdi ZYej89dfg dgdjdk ZZe<ej89dledmdn Z[dodp Z\dqdr Z]dsdt Z^dudv Z_dwdx Z`ej8j	dydz Zad{d| Zbej8j	e;ej89d}d~ec fded fdee fgej89dddgdd Zfej8j	ej89dddgdd Zgej8j	dd Zhej8j	ej8jVdeidcdd Zjej8j	ej89dddgek fddgel fg de fg ded fejmn dgeo fdejmn gep feqddddgerdfdeqdddgesdfejt dgeudfejvddgewdfddgex fg dexdfg dey fg dez fg de{ fdddddddge|de fde fgfgdd Z}ej8j	ej89dddgdggeDe fddgddggeDe dfdgddggeEe fgdd Z~dd Zej8j	dd Zdd Zej89dez e{ e gdd Zdd Zdd Zej8jej89dey e{ gdd Zej8jej8jej89dey e{ gdd Zej8jej89dex ez e gdd Zdd Zej89dez e{ e gdd Zdd Zdd Zdd ZddÄ Zej89deo ddgfep ddgfgddȄ Zddʄ Zej89dejrddfejrddfejsddfejsddfgddτ Zddф Zej89dg dӢej89dg dբddׄ Zej89dg dӢddل Zddۄ Zej8jdd݄ Zej8jdd߄ Zdd Zej8j	dd ZG dd dejmZG dd dejZG dd dejvZdd Zej8jVej dddd Zej8jej8jdd Zdd Zej8j	dd Zej89dg dբdd Zej89dg dբdd Zdd Zej89dBejDejEejFejGgdd Zej8j	dd Zd d Zdd Zdd Zdd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zej8j	d&d' Zd(d) Zd*d+ Zd,d- Zej8j	d.d/ ZÐd0d1 ZĐd2d3 ZŐd4d5 ZƐd6d7 Zǐd8d9 Zej89d:e e e e e e e e ed ee g
d;d< Zej89d=e e e e gd>d? Zʐd@dA ZːdBdC Zej89dDdejvdEdfdejvdEdFfdejvdEdGfdejvdHdGfgdIdJ Zej8jdKdL Zej8j	eejСdMdN Zej8jdOdP Zej8jdQdR Zej8jdSdT Zej8jej8jdUdV Zej8jej89dWez dXfex dYfgdZd[ Zej8jd\d] Zej8jej8jd^d_ Ze<ej89d`g daededdgek fg dededede ge fg dbeddede ge fddgededgel fg dceِddeِdedgee fdejmn gdeejmn geo fdejmn gdeejmn ep gep feqddddgeeqddddgesdfejvddgeejvddgewdfdedfddgdeedfddgeudfeg dggeeg dggeۡ fddgededgez fddgededgex fddgedexdedexdgexdfg dhgeg dhgeDe fddggeddggeDez fg dhgejg dheFe digeFe fddggejddgeFez digeFez fg dejde diejde didge fddgejِdde didge fdjdkgejِdjexddiejِdkexddigexdfdgejdey digey fdgejde{ dige{ fdgejdeܡ digeܡ fdgejde dige fdgejdee ez digee ez fddgedee ez edee ez gee ez fdgejdee e digee e fdlgejِdmdnge|de fde fgdige|de fde fgfdogejِdmdpge|de fdez fgdige|de fdez fgfgdqdr Zej8j	e<dsdt ZdS (u      N)_pandas_apiint8int16int32int64uint8uint16uint32uint64c                   @      e Zd Zdd Zdd ZdS )StrangeIterablec                 C   
   || _ d S N)lst)selfr    r   V/var/www/vscode/kcb/lib/python3.10/site-packages/pyarrow/tests/test_convert_builtin.py__init__4      
zStrangeIterable.__init__c                 C   s
   | j  S r   )r   __iter__r   r   r   r   r   7   r   zStrangeIterable.__iter__N)__name__
__module____qualname__r   r   r   r   r   r   r   3       r   c                   @   r   )MyIntc                 C   r   r   value)r   r   r   r   r   r   <   r   zMyInt.__init__c                 C   s   | j S r   r   r   r   r   r   __int__?   s   zMyInt.__int__N)r   r   r   r   r   r   r   r   r   r   ;   r   r   c                   @      e Zd Zdd ZdS )MyBrokenIntc                 C   s   dd  d S )N   r   r   r   r   r   r   r   D   s   zMyBrokenInt.__int__N)r   r   r   r   r   r   r   r   r    C       r    c                 C   s(   t j| sJ t| t|ksJ dS )zP
    Check a struct type is as expected, but not taking order into account.
    N)patypes	is_structset)tyexpectedr   r   r   check_struct_typeH   s   r)   c                  C   s.   t tg d} t d}| |sJ d S )N)r   r!         )r#   arrayr   equalsarr1arr2r   r   r   test_iterable_typesP   s   
r1   c                  C   sR   t tg } t| dksJ | jdksJ | jt  ksJ |  g ks'J d S Nr   )r#   r,   r   len
null_counttypenull	to_pylistarrr   r   r   test_empty_iterableW   
   r:   c                  C   s8   t jttdt  dd} t d}| |sJ d S )Nr+   r5   sizer   r!   r*   r#   r,   iterranger   r-   r.   r   r   r   test_limited_iterator_types_      
rB   c                  C   8   t jttdt  dd} t d}| |sJ d S )Nr+   r*   r<   )r   r!   r?   r.   r   r   r   #test_limited_iterator_size_overflowe   rC   rE   c                  C   rD   )Nr+   
   r<   r>   r?   r.   r   r   r   $test_limited_iterator_size_underflowk   rC   rG   c                  C   sV   t d} t ttd}|| sJ t jttdt  d}|| s)J d S )Nr>   r+   r5   )r#   r,   r@   rA   r-   r   r(   r/   r   r   r   test_iterator_without_sizeq   s
   
rJ   c                  C   sX   t d} t jtddd}|| sJ t jtdt  dd}|| s*J d S )Nr>   r   r+   r=   r<   )r#   r,   	itertoolscountr-   r   rI   r   r   r   test_infinite_iteratorz   s
   
rN   c                   C   s   t t tdd tdD  W d    n1 sw   Y  t t tjdd tdD dd W d    d S 1 s@w   Y  d S )Nc                 s       | ]}d d V  qdS r!   r   Nr   .0xr   r   r   	<genexpr>       z(test_failing_iterator.<locals>.<genexpr>rF   c                 s   rO   rP   r   rQ   r   r   r   rT      rU   rK   )pytestraisesZeroDivisionErrorr#   r,   rA   r   r   r   r   test_failing_iterator   s   "rY   c                   @   r   )ObjectWithOnlyGetitemc                 C   s   dS )Nr+   r   )r   keyr   r   r   __getitem__      z!ObjectWithOnlyGetitem.__getitem__N)r   r   r   r\   r   r   r   r   rZ      r"   rZ   c                   C   s@   t jtdd tt  W d    d S 1 sw   Y  d S )Nzhas no len()match)rV   rW   	TypeErrorr#   r,   rZ   r   r   r   r   test_object_with_getitem   s   "ra   c                 C   s   | S r   r   xsr   r   r   _as_list   r]   rd   c                 C      t | S r   )tuplerb   r   r   r   	_as_tuple      rg   c                 C   s
   t | S r   )collectionsdequerb   r   r   r   	_as_deque   s   
rk   c                 C   s   dd t | D }| S )Nc                 S   s   i | ]\}}||qS r   r   )rR   kvr   r   r   
<dictcomp>       z#_as_dict_values.<locals>.<dictcomp>)	enumeratevalues)rc   dctr   r   r   _as_dict_values   s   rs   c                 C   s"   t jt| td}| |d d < |S )Ndtype)npemptyr3   object)rc   r9   r   r   r   _as_numpy_array   s   ry   c                 C   re   r   )r&   rb   r   r   r   _as_set   rh   rz   seqc                 C   s2   t | g d}t g d}||sJ d S Nr!   r*   r+   r#   r,   r-   r{   r/   r0   r   r   r   test_sequence_types   s   r   c                 C   s6   t | g dg}t g dg}||sJ d S r|   r~   r   r   r   r   test_nested_sequence_types   s   r   c                 C   Z   g d}t | |}t|dksJ |jdksJ |jt  ks#J | |ks+J d S )NTNFN   r*   )r#   r,   r3   r4   r5   bool_r7   r{   r(   r9   r   r   r   test_sequence_boolean      r   c                 C   sP   t dd t dd g}t| |}|jt ksJ | g dks&J d S )NTFr   )rv   r   r#   r,   r5   r7   r   r   r   r   test_sequence_numpy_boolean   s   r   c                 C   sX   t ddg}t| |d d |d ddg}|jt ks J | g dks*J d S )NTFr   r!   )TNFTF)rv   r,   r#   r5   r   r7   )r{   rq   r9   r   r   r   &test_sequence_mixed_numpy_python_bools   s    r   c                 C   sR   t | g }t|dksJ |jdksJ |jt  ksJ | g ks'J d S r2   r#   r,   r3   r4   r5   r6   r7   r{   r9   r   r   r   test_empty_list   s
   r   c                 C   sf   g ddgd g}t | |}t|dksJ |jdksJ |jt t  ks)J | |ks1J d S )Nr!   r*   r+   )r#   r,   r3   r4   r5   list_r   r7   r{   datar9   r   r   r   test_nested_lists   s   r   factoryc                 C   sp   g ddgd g}t j| ||t  d}t|dksJ |jdks#J |j|t  ks.J | |ks6J d S Nr!   r*   rH   r+   )r#   r,   r   r3   r4   r5   r7   )r{   r   r   r9   r   r   r   $test_nested_lists_with_explicit_type  s   r   c                 C   sF  t t tj| g ddgdgtt d W d    n1 s#w   Y  t t tj| g ddgdgtt d W d    n1 sKw   Y  t t tj| g ddgdgtt d W d    n1 ssw   Y  t t tj| g ddgdgt	t d W d    d S 1 sw   Y  d S )Nr!   r*   r+   rH   )
rV   rW   r`   r#   r,   r   r   
large_list	list_viewlarge_list_view)r{   r   r   r   test_list_with_non_list  s   (((("r   	inner_seqc                 C   s~   t j| |g |ddgd g|t  d}t|dksJ |jdks%J |j|t  ks0J | g ddgd gks=J d S r   )r#   r,   r   r3   r4   r5   r7   )r{   r   r   r9   r   r   r   test_nested_arrays  s   
r   c              	   C   s  ddgdd gd g}t j| |t t  dd}t|dks J |jdks'J |jt t  dks4J | |ks<J tjddgddtjddgddd g}t j| |t t  dd}t|dksfJ |jdksmJ |jt t  dkszJ | ddgddgd gksJ g ddd gd g}g d	gtjg dddgfD ](}t	j
td
d t j| |t t  dd W d    n1 sw   Y  qg g d g}t j| |t t  dd}t|dksJ |jdksJ |jt t  dksJ | g g d gksJ d S )Nr!   r*   r+   rH   r   rt   r   )r!   r*   r   r}   z&Length of item not correct: expected 2r^   r   )r#   r,   r   r   r3   r4   r5   r7   rv   rV   rW   
ValueErrorr   r   r   r   test_nested_fixed_size_list/  s8    " 
r   c                 C   sZ   t | d d g}t|dksJ |jdksJ |jt  ks!J | d d gks+J d S )Nr*   r   r   r   r   r   test_sequence_all_noneS  s
   r   np_scalar_pa_typec                 C   s   |\}}t t|}dd dd t|jt|jg}tj| ||d}t|dks*J |jdks1J |j	|ks8J |
 |ks@J d S Nr!   r+   rH      r*   getattrrv   iinfominmaxr#   r,   r3   r4   r5   r7   r{   r   np_str_scalarpa_type	np_scalarr(   r9   r   r   r   test_sequence_integer\  s   
r   r   c                 C   s   t t tj| tjg|dd W d    n1 sw   Y  tj| tjg|dd}d g}t|dks8J |jdks?J |j	|ksFJ |
 |ksNJ d S )NFr5   from_pandasTr!   )rV   rW   r   r#   r,   rv   nanr3   r4   r5   r7   r{   r   r9   r(   r   r   r   test_sequence_integer_np_nank  s   r   c                 C   s   t t tj| tjggt|dd W d    n1 s w   Y  tj| tjggt|dd}d gg}t|dksAJ |j	dksHJ |j
t|ksRJ | |ksZJ d S )NFr   Tr!   r   )rV   rW   r   r#   r,   rv   r   r   r3   r4   r5   r7   r   r   r   r   #test_sequence_integer_nested_np_nan|  s   " r   c                 C   r   )Nr!   Nr+   Nr   r*   )r#   r,   r3   r4   r5   r   r7   r   r   r   r   test_sequence_integer_inferred  r   r   c              	   C   s   |\}}t t|}|dd |dd |t|j|t|jg}tj| ||d}t|dks2J |jdks9J |j	|ks@J |
 |ksHJ d S r   r   r   r   r   r   test_sequence_numpy_integer  s   
r   c                 C   s   |\}}t t|}|dd |dd g}||t|j|t|jg7 }t| |}t|dks4J |jdks;J |j	|ksBJ |
 |ksJJ d S )Nr!   r+   r   r*   r   r   r   r   r   $test_sequence_numpy_integer_inferred  s   
r   c                 C   s@   g d}t tt|}tj| |t d}| |ksJ d S )N)r   *   l       l         rH   )listmapr   r#   r,   r   r7   )r{   r(   r   r9   r   r   r   test_sequence_custom_integers  s   r   c                 C   sT   t  g}tjtjdd tj| |t d W d    d S 1 s#w   Y  d S )Ntried to convert to intr^   rH   )r    rV   rW   r#   ArrowInvalidr,   r   )r{   r   r   r   r   test_broken_integers  s   "r   c                  C   s   t dt dg} t| }tjddgdd}||sJ t dt dg} t| }tjddgdd}||s>J d S )NrF   g      ?float64rH   float32)rv   r   r   r#   r,   r-   r   )r   r9   r(   r   r   r   test_numpy_scalars_mixed_type  s   

r   z)Type inference for uint64 not implemented)reasonrW   c                  C   sb   dt t jjg} tj| t d}tt j| dd}||s#J t| }||s/J d S )Nr   rH   r
   rt   )rv   r   r
   r   r#   r,   r-   )r   r9   r(   arr_inferredr   r   r   test_uint64_max_convert  s   
r   bits)          @   c                 C   s   t td|   }tttjf td| d  g| W d    n1 s&w   Y  tttjf td| d   d g| W d    d S 1 sMw   Y  d S )Nzint%dr*   r!   r   r#   rV   rW   OverflowErrorr   r,   r   r'   r   r   r   test_signed_integer_overflow  s   "r   c                 C   s   t td|   }tttjf td|  g| W d    n1 s$w   Y  tttjf tdg| W d    d S 1 sDw   Y  d S )Nzuint%dr*   r   r   r   r   r   test_unsigned_integer_overflow  s   "r   typc                 C   sF   t tj tj| dg|d W d    d S 1 sw   Y  d S )N1rH   )rV   rW   r#   r   r,   )r{   r   r   r   r   test_integer_from_string_error  s   "r   c                  C   s   g d} g d}t j| |d}t g d}||sJ tt t j| |dd  d W d    d S 1 s9w   Y  d S )N)r!   r*   r+   r      )FTFFT)mask)r!   Nr+   r   Nr!   )r#   r,   r-   rV   rW   r   )r   r   resultr(   r   r   r   test_convert_with_mask  s   "r   c                  C   sB   dd l } |   t }tg d |   t |ksJ d S )Nr   r   )gccollectr#   total_allocated_bytesr,   )r   bytes_beforer   r   r   test_garbage_collection  s   r   c                  C   V   g d} t | }t|dksJ |jdksJ |jt  ks!J | | ks)J d S )N      ?      ?N      @NNr   r+   )r#   r,   r3   r4   r5   r   r7   r   r9   r   r   r   test_sequence_double     
r   c                  C   sh   g d} t | }g d}t |}||sJ g d}t |}g d}t |}||s2J d S )Nr   )r   r!   Nr   NN)r!   r   Nr   NN)r   r   Nr   NNr~   )r   r9   data2r0   data3arr3data4arr4r   r   r   $test_double_auto_coerce_from_integer"  s   



r   c                  C   s   g d} g d}g d}t |  tt t | W d    n1 s&w   Y  tt t | W d    d S 1 sAw   Y  d S )N)r   r!   r*   Nl          l       )r   r!   r*   Nl         )r   r!   r*   Nl      )r#   r,   rV   rW   r   )valid_valuesinvalid_valuesinvalid_values2r   r   r   .test_double_integer_coerce_representable_range5  s   
"r   c                  C   s   t j} | dddg}| ddg}| ddg}tj|t d tt tj|t d W d    n1 s8w   Y  tt tj|t d W d    d S 1 sWw   Y  d S )Nr   i   i   i  irH   )rv   r   r#   r,   rV   rW   r   )f32r   r   r   r   r   r   /test_float32_integer_coerce_representable_rangeE  s   "r   c                   C   s   t jtdd tjddgt d W d    n1 sw   Y  t jtdd tjddgt d W d    n1 s?w   Y  t jtdd tddg W d    d S 1 s^w   Y  d S )	Nztried to convert to booleanr^   TfoorH   ztried to convert to float32r   ztried to convert to double)rV   rW   r   r#   r,   r   r   r   r   r   r   test_mixed_sequence_errorsW  s   "r   znp_str_scalar,pa_typefloat16r   r   r   TFc                 C   s   t t|}|d|dd |dd tjg}tj| ||d}t|dks%J |r/|jdks.J n|jdks6J |r@|j|ks?J n	|jt ksIJ |	 d d |d d ksYJ |rg|	 d	 d u seJ d S t
|	 d	 srJ d S )
Nr   r!   r   r   r   r+   r*   r   r   )r   rv   r   r#   r,   r3   r4   r5   r   r7   isnan)r{   r   r   r   r   r   r9   r   r   r   test_sequence_numpy_doubleb  s   
	 r   c                 C   s   t jtfD ]b}t j|ddg|g d|t jgd gtd}tj|| d}t|dks-J |jdks4J |jt	t
 ks@J | rT| ddgg dd gd gksSJ qt j| ddgg dt jgd g qd S )Nr          @)r   r         @rt   r   r   r!   )rv   r,   r   r   rx   r#   r3   r4   r5   r   r   r7   testingassert_equal)r   r   r   r9   r   r   r    test_ndarray_nested_numpy_double  s&   


$r   c                  C   s6  t jdtd} t jddgt jdt jddgt jdg| d d < t jdtd}ddg|d< ddg|d< ttt }t| g|ksFJ t| |g}tjddgddggddgddggg|d	}||siJ t jdtd} t dgt dgg| d d < t| | g}|	 dgdggdgdgggksJ d S )
Nr*   rt   r!   r+   r   r   r   r   rH   )
rv   rw   rx   r,   r   r#   r   
infer_typer-   r7   r9   r0   expected_typer   r(   r   r   r   #test_nested_ndarray_in_object_array  s$   " (r   z?Type inference for multidimensional ndarray not yet implementedc                  C   s   t jddgddggt jd} t jddgddggt jd}ttt }t| g|ks0J t| |g}tjddgddggddgddggg|d}||sSJ d S )	Nr!   r*   r+   rt   r   r   r   rH   )rv   r,   r   r#   r   r   r-   r   r   r   r   ,test_multidimensional_ndarray_as_nested_list  s   "r   )r   
value_typer!   r*   N)r!   r   r   Nr!   sr*   usrF   )seconds   a   b)s   aaas   bbbs   cccr+   )r  r     cabcr  r  r   r  r  c                 C   sN   t |}tj| td}t j|g|d}|j|sJ | | gks%J d S )Nrt   rH   )r#   r   rv   r,   rx   r5   r-   r7   )r   r   r'   ndarrayr9   r   r   r   #test_list_array_from_object_ndarray  s
   
r  r   c                 C   sh   t jt| td}dd | D |d d < t|}tj|g|d}|j|s)J |	 | gks2J d S )Nrt   c                 S   s   g | ]	}t j|td qS )rt   )rv   r,   rx   )rR   itemr   r   r   
<listcomp>      z>test_nested_list_array_from_object_ndarray.<locals>.<listcomp>rH   )
rv   rw   r3   rx   r#   r   r,   r5   r-   r7   )r   r   r
  r'   r9   r   r   r   *test_nested_list_array_from_object_ndarray  s   
r  c                  C   sr   t t ttddg W d    n1 sw   Y  tjtddgdd} td dg}| |s7J d S )Nr   strTr   )rV   rW   r   r#   r,   floatr-   )r9   r(   r   r   r   !test_array_ignore_nan_from_pandas  s   r  c                  C   s   t jg dddd t jg dddg} t| }tjg dd g dgtt d}||s2J tt }tj| |d}||}||sLJ d S )Nr}   r   rt   )r   r   r   r	   rH   )rv   r,   r#   r   r   r-   r	   cast)r   r9   r(   t2r0   	expected2r   r   r   $test_nested_ndarray_different_dtypes  s   

r  c                  C   r   )Nr   barN   mañanar   r!   )r#   r,   r3   r4   r5   stringr7   r   r   r   r   test_sequence_unicode  r   r  r'   c                 C   sV   g d}t j|| d}t|dksJ |jdksJ |j| ks!J | |ks)J d S )Nr  rH   r   r!   )r#   r,   r3   r4   r5   r7   )r'   r   r9   r   r   r   #test_sequence_unicode_explicit_type  s   r  c                 C   s   ddt dg}g d}g d}t|}tj|t d}|jt ks&J ||s-J tj|| d}tj|| d}|j| ksBJ ||sIJ tj||d}tj||d}|j|ks^J ||seJ d S )Nqux   foo   barz)s   quxr  r  )r  r   barzrH   )	bytearrayr#   r,   binaryr5   r-   )binary_typestring_typerq   b_valuesu_valuesr9   r(   r   r   r   check_array_mixed_unicode_bytes%  s   
r'  c                   C   s:   t t t  t t t  t t t  d S r   )r'  r#   r"  r  large_binarylarge_stringbinary_viewstring_viewr   r   r   r   test_array_mixed_unicode_bytes:  s   r,  c                 C   s`   d}t dt| }|g| }tj|| d}t|tjsJ |j| ks&J t||ks.J d S )Nsh  0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz       rH   )mathceilr3   r#   r,   
isinstanceArrayr5   )r'   r   nrepeatsr   r9   r   r   r   test_large_binary_array@  s   
r3  c                 C   s   d}t dt| }tjd|| d dg| d}t|tjs J |j| ks'J t|dks/J |d  }t|t|| ksAJ d S )N$   0123456789abcdefghijklmnopqrstuvwxyzr-  r     barrH   r   r!   )	r.  r/  r3   r#   r,   r0  r1  r5   	as_buffer)r'   r   r2  r9   bufr   r   r   test_large_binary_valueM  s   r8  c                 C   sb   d}t dt| }ttj tjd|| d dg| d W d    d S 1 s*w   Y  d S )Nr4  r-  r  r5  rH   )r.  r/  r3   rV   rW   r#   ArrowCapacityErrorr,   )r'   r   r2  r   r   r   test_string_too_large\  s
   "r:  c                  C   s   d} dt dt dd d d | dtdd g}d t t t fD ]1}tj||d}t|d	ks5J |j	d
ks<J |j
|ksGt sGJ | ddd| dd gksUJ q$d S )Ns   mañanar  s   dadas   d-a-t-ar*   zutf-8r5  rH   r   r!   s   data)
memoryviewdecoder!  r#   r"  r(  r*  r,   r3   r4   r5   r7   )u1r   r'   r9   r   r   r   test_sequence_bytesf  s   r>  c                 C   s   g d}t j|| d}|j| ksJ |d  dksJ dd}tt j t j|g| d W d    d S 1 s;w   Y  d S )N)r  Nr5  rH   r   r   r  z	utf-16-le)r#   r,   r5   as_pyencoderV   rW   r   )r'   r   r9   valr   r   r   test_sequence_utf8_to_unicodew  s   
"rB  c                  C   sn   dd t ddg} tj| tdd}t|dksJ |jdks!J |jtdks+J | g dks5J d S )N   foof   barb   2346r   rH   r!   )rC  NrD  rE  )r!  r#   r,   r"  r3   r4   r5   r7   r   r   r   r   test_sequence_fixed_size_bytes  s   rF  c                  C   sN   g d} t tj tj| tdd W d    d S 1 s w   Y  d S )N)r  NrD  rE  r   rH   )rV   rW   r#   r   r,   r"  r   r   r   r   5test_fixed_size_bytes_does_not_accept_varying_lengths  s   "rH  c                  C   sF   dg} t | d dksJ td}tj| |d}| | ks!J d S )Ns   h    Ar      rH   )r3   r#   r"  r,   r7   )r   r'   r9   r   r   r   #test_fixed_size_binary_length_check  s
   
rJ  c                  C   s   t dddd t dddt dddg} t| }t|dks"J |jt ks+J |jdks2J |d  t dddksAJ |d  d u sKJ |d  t dddksZJ |d	  t dddksiJ d S )
N  r!   i  i  r*      r   r   r+   )	datetimedater#   r,   r3   r5   date32r4   r?  r   r   r   r   test_sequence_date  s   
"rP  inputi*  l    ,Uqc                 C   s   | \}}t dddd g}tj||d}tj||d}||fD ]1}t|dks)J |j|ks0J |jdks7J |d  t dddksFJ |d  d u sPJ qd S )NrK  r!   rH   r*   r   )rM  rN  r#   r,   r3   r5   r4   r?  )rQ  t	ex_valuesr   r9   r0   rS   r   r   r   test_sequence_explicit_types  s   rT  c                  C   sP   dd g} t ttjf tj| t d W d    d S 1 s!w   Y  d S )Nl        rH   )rV   rW   r   r#   ArrowExceptionr,   rO  )r   r   r   r   test_date32_overflow  s   "rV  )	time_typeunitint_typemsnsc              
      sR   fdd} fdd}t ddddt d	d
d
dd t ddddt ddd
dg}|  }tj||d}t|d	ks>J |j|ksEJ |jdksLJ ||}tt	||}	|
 |	ks`J |d
  ||d
 ksnJ |d  ||d ks|J |d  d u sJ |d  ||d ksJ |d  ||d ksJ ddd}
d S )Nc                    sV   g d}d|  d  }| d u rd S | jd | jd  | j | jd  }t|| S )Nr   rZ  r   r[  rF   r+   i  <   gư>)indexhourminutesecondmicrosecondint)rR  units
multiplierr  rX  r   r   expected_integer_value  s   z@test_sequence_time_with_timezone.<locals>.expected_integer_valuec                    s6    dkr
| j ddS  dkr| j | jd d dS | S )Nr   r   rb  rZ    )replacerb  )rR  rf  r   r   expected_time_value  s
   z=test_sequence_time_with_timezone.<locals>.expected_time_valuer      "   @ r   r   ri  r!      8   雙 rF   í rH   r*   r+   r   c                 S   s   t j| |d}t |S )N)hoursminutes)rM  	timedeltatimezone)rs  rt  offsetr   r   r   tz  s   
z,test_sequence_time_with_timezone.<locals>.tz)r   )rM  timer#   r,   r3   r5   r4   r  r   r   r7   r?  )rW  rX  rY  rg  rk  r   r'   r9   rq   r(   rx  r   rf  r    test_sequence_time_with_timezone  s,   
rz  c                  C   s  t  dddddddd t  dddd	dd
dt  dddddddg} t| }t|dks.J |jtdks8J |jdks?J |d  t  dddddddksRJ |d  d u s\J |d  t  dddd	dd
dksoJ |d  t  dddddddksJ d S N        r!   rl  rm  rn    rI  rp  rq    r   r   .   9   rr  r   r   r   r*   r+   )rM  r#   r,   r3   r5   	timestampr4   r?  r   r   r   r   test_sequence_timestamp  s&   


r  rv  )NUTCz	Etc/GMT-1zEurope/BudapestrX  r\  c                    st  t d fdd} fdd}tdddd	d
dd jtdddddddd  dtddddddd dtdd	dddddg} j|d |d d |d  j|d  jg}tjd}tj	||d}t
|dksJ |j|ksJ |jdksJ |d}tt||}	| |	ksJ tt
|D ]}
||
  |||
 ksJ qd S )Npytzc                    sD   g d}d|  d  }| d u rd S tt|  }t|| S )Nr\  rF   r+   )r^  decimalDecimalr  r  rc  )dtrd  re  tsrf  r   r   rg  %  s   zEtest_sequence_timestamp_with_timezone.<locals>.expected_integer_valuec                    sd   | d u rd S dkr| j dd} ndkr | j | jd d d} d u r*| j d dS |  S )Nr   r   rh  rZ  ri  tzinfo)rj  rb  
astimezonerv  )r  r  rv  rX  r   r   expected_datetime_value/  s   zFtest_sequence_timestamp_with_timezone.<locals>.expected_datetime_valuer|  r}  r~  r   rl  rm  rn    r!   r   r   ri  
US/Easternr  rI  rp  rq  Europe/Moscowr  rr  r+   r   rx  rH   r   )rV   importorskiprM  utclocalizerv  r  r#   r  r,   r3   r5   r4   r  r   r   r7   rA   r?  )rv  rX  rg  r  r   utcdatar'   r9   rq   r(   ir   r  r   %test_sequence_timestamp_with_timezone  s@   




r  c                    s   t d dd l}| dd tddddd	d
d|jtddddddd|dtddddd
dd|dtdddddddg}dd |D }|d urb||  fdd|D }tj	d|d}tj
||d}| |ksxJ d S )Nr  r   PYARROW_IGNORE_TIMEZONEr   r|  r}  r~  r   rl  rm  rn  r  r!   r   ri  r  r  rI  rp  rq  r  r  rr  c                 S   s   g | ]}|j d dqS )Nr  )rj  rR   r  r   r   r   r  ~  s    zEtest_pyarrow_ignore_timezone_environment_variable.<locals>.<listcomp>c                    s   g | ]}  |qS r   )fromutcr  r  r   r   r    ro   r   r  rH   )rV   r  r  setenvrM  r  r  rv  r#   r  r,   r7   )monkeypatchrv  r  r   r(   r'   r9   r   r  r   1test_pyarrow_ignore_timezone_environment_variablee  s*   



r  c                  C   s  t d dd l} tddddddd	| jtd
ddddddd | dtddddddd| dtdddddddg}tjdd dtjdddtjdd dtjdddtjdddg}t	||D ]\}}|g| }t
|}|j|ks~J qid S )Nr  r   r|  r}  r~  r   rl  rm  rn  r  r!   r   ri  r  r  rI  rp  rq  r  r  rr  r   r  r  )rV   r  r  rM  r  r  rv  r#   r  zipr,   r5   )r  r   r(   r  r   	prependedr9   r   r   r   /test_sequence_timestamp_with_timezone_inference  s2   




r  c                  C   s  t d dd l} tddddddd	tjd
ddddddtjjdd tjddddddd| jdddtjddddddd| jdddg}tjdd dtjdddtjdd dtjdddtjdddg}t	||D ]\}}|g| }t
|}|j|ks~J qid S )Nzoneinfor   r|  r}  r~  r   rl  rm  rn  r  r!   r   ri  r  r  rI  rp  rq  r  )r[   r  rr  r  r   r  r  )rV   r  r  rM  rv  r  ZoneInfor#   r  r  r,   r5   )r  r   r(   r  r   r  r9   r   r   r   8test_sequence_timestamp_with_zoneinfo_timezone_inference  s2   




r  c                  C   s   t d dd l} dd l}|jd| dddtddd	d
ddd| jtdddddddd g}|d 	| j| j|d |d 	| jd g}t
|}|jt
jdddks[J |d}dd |D }| |ksoJ d S )Nr  r   l   {FK| r  r[  )rx  rX  r|  r}  r~  r   rl  rm  rn  r  r!   r   ri  r*   r   r  r   c                 S   s$   g | ]}|rt | d  ndqS )i@B N)rc  r  r  r   r   r   r    s   $ zStest_sequence_timestamp_from_mixed_builtin_and_pandas_datetimes.<locals>.<listcomp>)rV   r  r  pandas	Timestamprv  rM  r  r  r  r#   r,   r5   r  r  r7   )r  pdr   r  r9   rq   r(   r   r   r   ?test_sequence_timestamp_from_mixed_builtin_and_pandas_datetimes  s,   



r  c                  C   s  t  dddg} tjtdd tj| tdd W d    n1 s$w   Y  tj| tdd}| | ks;J t t j	d	d
}t j dddd|dg} tjtdd tj| tdd W d    n1 skw   Y  tj| tdd}| d t  dddksJ d S )Ni  r   rI  zout of boundsr^   r[  rH   r   r   )rs  ro  rl  r  r   )
rM  rV   rW   r   r#   r,   r  r7   rv  ru  )r   r9   rx  r   r   r   0test_sequence_timestamp_out_of_bounds_nanosecond  s   "r  c                  C   s  t tdddddddd t tdddd	dd
dt tdddddddg} t| }t|dks7J |jtdksAJ |jdksHJ |d 	 tdddddddks[J |d 	 d u seJ |d 	 tdddd	dd
dksxJ |d 	 tdddddddksJ d S r{  )
rv   
datetime64rM  r#   r,   r3   r5   r  r4   r?  r   r   r   r   test_sequence_numpy_timestamp  s&   


r  c                   @      e Zd ZdS )MyDateNr   r   r   r   r   r   r   r  
      r  c                   @   r  )
MyDatetimeNr  r   r   r   r   r    r  r  c                   @   r  )MyTimedeltaNr  r   r   r   r   r    r  r  c            	   
   C   s  t dddg} t }tj| |d}t|dksJ |j|ks!J |d  tdddks0J t	ddddddd	g} t
d
}t
d}t
d}tj| |d}t|dksYJ |j|ks`J |d  tdddddddkssJ tj| |d}t|dksJ |j|ksJ |d  tdddddddksJ tj| |d}t|dksJ |j|ksJ |d  tddddddd	ksJ tdddg} td
}td}td}t| }t|dksJ |j|ksJ |d  tdddksJ tj| |d}t|dksJ |j|ksJ |d  tddks%J tj| |d}t|dks5J |j|ks=J |d  tdddksMJ tj| |d}t|dks]J |j|kseJ |d  tdddksuJ d S )Nr|  r}  r~  rH   r!   r   rl  rm  rn  r   rZ  r   ix {   i  i  ri  )r  r#   rO  r,   r3   r5   r?  rM  rN  r  r  r  durationru  )	r   	date_typearr_dater   rZ  r   arr_sarr_msarr_usr   r   r   test_datetime_subclassing  sf   











 $r  z)pandas required for nanosecond conversion)r   c                  C   s   t  dddddddgtdddddddgg} | D ]0}td}tj||d	}t|dks/J |j|ks6J |d
  t  dddddddksIJ qd S )Nr|  r}  r~  r!   rl  rm  rn  r[  rH   r   )rM  r  r#   r  r,   r3   r5   r?  )inputsr   r[  arr_nsr   r   r   #test_sequence_timestamp_nanosecondsW  s   
r  c               	   C   s  dg} t d}t d}t d}t d}t j| |d}t|dks&J |j|ks-J t|d dks7J t|d d	ksAJ t j| |d}t|dksPJ |j|ksWJ t|d  d
kscJ t|d dksmJ t j| |d}t|dks|J |j|ksJ t|d  dksJ t|d dksJ t j| |d}t|dksJ |j|ksJ t|d  dksJ t|d dksJ t}	G dd d}
|t 	 t 
 fD ]!}t|	 t jd|
 g|d W d    n1 sw   Y  qd S )Nr!   r   rZ  r   r[  rH   r   z0<pyarrow.TimestampScalar: '1970-01-01T00:00:01'>z1970-01-01 00:00:01z,datetime.datetime(1970, 1, 1, 0, 0, 0, 1000)z1970-01-01 00:00:00.001000z)datetime.datetime(1970, 1, 1, 0, 0, 0, 1)z1970-01-01 00:00:00.000001z*Timestamp('1970-01-01 00:00:00.000000001')z1970-01-01 00:00:00.000000001c                   @   r  )z?test_sequence_timestamp_from_int_with_unit.<locals>.CustomClassNr  r   r   r   r   CustomClass  r  r  )r#   r  r,   r3   r5   reprr  r?  r`   rO  date64rV   rW   )r   r   rZ  r   r[  r  r  r  r  expected_excr  r'   r   r   r   *test_sequence_timestamp_from_int_with_unith  sR   




r  c                  C   s   t ddd} t ddd}| d |g}t|}t|dks J |jtdks*J |jdks1J |d  | ks;J |d  d u sEJ |d  |ksOJ d S 	Nr*   i  r!   d   ri  r+   r   r   )	rM  ru  r#   r,   r3   r5   r  r4   r?  td1td2r   r9   r   r   r   test_sequence_duration  s   

r  c                  C   s   t ddd} t ddd}t| d t|g}t|}t|dks&J |jtdks0J |j	dks7J |d 
 | ksAJ |d 
 d u sKJ |d 
 |ksUJ d S r  )rM  ru  rv   timedelta64r#   r,   r3   r5   r  r4   r?  r  r   r   r    test_sequence_duration_np_scalar  s   
r  c                 C   s   t dddg}t ddt dddt dddt dddd}t| }tj||d}t|dks6J |j|ks=J |d  ||  ksIJ d S )	Nr+      i  ri  r\  rH   r!   r   )rM  ru  r#   r  r,   r3   r5   r?  )rX  r   r(   r'   r  r   r   r    test_sequence_duration_with_unit  s   

r  c                 C   sR   dg}t | }t j||d}t|dksJ |j|ksJ |d jdks'J d S )Nr   rH   r!   r   )r#   r  r,   r3   r5   r   )rX  r   r'   r9   r   r   r   )test_sequence_duration_from_int_with_unit  s   
r  c                  C   sr   t ddd} t dd}| d g| |gg}t|}t|dks"J |jttdks/J | |ks7J d S )Nr!   ri  r  r*   r   )	rM  ru  r#   r,   r3   r5   r   r  r7   r  r   r   r   #test_sequence_duration_nested_lists  s   
r  c                 C   s~   t ddd}t dd}|d g||gg}tj|| tdd}t|dks)J |j| tdks5J | |ks=J d S )Nr!   ri  r  rZ  rH   r*   )rM  ru  r#   r,   r  r3   r5   r7   )r   r  r  r   r9   r   r   r   6test_sequence_duration_nested_lists_with_explicit_type  s   r  c                  C   s  t ddd} t dd}t| d gt| t|gg}t|}t|dks+J |jtt	dks8J |
 | d g| |ggksFJ tjt| d gddtt| t|gg}t|}t|dkslJ |jtt	dksyJ |
 | d g| |ggksJ d S )Nr!   ri  r  r*   r   ztimedelta64[us]rt   )rM  ru  rv   r  r#   r,   r3   r5   r   r  r7   r  r   r   r   )test_sequence_duration_nested_lists_numpy  s    

 r  c                  C   s  g d} t | }|jt  ksJ | | ksJ dgdgd g} t | }|jt t  ks2J | | ks:J dgg dd gg} t | }|jt t  ksTJ | | ks\J d d dggg dd gd gg} t | }|jt t t  ks~J | | ksJ t jt jf}t	| t dddgg W d    n1 sw   Y  t	| t ddg g W d    n1 sw   Y  t	| t dgdgd dggg W d    d S 1 sw   Y  d S )Nr   r!   r*   )r*   r+   r   )
r#   r,   r5   r   r7   r   r   ArrowTypeErrorrV   rW   )r   r9   
exceptionsr   r   r   test_sequence_nesting_levels	  s4   



"r  c                  C   sD   g d} t tj t|  W d    d S 1 sw   Y  d S )N)r  r!   r   )rV   rW   r#   r  r,   rG  r   r   r   test_sequence_mixed_types_fails+  s   "r  c                  C   sZ   ddddidddg} t  }tt t j| |d W d    d S 1 s&w   Y  d S )	Nz-10z-5r  r!   0510rH   )r#   r  rV   rW   r`   r,   )r   r5   r   r   r   3test_sequence_mixed_types_with_specified_type_fails1  s
   "r  c                  C   sX   t dt dg} tjtjtjtjfD ]}tj| |dddd}| | ks)J qd S )Nz1234.183z8094.234r}  r+   	precisionscalerH   	r  r  r#   	decimal32	decimal64
decimal128
decimal256r,   r7   r   r5   r9   r   r   r   test_sequence_decimal9  
   r  c                  C   T   t dt dg} tjtjtjfD ]}tj| |dddd}| | ks'J qd S )Nz1234234983.183z80943244.234r~  r+   r  rH   r  r  r#   r  r  r  r,   r7   r  r   r   r   *test_sequence_decimal_different_precisions@  s   r  c                  C   sR   t dt dg} tjtjtjfD ]}tj| |ddd}| | ks&J qd S )N
12342349838094324rF   )r  rH   r  r  r   r   r   test_sequence_decimal_no_scaleI  s
   r  c                  C   r  )Nz-1234.234983z	-8.094324rF   r   r  rH   r  r  r   r   r   test_sequence_decimal_negativeP  s
   r  c                  C   sX   t dt dg} tjtjtjtjfD ]}tj| |dddd}| | ks)J qd S )Nz	-.4234983z.0103943r}  r  rH   r  r  r   r   r   #test_sequence_decimal_no_whole_partW  r  r  c                  C   sP   t dt dg} tjtjfD ]}tj| |dddd}| | ks%J qd S )Nz-394029506937548693.42983z32358695912932.01033rl  r   r  rH   )r  r  r#   r  r  r,   r7   r  r   r   r   #test_sequence_decimal_large_integer^  s   r  c                  C   sR   g d} dd | D }t jt jfD ]}t j| |dddd}| |ks&J qd S )N)r   r!   lc&E(ON c                 S   s   g | ]}t |qS r   )r  r  rQ   r   r   r   r  h  ro   z7test_sequence_decimal_from_integers.<locals>.<listcomp>   r   r  rH   )r#   r  r  r,   r7   )r   r(   r5   r9   r   r   r   #test_sequence_decimal_from_integersf  s   r  c                   C   sF   t jtdd ttdg W d    d S 1 sw   Y  d S )Nzprecision out of ranger^   P11111111111111111111111111111111111111111111111111111111111111111111111111111111)rV   rW   r   r#   r,   r  r  r   r   r   r   (test_sequence_decimal_too_high_precisionn  s   "r  c                  C   s  t dtddft dtddft dtdd	ft d
tddft dtddft dtddft dtddft dtddft dtddff	D ]%\} }t| g|ksjJ t| g}|j|kswJ | d | ksJ q\d S )N1.234r   r+   12300r   r   z12300.0r   r!   1.23E+4z123E+2z123E+4r}  z0.0123z0.01230z1.230E-2r  r  r#   r  r   r,   r5   r7   )r   r   r9   r   r   r   test_sequence_decimal_infert  s   r  c                  C   s"  t dt dgtddft dt dgtddft dt dgtddft d	t d
gtddft dt dgtddft dt dgtddft dt dgtddfg} | D ]!\}}t||kszJ t|}|j|ksJ | |ksJ qmd S )Nr  z3.456r   r+   z456.7r   z123.4z4.567123e24567e3r}  r   123e44567e2z0.123z0.04567r   z0.001z1.01E5	   r  )casesr   r   r9   r   r   r   !test_sequence_decimal_infer_mixed  s8   







r  c               
   C   sT  t dtddtddtddgtddtddgft dtddtddtdd	gtddtdd
gft dtddtddtdd	gtddtdd
gffD ]E\} }}|D ]}tj| g|d}|j|kszJ | d | ksJ qi|D ]}tt	 tj| g|d W d    n1 sw   Y  qqbd S )Nr  r   r+   r   r*   r  r   r   r  rH   )
r  r  r#   r  r,   r5   r7   rV   rW   r   )r   typs
wrong_typsr   r9   r   r   r    test_sequence_decimal_given_type  s0      r  c                  C   s*   t td} t d}| |sJ d S )Nr+   r>   )r#   r,   rA   r-   r.   r   r   r   test_range_types  s   
r  c                  C   sR   t td} t| dksJ | jdksJ | jt  ksJ |  g ks'J d S r2   )r#   r,   rA   r3   r4   r5   r6   r7   r8   r   r   r   test_empty_range  r;   r  c                  C   s   t jjg g d} | jt g ksJ t| dksJ |  g ks"J t jg dt  d}t jg dt 	 d}t jg dt 
 d}t j|||gg d} d dd	dd
d ddddd dg}|  }||ksnJ ||ftt t j|gddg W d    d S 1 sw   Y  d S )N)namesr   Nr*   r+   rH   r  Nr  TFN)intsstrsboolsr  Tr*   Fr+   r  r  r	  )r#   StructArrayfrom_arraysr5   structr3   r7   r,   r   r  r   rV   rW   r   )r9   r  r	  r
  r(   pylistr   r   r   test_structarray  s(   


"r  c               	   C   s   t t dt  t dt  t dt  g} t jg | d}| g ks)J ddddd	d
ddg}t j|| d}| |ksDJ dddd i d d
dg}t j|| d}dd ddd d d d dd d
d dg}| |ksqJ d S )Nr  r  r  rH   r   r   Tr  r   r  Fr  r  r	  r#   r  fieldr   r  r   r,   r7   )r'   r9   r   r(   r   r   r   test_struct_from_dicts  s.   




r  c               	   C   s   t t dt  t dt  t dt  g} t jg | d}| g ks)J ddddd	d
g}t j|| d}| ddd ddd d	dgksLJ d S )Nr  r  r  rH   r   r   )r  r  r   F)r  r  r  r  )r'   r9   r   r   r   r   !test_struct_from_dicts_bytes_keys  s   

r  c               	   C   s8  t t dt  t dt  t dt  g} ddg}dddd	d
ddd	g}t j|| d}tjt	|t
d}||d d < t j|| d}| |ksOJ ||sVJ g d}ddd d	d d
d dd	g}t j|| d}| |ksvJ dD ]!}tjtdd t j|g| d W d    n1 sw   Y  qxd S )Nr  r  r  r   r   T)r   r  Fr   r   Tr  r   r  FrH   rt   ))r   r   NN)r   NF))r   r   r   )r  r   TN(?i)tuple sizer^   )r#   r  r  r   r  r   r,   rv   rw   r3   rx   r7   r-   rV   rW   r   )r'   r   r(   r9   data_as_ndarrayr0   tupr   r   r   test_struct_from_tuples  s:   



r  c               	   C   s  t t dt  t dt  t dt  g} g dg dd g}t j|| d}| ddd	d
dddd
d gks=J t t dt  t dt  t dt  g} g dg dg}t j|| d}t	t
 |  W d    n1 szw   Y  t t dt  t dt  t dt  g} g g dddgg dg}d d d d
ddd	d
ddd d
dddd
g}t j|| d}| |ksJ d S )Nr  r  r  )r  r   r  r   r  T)r  r   r  r  r  FrH   r   r   Tr  r   r  F)r  )r  r   )r  T)r  )r  r  )r  F)r  r*   )r  baz)r  r!   r  r  )djuliar*   r   r!   )r#   r  r  r   r  r   r,   r7   rV   rW   r   )r'   r   r9   r(   r   r   r   test_struct_from_list_of_pairs8  sX   







r$  c               	   C   sP  t t dt  t dt  t dt  g} g g dg}d}tjt|d t j	|| d W d    n1 s;w   Y  d}t
 t
dt
d	d
g}|D ]V}t|t|t|j}tjt|d t j	|gg dg| d W d    n1 s}w   Y  tjt|d t j	g d|gg| d W d    n1 sw   Y  qOd S )Nr  r  r  )r  r  )r  Nz0The expected field name is `b` but `c` was givenr^   rH   zKCould not convert {} with type {}: was expecting tuple of (key, value) pairzunknown-keyr  )r  r  )r  N)r#   r  r  r   r  r   rV   rW   r   r,   rf   reescapeformatr  r5   r   r`   )r'   r   msgtemplater  key_value_pairr   r   r   %test_struct_from_list_of_pairs_errorso  sR   r+  c               	   C   s   t t dt  t dt  t dt  g} dddddg}tt t j	|| d	 W d    d S 1 s:w   Y  d S )
Nr  r  r  r  r   r  Fr  rH   )
r#   r  r  r   r  r   rV   rW   r`   r,   )r'   r   r   r   r   test_struct_from_mixed_sequence  s   
"r,  c                  C   s  t t dt  t dt  t dt  g} dddddd	d
dg}t |}t|j|  |	 |ks9J dddd i d d	dg}dd ddd d d d dd d	d dg}t |}t
jt|td}||d d < t |}t|j|  |	 |ks~J ||sJ t t dt t dt t  t dt  gt dt  g} ddgddddd d
dd dd d	dg}t |}|	 |ksJ t i g}|jt g ksJ |	 i gksJ tt jt jf t dddig W d    d S 1 sw   Y  d S )Nr  r  r  r   r   Tr  r   r  Fr  r	  rt   aaab)r-  r.  r!   r*   )r#   r  r  r   r  r   r,   r)   r5   r7   rv   rw   r3   rx   r-   r   rV   rW   r   r  )r   r   r9   r(   r  r0   r   r   r    test_struct_from_dicts_inference  sZ   








$r/  c               	   C   s   g d} g d}g d}g d}| |||g}t j|g d}t jt j| ddt j|ddt |t j|ddgg d}tt t j| W d    n1 sTw   Y  ||s`J d S )	Nr  r  r  r}   )r  r	  r
  int_nonnullr   rH   utf8)r#   r  r  r,   rV   rW   r   r-   )r  r	  r
  ints_nonnullarraysr   r(   r   r   r   #test_structarray_from_arrays_coerce  s(   r4  c                  C   s   t dd tdt dg} tt t| }W d    n1 s#w   Y  tj| dd}|jt	ddks:J |
 | d d d d g ksJJ tj| t	dddd	}|
 t d
d d d gkseJ d S )Nr  r   Tr   r   r+   r*   rF   r   z1.2340)r  r  r  rV   rW   r`   r#   r,   r5   r  r7   )rq   r,   r   r   r   $test_decimal_array_with_none_and_nan  s    "r5  c               	   C   s  ddddddgdddgdd	dd
dddd dgdddgg} dd | D }t j|t t  t  d}| |ks@J d | d< d |d< t j|t t  t  d}| |ks_J ddigi gdddgfD ]%}tjtdd t j|gt ddd W d    n1 sw   Y  qldddgdddiigfD ]&}tjt j	dd t j|gt ddd W d    n1 sw   Y  qd S )Nr  r!   r[   r   r  r*   r  r+      dr      er      f   gr}  c                 S   s   g | ]	}d d |D qS )c                 S   s   g | ]
}|d  |d fqS r6  r   )rR   r"  r   r   r   r  
  s    z2test_map_from_dicts.<locals>.<listcomp>.<listcomp>r   )rR   entryr   r   r   r  
  r  z'test_map_from_dicts.<locals>.<listcomp>rH   r   )rl   rm   zInvalid Mapr^   i4r   r[   r   )
r#   r,   map_r"  r   r7   rV   rW   r   r   )r   r(   r9   r;  r   r   r   test_map_from_dicts  s2   

r>  c               	   C   s   ddgdgg ddgg} t j| t t  t  d}| | ks#J d | d< t j| t t  t  d}| | ks>J dgd	gd
gfD ]%}tjtdd t j|gt ddd W d    n1 sfw   Y  qFd S )N)r  r!   )r  r*   )r  r+   ))r7  r   )r8  r   )r9  N)r:  r}  rH   r!   )r   r   )r  r   Tr  r^   r<  )	r#   r,   r=  r"  r   r7   rV   rW   r   )r(   r9   r;  r   r   r   test_map_from_tuples#  s    r?  c                  C   s   t jt  t  d} t jg d| d}t|jt jsJ |j| s%J t jg dt  d}t jddgt  d}|j	|sCJ |j|sKJ d S )Nr   )FFTFTrH   )r   r   r!   r   r!   FT)
r#   
dictionaryr   r   r,   r0  r5   DictionaryTyper-   indices)r   r  expected_indicesexpected_dictionaryr   r   r   test_dictionary_from_boolean:  s   rF  r   c                 C   s   t jt  | d}t jg d|d}t|jt jsJ |j|s#J t jg dt  d}t jg d| d}|j|s?J |j|sGJ d S )Nr@  )r!   r*   r!   r!   r*   r+   rH   )r   r!   r   r   r!   r*   r}   )	r#   rA  r   r,   r0  r5   rB  r-   rC  r   r   r  rD  rE  r   r   r   test_dictionary_from_integersF  s   rH  input_index_typec                 C   s8   t j| t  d}t jtd|d}|j|sJ d S )Nr@  rF   rH   )r#   rA  r   r,   rA   r5   r-   )rI  r   r9   r   r   r   test_dictionary_index_type^  s   
rJ  c                  C   s   t jt  t  d} t jtd| d}t t  t  }|j|s&J t jtd| d}t t  t  }|j|sAJ d S )Nr@     rH      )	r#   rA  r   r   r,   rA   r5   r-   r   )r   r  r(   r   r   r   "test_dictionary_is_always_adaptivem  s   rM  c                  C   s  t  t  fD ]@} t t  | }t jg d|d}t|jt js$J t jg dt  d}t jg d| d}|j	
|s@J |j
|sHJ qt t  t d}t jg d|d}t|jt jsfJ t jg dt  d}t jg dt dd}|j	
|sJ |j
|sJ d S )	N) r  bbr  rO  cccrH   )r   r!   r*   r!   r*   r+   )rN  r  rO  rP  r+   )aaarQ  bbbrP  rR  )r   r   r!   r*   r!   )rQ  rR  rP  )r#   r"  r  rA  r   r,   r0  r5   rB  rC  r-   rG  r   r   r   test_dictionary_from_strings|  s   rS  )rX  r(    )milliseconds)microsecondsie;c                 C   s   t | }t jdg|d}t j| |d}||sJ |g}| dkr<zdd l}W n	 ty3   Y n	w |jdddg}| |ksDJ d S )NrT  rH   r[  r   rf  )r#   r  r,   r7   r-   r  ImportError	Timedelta)rX  r(   r'   r9   restoredexpected_listr  r   r   r   *test_duration_array_roundtrip_corner_cases  s   
	r[  c                  C   sj  dd l } td}tjdg|d}| }t|d | jsJ tj||d}||s-J | | jdddgks;J td}tjdg|d}| }t|d | j	sVJ tj||d}||sdJ | | j	dddgksrJ tjddd}d}tj|g|d}| }t|d | j	sJ tj||d}||sJ | | j	|dd
d	dgksJ d S )
Nr   r[  l      "9} rH   rf  r  r  l    ^,j2 r  )r  r#   r  r,   r7   r0  rX  r-   r  r  tz_localize
tz_convert)r  r'   r9   r   rY  r   r   r   r   <test_roundtrip_nanosecond_resolution_pandas_temporal_objects  s@   



r^  c                 C   s*   |   }tj|| jd}|| sJ d S )NrH   )r7   r#   r,   r5   r-   )r9   r{   rY  r   r   r   test_array_to_pylist_roundtrip  s   r_  c                  C   sb  dd } dd }| gd dd |g }t j|t  d}t|t js#J t|dks+J |d  dks5J |d  d u s?J |d	  |ksIJ |d
g }t j|t  d}t|t js_J |jdksfJ t|	ddksqJ t|	ddks|J |	dd  dksJ |	dd  d u sJ |	dd	  |ksJ |	d
 d
gksJ |d ddg }t j|t  d}t|t jsJ |jdksJ t|	ddksJ t|	ddksJ t|	ddksJ tdD ],}|	|d  dksJ |	|d  d u sJ |	|d	  |ks J q|	d
 ddgks/J d S )N   x k       rH   rl     r  s   twor*   r   r!   s   threer+   )r#   r,   r"  r0  r1  r3   r?  ChunkedArray
num_chunkschunkr7   rA   )v1v2one_chunk_datar9   two_chunk_datathree_chunk_datar  r   r   r   test_auto_chunking_binary_like  s>   
 rn  c                  C   s   dggd } t | }t|t jsJ |jdksJ t|ddks%J t|ddks0J |d dggd ks?J d S )N   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi   r*   r   i r!   )r#   r,   r0  rf  rg  r3   rh  r7   )valsr9   r   r   r   !test_auto_chunking_list_of_binary	  s   
"rq  c                  C   s  t jddd} | gd }tj|tt d}t|tjs J t|dks(J t jddd} | gd }tj|tt d}t|tj	sHJ |j
dksOJ t|ddksZJ t|d	d	kseJ |d	}|d }t|tjsvJ tj| t d}|j|ksJ d S )
N)   r   rt   r}  rH   r   r*   r   r!   )rv   onesr#   r,   r   r   r0  r1  r3   rf  rg  rh  
ListScalarrq   )r  r   r9   rh  scalarr(   r   r   r   test_auto_chunking_list_like	  s"   


rv  c                  C   sv   t t  t  } dgd }|gd }t j|| d}t|t js#J t|ddks.J t|ddks9J d S )N)r!   r!   rr  r   rH   r   r}  r!   )r#   r=  r   r,   r0  rf  r3   rh  )r'   r  r   r9   r   r   r   test_auto_chunking_map_type)	  s   

rw  )r'   charrS   r`  c                 C   s  |d }|d }t t dt  t dt  t d| g}dd|dgd	 }|dd|d t j||d
}t|t jsAJ |dd|d t j||d
}t|t j	sYJ |j
dks`J t|ddkskJ t|ddksvJ |dd  dd|dksJ d S )Nra  rb  boolintegerstring-likeTr!   )ry  rz  r{  rc  rH   r*   r   re  )r#   r  r  r   r   appendr,   r0  r1  rf  rg  r3   rh  r?  )r'   rx  ri  rj  struct_typer   r9   r   r   r   test_nested_auto_chunking6	  s,   
r~  c                  C      dgd } t j| t  d}t|t jsJ t|dksJ t|jdks'J tdt	}t j| |t  d}t|t js?J t|dksGJ t|jdksPJ t j| t 
 d}t|t jsaJ t|dksiJ t|jdksrJ d S )Ns   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai   rH   r!   r   r5   r#   r,   r  r0  rf  r3   chunksrv   zerosry  r"  itemsr9   r   r   r   r   $test_array_from_pylist_data_overflowW	  s   
r  c                  C   r  )Nr  l        rH   r!   r  r  r  r   r   r   &test_array_from_pylist_offset_overflowm	  s   
r  )r   scalar_datar   r  )r!   NN)r   r   Nr   r   i  )r!   r   ir}   rH   rQ  rR  )r!   r*   r!  )r  r*   )r!   r  r  c                 C   sh   t | |tkrtd tj||d}t| |}||s"J tj| ||d}||s2J d S )Nz&The elements in the set get reordered.rH   )r5   r&   rV   skipr#   r,   r-   )r{   r   r  r   expectr   r   r   r   !test_array_accepts_pyarrow_scalar	  s   b
r  c                 C   s  | t dt dt dg}tjt jdd t | W d    n1 s(w   Y  | dt dd g}tjt jdd t | W d    n1 sOw   Y  | tdt dd g}tjt jdd t | W d    n1 syw   Y  | t dtdd g}tjt jdd t | W d    n1 sw   Y  tjt jdd t jt dgt  d	 W d    n1 sw   Y  tjt jd
d t jt dgt 	 d	 W d    d S 1 sw   Y  d S )Nr!   r  r   z'cannot mix scalars with different typesr^   zIpyarrow scalars cannot be mixed with other Python scalar values currentlyz0.1z=Cannot append scalar of type string to builder for type int32rH   z;Cannot append scalar of type int64 to builder for type null)
r#   ru  rV   rW   r   r,   rv   r   r   r6   )r{   sequencer   r   r   (test_array_accepts_pyarrow_scalar_errors	  sD    "r  )ri   rM  r  rL   r.  r%  
hypothesishrV   numpyrv   rW  pyarrow.pandas_compatr   pyarrowr#   pyarrow.tests.strategiestests
strategiespastr   r   r   r   r   r   r	   r
   int_type_pairsr  np_str_int_typespa_int_typesr   r   r    r)   r1   r:   rB   rE   rG   rJ   rN   rY   rZ   ra   rd   rg   rk   rs   ry   rz   SEQUENCE_TYPESr|  ITERABLE_TYPESCOLLECTIONS_TYPESmarkparametrizeparametrize_with_iterable_typesparametrize_with_sequence_types"parametrize_with_collections_typesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   xfailr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   AssertionErrorr   r   r6   rN  todayrO  r  ry  time32time64nowr  ru  r  r"  r(  r  r)  r  r  r  r  r  r  r+  r  r'  r,  large_memoryr3  slowr8  r:  r>  rB  rF  rH  rJ  rP  rT  rV  rz  r  r  r  r  timezone_datar  r  r  r  r  r  r  r  r  have_pandasr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r$  r+  r,  r/  r4  r5  r>  r?  rF  rH  rJ  rM  rS  r[  r^  given
all_arraysr_  rn  rq  rv  rw  r~  r  r  ru  MonthDayNanomonth_day_nano_intervalr*  rA  r  r  r   r   r   r   <module>   s~  







		




	

		

"

	



	
		






	
	
		





:C



A
5





"	"7.4

	
&
)

$ * (  "($*&(&
.      

`