
    g;             +       l8   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	 d dl	Z
d dlmZ d dlZd dlmc mZ d ej(                         fd ej*                         fd ej,                         fd ej.                         fd ej0                         fd ej2                         fd	 ej4                         fd
 ej6                         fgZ ee \  ZZ G d d      Z  G d d      Z! G d d      Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*d Z+ G d d      Z,d Z-d Z.d Z/d Z0d  Z1d! Z2d" Z3e.e/gZ4e
e4jk                  e2       e3e1ge4z   Z6e0ge6z   Z7ejp                  js                  d#e6      Z:ejp                  js                  d#e4      Z;ejp                  js                  d#e7      Z<e<d$        Z=e:d%        Z>e;d&        Z?ejp                  j                  e;d'               Z@ejp                  j                  e;d(               ZAe<d)        ZBe;d*        ZCe;ejp                  js                  d+ej                  ej                  ej                  ej                  g      d,               ZHe<d-        ZIe;ejp                  js                  d.e4      ejp                  js                  d+ej                  ej                  ej                  ej                  g      d/                      ZJejp                  j                  e;d0               ZKe;d1        ZLejp                  j                  e;ejp                  js                  d2e      d3                      ZMejp                  j                  e<ejp                  js                  d4e      d5                      ZNejp                  j                  e;ejp                  js                  d4e      d6                      ZOe;d7        ZPejp                  j                  e;ejp                  js                  d2e      d8                      ZQejp                  j                  e;ejp                  js                  d2e      d9                      ZRe;d:        ZSe<d;        ZTejp                  j                  d<        ZUejp                  j                  ejp                  j                  d=eW>      d?               ZXejp                  js                  d@g dA      dB        ZYejp                  js                  d@g dA      dC        ZZe<ejp                  js                  dDe      dE               Z[dF Z\dG Z]dH Z^dI Z_dJ Z`ejp                  j                  dK        ZadL Zbejp                  j                  e;ejp                  js                  dMdN ej                         fdO ej                         fdP ej                         fg      ejp                  js                  dQdRdSg      dT                             Zfejp                  j                  ejp                  js                  dQdRdSg      dU               Zgejp                  j                  dV        Zhejp                  j                  ejp                  j                  dWei>      dX               Zjejp                  j                  ejp                  js                  dYdRdSg ej                         fddg ej                         fg dZ ej(                         fg d[ ej                         fej                  j                         dg ej                         fdej                  j                         g ej                         f ej                  d\d\d\      dg ej                  d]      fd ej                  d^d^d^      g ej                  d_      fej                  j                         dg ej                  d_      f ej                  d`a      g ej                  d]      fdbdcg ej                         fg dd ej                  de      fg df ej                         fg dg ej                         fg dg ej                         fd\d^dhddiddhg ej                  dj ej(                         fdk ej*                         fg      fg      dl               Z}ejp                  j                  ejp                  js                  dYd\d^gdegg ej                   ej.                               fd\d^gdedmgg ej                   ej.                         d^      fd\gd^degg ej                   ej.                               fg      dn               Z~do Zejp                  j                  dp        Zdq Zejp                  js                  dr ej                          ej                          ej                         g      ds        Zdt Zdu Zejp                  j                  ejp                  js                  dr ej                          ej                         g      dv               Zejp                  j                  ejp                  j                  ejp                  js                  dr ej                          ej                         g      dw                      Zejp                  j                  ejp                  js                  dr ej                          ej                          ej                         g      dx               Zdy Zejp                  js                  dr ej                          ej                          ej                         g      dz        Zd{ Zd| Zd} Zd~ Zejp                  js                  d ej                         ddgf ej                         ddgfg      d        Zd Zejp                  js                  dej                  d]dfej                  ddfej                  d_dfej                  ddfg      d        Zd Zejp                  js                  dg d      ejp                  js                  dg d      d               Zejp                  js                  dg d      d        Zd Zejp                  j0                  d        Zejp                  j4                  d        Zd Zejp                  j                  d        Z G d dej                        Z G d dej                        Z G d dej                        Zd Zejp                  j                  ejD                   d      d        Zejp                  j4                  ejp                  j0                  d               Zd Zejp                  j                  d        Zejp                  js                  dg d      d        Zejp                  js                  dg d      d        Zd Zejp                  js                  d+ej                  ej                  ej                  ej                  g      d        Zejp                  j                  d        Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zejp                  j                  d        Zd Zd Zd Zejp                  j                  d        Zd Zd Zd Zd Zd Zejp                  js                  d ej(                          ej*                          ej,                          ej.                          ej0                          ej2                          ej4                          ej6                          ej                          ej                         g
      dĄ        Zejp                  js                  d ej(                          ej*                          ej,                          ej.                         g      dƄ        ZdǄ ZdȄ Zejp                  js                  dd] ej                  dʬa      fd ej                  dʬ˫      fd_ ej                  dʬ̫      fd ej                  d̫ͬ      fg      d΄        Zejp                  j4                  dτ        Zejp                  j                   ej                  ej                        dЄ               Zejp                  j                  dф        Zejp                  j                  d҄        Zejp                  j                  dӄ        Zejp                  j                  ejp                  j                  dԄ               Zejp                  j                  ejp                  js                  d ej                         df ej                         dfg      d؄               Zejp                  j                  dل        Zejp                  j                  ejp                  j                  dڄ               Ze<ejp                  js                  dg dܢ ej                  dR       ej                  dS      dg ej                         fg dZ ej                  d\       ej                  d^       ej                  d ej.                               g ej.                         fg dݢ ej                  d\      d ej                  d ej.                               g ej.                         fddg ej                  d       ej                  d      g ej                         fg dޢ ej                  d߫       ej                  d      dg ej                         fdej                  j                         gd ej                  ej                  j                               g ej                         fdej                  j                         gd ej                  ej                  j                          ej                               g ej                         f ej                  d\d\d\      dg ej                   ej                  d\d\d\            dg ej                  d_      f ej                  d`a      g ej                   ej                  d`a            g ej                  d_      fd ej                  dd\d\      gd ej                   ej                  dd\d\            g ej                  d_      f ej                  g d      g ej                   ej                  g d            g ej                         fdjdkg ej                  dj       ej                  dk      g ej                         fdbdcg ej                  db       ej                  dc      g ej                         fdbdcg ej                  db ej                  d\             ej                  dc ej                  d\            g ej                  d\      fg dg ej                  g d      g ej                   ej.                               fdjdkgg ej                  djdkg      g ej                   ej                               fg dg ej                  g d ej                   ej.                                     g ej                   ej.                               fdjdkgg ej                  djdkg ej                   ej                                     g ej                   ej                               fg dZ ej                  d\ ej(                                ej                  d^ ej(                               dg ej(                         fd\dg ej                  d ej,                               dg ej,                         fddg ej                  d ej                  de             ej                  d ej                  de            g ej                  de      fdbg ej                  dj ej                               g ej                         fdjg ej                  dj ej                               g ej                         fdbg ej                  dj ej                               g ej                         fdjg ej                  dj ej                               g ej                         fdjg ej                  dj ej                   ej.                          ej                                     g ej                   ej.                          ej                               fdjdkg ej                  dj ej                   ej.                          ej                                      ej                  dk ej                   ej.                          ej                                     g ej                   ej.                          ej                               fd\g ej                  d\ ej                   ej.                          ej,                                     g ej                   ej.                          ej,                               fdg ej                  ddg ej                  dj ej(                         fdk ej(                         fg            g ej                  dj ej(                         fdk ej(                         fg      fdg ej                  ddg ej                  dj ej(                         fdk ej                         fg            g ej                  dj ej(                         fdk ej                         fg      fg      d               Zejp                  j                  e<d               Zy# e$ r dZ
Y w xY w)    N)_pandas_apiint8int16int32int64uint8uint16uint32uint64c                       e Zd Zd Zd Zy)StrangeIterablec                     || _         y N)lst)selfr   s     W/var/www/openai/venv/lib/python3.12/site-packages/pyarrow/tests/test_convert_builtin.py__init__zStrangeIterable.__init__4   s	        c                 6    | j                   j                         S r   )r   __iter__r   s    r   r   zStrangeIterable.__iter__7   s    xx  ""r   N)__name__
__module____qualname__r   r    r   r   r   r   3   s    #r   r   c                       e Zd Zd Zd Zy)MyIntc                     || _         y r   value)r   r    s     r   r   zMyInt.__init__<   s	    
r   c                     | j                   S r   r   r   s    r   __int__zMyInt.__int__?   s    zzr   N)r   r   r   r   r"   r   r   r   r   r   ;   s    r   r   c                       e Zd Zd Zy)MyBrokenIntc                     ddz   y )N   r   r   r   s    r   r"   zMyBrokenInt.__int__D   s	    	!r   N)r   r   r   r"   r   r   r   r$   r$   C   s    r   r$   c                 x    t         j                  j                  |       sJ t        |       t        |      k(  sJ y)zP
    Check a struct type is as expected, but not taking order into account.
    N)patypes	is_structset)tyexpecteds     r   check_struct_typer.   H   s2     88b!!!r7c(m###r   c                      t        j                  t        g d            } t        j                  d      }| j                  |      sJ y )N)r   r&         )r(   arrayr   equalsarr1arr2s     r   test_iterable_typesr7   P   s5    88OL12D88L!D;;tr   c                      t        j                  t        g             } t        |       dk(  sJ | j                  dk(  sJ | j
                  t        j                         k(  sJ | j                         g k(  sJ y Nr   )r(   r2   r   len
null_counttypenull	to_pylistarrs    r   test_empty_iterablerA   W   sc    
((?2&
'Cs8q==>>Q88rwwy   ==?b   r   c                      t        j                  t        t        d            t        j                         d      } t        j                  d      }| j                  |      sJ y )Nr1   r<   sizer   r&   r0   r(   r2   iterranger   r3   r4   s     r   test_limited_iterator_typesrI   _   sB    88DqN!<D88ID;;tr   c                      t        j                  t        t        d            t        j                         d      } t        j                  d      }| j                  |      sJ y )Nr1   r0   rC   )r   r&   rF   r4   s     r   #test_limited_iterator_size_overflowrK   e   sB    88DqN!<D88FD;;tr   c                      t        j                  t        t        d            t        j                         d      } t        j                  d      }| j                  |      sJ y )Nr1   
   rC   rE   rF   r4   s     r   $test_limited_iterator_size_underflowrN   k   sB    88DqN"=D88ID;;tr   c                  >   t        j                  d      } t        j                  t        t        d                  }|j	                  |       sJ t        j                  t        t        d            t        j
                               }|j	                  |       sJ y )NrE   r1   r<   )r(   r2   rG   rH   r3   r   r-   r5   s     r   test_iterator_without_sizerR   q   sh    xx	"H88DqN#D;;x   88DqN4D;;x   r   c                  H   t        j                  d      } t        j                  t        j                  d      d      }|j	                  |       sJ t        j                  t        j                  d      t        j
                         d      }|j	                  |       sJ y )NrE   r   r1   rD   rC   )r(   r2   	itertoolscountr3   r   rQ   s     r   test_infinite_iteratorrW   z   sn    xx	"H88IOOA&Q/D;;x   88IOOA&RXXZa@D;;x   r   c                  T   t        j                  t              5  t        j                  d t        d      D               d d d        t        j                  t              5  t        j                  d t        d      D        d       d d d        y # 1 sw Y   SxY w# 1 sw Y   y xY w)Nc              3   &   K   | ]	  }d dz    ywr&   r   Nr   .0xs     r   	<genexpr>z(test_failing_iterator.<locals>.<genexpr>        ,)Q!q&)   rM   c              3   &   K   | ]	  }d dz    ywrZ   r   r[   s     r   r^   z(test_failing_iterator.<locals>.<genexpr>   r_   r`   rT   )pytestraisesZeroDivisionErrorr(   r2   rH   r   r   r   test_failing_iteratorre      sk    	(	)
,%),- 
* 
(	)
,%),26 
*	) 
*	) 
*	)s   &B!(BBB'c                       e Zd Zd Zy)ObjectWithOnlyGetitemc                      y)Nr1   r   )r   keys     r   __getitem__z!ObjectWithOnlyGetitem.__getitem__   s    r   N)r   r   r   rj   r   r   r   rg   rg      s    r   rg   c                      t        j                  t        d      5  t        j                  t                      d d d        y # 1 sw Y   y xY w)Nzhas no len()match)rb   rc   	TypeErrorr(   r2   rg   r   r   r   test_object_with_getitemro      s.     
y	7
&() 
8	7	7s   AAc                     | S r   r   xss    r   _as_listrs      s    Ir   c                     t        |       S r   )tuplerq   s    r   	_as_tuplerv      s    9r   c                 ,    t        j                  |       S r   )collectionsdequerq   s    r   	_as_dequerz      s    R  r   c                 j    t        |       D ci c]  \  }}||
 }}}|j                         S c c}}w r   )	enumeratevalues)rr   kvdcts       r   _as_dict_valuesr      s3    %bM
*MDAq1a4MC
*::< +s   /c                 X    t        j                  t        |       t              }| |d d  |S )Ndtype)npemptyr:   object)rr   r@   s     r   _as_numpy_arrayr      s$    
((3r7&
)CCFJr   c                     t        |       S r   )r+   rq   s    r   _as_setr      s    r7Nr   seqc                     t        j                   | g d            }t        j                  g d      }|j                  |      sJ y Nr&   r0   r1   r(   r2   r3   r   r5   r6   s      r   test_sequence_typesr      s4    88C	N#D88ID;;tr   c                     t        j                   | g d      g      }t        j                  g dg      }|j                  |      sJ y r   r   r   s      r   test_nested_sequence_typesr      s9    88S^$%D88YK D;;tr   c                     g d}t        j                   | |            }t        |      dk(  sJ |j                  dk(  sJ |j                  t        j
                         k(  sJ |j                         |k(  sJ y )NTNFN   r0   )r(   r2   r:   r;   r<   bool_r>   r   r-   r@   s      r   test_sequence_booleanr      sg    (H
((3x=
!Cs8q==>>Q88rxxz!!!==?h&&&r   c                    t        j                  d      d t        j                  d      d g}t        j                   | |            }|j                  t        j                         k(  sJ |j                         g dk(  sJ y )NTFr   )r   r   r(   r2   r<   r>   r   s      r   test_sequence_numpy_booleanr      sa     bhhuot<H
((3x=
!C88rxxz!!!==?7777r   c           	          t        j                  ddg      }t        j                   | |d   d |d   ddg            }|j                  t        j                         k(  sJ |j                         g dk(  sJ y )NTFr   r&   )TNFTF)r   r2   r(   r<   r   r>   )r   r}   r@   s      r   &test_sequence_mixed_numpy_python_boolsr      si     XXtUm$F
((3q	4D%@A
BC88rxxz!!!==?>>>>r   c                     t        j                   | g             }t        |      dk(  sJ |j                  dk(  sJ |j                  t        j
                         k(  sJ |j                         g k(  sJ y r9   r(   r2   r:   r;   r<   r=   r>   r   r@   s     r   test_empty_listr      sb    
((3r7
Cs8q==>>Q88rwwy   ==?b   r   c                     g ddgd g}t        j                   | |            }t        |      dk(  sJ |j                  dk(  sJ |j                  t        j
                  t        j                               k(  sJ |j                         |k(  sJ y )Nr&   r0   r1   )r(   r2   r:   r;   r<   list_r   r>   r   datar@   s      r   test_nested_listsr      s{    AD
((3t9
Cs8q==>>Q88rxx
++++==?d"""r   factoryc                 :   g ddgd g}t        j                   | |       |t        j                                     }t        |      dk(  sJ |j                  dk(  sJ |j
                   |t        j                               k(  sJ |j                         |k(  sJ y Nr&   r0   rP   r1   )r(   r2   r   r:   r;   r<   r>   )r   r   r   r@   s       r   $test_nested_lists_with_explicit_typer     s     AD
((3t97288:#6
7Cs8q==>>Q88wrxxz****==?d"""r   c                    t        j                  t              5  t        j                   | g ddgdg      t        j
                  t        j                                      d d d        t        j                  t              5  t        j                   | g ddgdg      t        j                  t        j                                      d d d        t        j                  t              5  t        j                   | g ddgdg      t        j                  t        j                                      d d d        t        j                  t              5  t        j                   | g ddgdg      t        j                  t        j                                      d d d        y # 1 sw Y   FxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr&   r0   r1   rP   )
rb   rc   rn   r(   r2   r   r   
large_list	list_viewlarge_list_view)r   s    r   test_list_with_non_listr     s    
y	!
b1a&!_%BHHRXXZ,@A 
"	y	!
b1a&!_%BMM"((*,EF 
"	y	!
b1a&!_%BLL,DE 
"	y	!
b1a&!_%B,>,>rxxz,JK 
"	! 
"	!	!	!	!	!	!	!s3   AF&AF3,AF?AG&F03F<?GG	inner_seqc           	      X   t        j                   |  |g        |ddg      d g       |t        j                                     }t        |      dk(  sJ |j                  dk(  sJ |j
                   |t        j                               k(  sJ |j                         g ddgd gk(  sJ y r   )r(   r2   r   r:   r;   r<   r>   )r   r   r   r@   s       r   test_nested_arraysr     s     ((3	"!1a&)41 2
+-C s8q==>>Q88wrxxz****==?rAq640000r   c           	         ddgdd gd g}t        j                   | |      t        j                  t        j                         d            }t	        |      dk(  sJ |j
                  dk(  sJ |j                  t        j                  t        j                         d      k(  sJ |j                         |k(  sJ t        j                  ddgd      t        j                  ddgd      d g}t        j                   | |      t        j                  t        j                         d            }t	        |      dk(  sJ |j
                  dk(  sJ |j                  t        j                  t        j                         d      k(  sJ |j                         ddgddgd gk(  sJ g ddd gd g}g d	gt        j                  g dd      gfD ]i  }t        j                  t        d
      5  t        j                   | |      t        j                  t        j                         d             d d d        k g g d g}t        j                   | |      t        j                  t        j                         d            }t	        |      dk(  sJ |j
                  dk(  sJ |j                  t        j                  t        j                         d      k(  sJ |j                         g g d gk(  sJ y # 1 sw Y   /xY w)Nr&   r0   r1   rP   r   r   r   )r&   r0   r   r   z&Length of item not correct: expected 2rl   r   )r(   r2   r   r   r:   r;   r<   r>   r   rb   rc   
ValueErrorr   s      r   test_nested_fixed_size_listr   /  sd    FQIt$D
((3t9288BHHJ#:
;Cs8q==>>Q88rxx
A....==?d""" HHaV7+RXXq!fG-LD
((3t9288BHHJ#:
;Cs8q==>>Q88rxx
A....==?1v1vt4444 4y$'Drxx	ABC]]"JLHHSYRXXbhhj!%<=L L D D>D
((3t9288BHHJ#:
;Cs8q==>>Q88rxx
A....==?r2tn,,,L Ls   *AK11K;	c                     t        j                   | d d g            }t        |      dk(  sJ |j                  dk(  sJ |j                  t        j
                         k(  sJ |j                         d d gk(  sJ y )Nr0   r   r   s     r   test_sequence_all_noner   S  sk    
((3d|$
%Cs8q==>>Q88rwwy   ==?tTl***r   np_scalar_pa_typec                 z   |\  }}t        t        |      }dd dd t        j                  |      j                  t        j                  |      j                  g}t        j                   | |      |      }t        |      dk(  sJ |j                  dk(  sJ |j                  |k(  sJ |j                         |k(  sJ y Nr&   r1   rP      r0   getattrr   iinfominmaxr(   r2   r:   r;   r<   r>   r   r   np_str_scalarpa_type	np_scalarr-   r@   s          r   test_sequence_integerr   \  s     /M7M*I4D#''))<)@)@BH
((3x=w
/Cs8q==>>Q88w==?h&&&r   r   c                    t        j                  t              5  t        j                   | t
        j                  g      |d       d d d        t        j                   | t
        j                  g      |d      }d g}t        |      dk(  sJ |j                  dk(  sJ |j                  |k(  sJ |j                         |k(  sJ y # 1 sw Y   xY w)NFr<   from_pandasTr&   )rb   rc   r   r(   r2   r   nanr:   r;   r<   r>   r   r   r@   r-   s       r   test_sequence_integer_np_nanr   k  s     
z	"
bffXW%@ 
# ((3x=wD
ACvHs8q==>>Q88w==?h&&& 
#	"s   .CCc                     t        j                  t              5  t        j                   | t
        j                  gg      t        j                  |      d       d d d        t        j                   | t
        j                  gg      t        j                  |      d      }d gg}t        |      dk(  sJ |j                  dk(  sJ |j                  t        j                  |      k(  sJ |j                         |k(  sJ y # 1 sw Y   xY w)NFr   Tr&   r   )rb   rc   r   r(   r2   r   r   r   r:   r;   r<   r>   r   s       r   #test_sequence_integer_nested_np_nanr   |  s     
z	"
rvvhZrxx'8eL 
# ((3z?'):
MCxHs8q==>>Q88rxx((((==?h&&& 
#	"s   ADDc                     g d}t        j                   | |            }t        |      dk(  sJ |j                  dk(  sJ |j                  t        j
                         k(  sJ |j                         |k(  sJ y )Nr&   Nr1   Nr   r0   )r(   r2   r:   r;   r<   r   r>   r   s      r   test_sequence_integer_inferredr     sg    !H
((3x=
!Cs8q==>>Q88rxxz!!!==?h&&&r   c           
         |\  }}t        t        |      } |d      d  |d      d  |t        j                  |      j                         |t        j                  |      j                        g}t        j                   | |      |      }t        |      dk(  sJ |j                  dk(  sJ |j                  |k(  sJ |j                         |k(  sJ y r   r   r   s          r   test_sequence_numpy_integerr     s     /M7M*I!dIaL$"((9-112"((9-1124H ((3x=w
/Cs8q==>>Q88w==?h&&&r   c                    |\  }}t        t        |      } |d      d  |d      d g}| |t        j                  |      j                         |t        j                  |      j                        gz  }t        j                   | |            }t        |      dk(  sJ |j                  dk(  sJ |j                  |k(  sJ |j                         |k(  sJ y )Nr&   r1   r   r0   r   r   s          r   $test_sequence_numpy_integer_inferredr     s     /M7M*I!dIaL$7H288I.223288I.2235 5H
((3x=
!Cs8q==>>Q88w==?h&&&r   c                     g d}t        t        t        |            }t        j                   | |      t        j
                               }|j                         |k(  sJ y )N)r   *   l       l         rP   )listmapr   r(   r2   r   r>   )r   r-   r   r@   s       r   test_sequence_custom_integersr     sF    )HE8$%D
((3t9288:
.C==?h&&&r   c                     t               g}t        j                  t        j                  d      5  t        j
                   | |      t        j                                d d d        y # 1 sw Y   y xY w)Ntried to convert to intrl   rP   )r$   rb   rc   r(   ArrowInvalidr2   r   )r   r   s     r   test_broken_integersr     sC    M?D	r.G	H
T, 
I	H	Hs   0A**A3c                     t        j                  d      t        j                  d      g} t        j                  |       }t        j                  ddgd      }|j                  |      sJ t        j                  d      t        j                  d      g} t        j                  |       }t        j                  ddgd      }|j                  |      sJ y )NrM   g      ?float64rP   float32)r   r   r   r(   r2   r3   r   )r   r@   r-   s      r   test_numpy_scalars_mixed_typer     s     HHRL"**S/*D
((4.CxxS		2H::h GGBKC)D
((4.CxxS		2H::hr   z)Type inference for uint64 not implemented)reasonrc   c                  ~   dt        j                  t         j                        j                  g} t	        j
                  | t	        j                               }t	        j
                  t        j
                  | d            }|j                  |      sJ t	        j
                  |       }|j                  |      sJ y )Nr   rP   r   r   )r   r   r   r   r(   r2   r3   )r   r@   r-   arr_inferreds       r   test_uint64_max_convertr     s     rxx		"&&'D
((4biik
*CxxX67H::h88D>Lx(((r   bits)          @   c                     t        t        d| z               }t        j                  t        t        j
                  f      5  t        j                  d| dz
  z  g|       d d d        t        j                  t        t        j
                  f      5  t        j                  d| dz
  z   dz
  g|       d d d        y # 1 sw Y   ]xY w# 1 sw Y   y xY w)Nzint%dr0   r&   r   r(   rb   rc   OverflowErrorr   r2   r   r,   s     r   test_signed_integer_overflowr     s    	$Wt^	$	&B	r7	8
!q/"B' 
9	r7	8
1?"Q&', 
9	8 
9	8	8	8s   B<"C<CCc                     t        t        d| z               }t        j                  t        t        j
                  f      5  t        j                  d| z  g|       d d d        t        j                  t        t        j
                  f      5  t        j                  dg|       d d d        y # 1 sw Y   SxY w# 1 sw Y   y xY w)Nzuint%dr0   r   r   s     r   test_unsigned_integer_overflowr     s    	%X_	%	'B	r7	8
!t)b! 
9	r7	8
"r 
9	8 
9	8	8	8s   B/B;/B8;Ctypc                     t        j                  t        j                        5  t        j                   | dg      |       d d d        y # 1 sw Y   y xY w)N1rP   )rb   rc   r(   r   r2   )r   r   s     r   test_integer_from_string_errorr     s4     
r	'
cU#& 
(	'	's   AAc                  &   g d} g d}t        j                  | |      }t        j                  g d      }|j                  |      sJ t        j                  t
              5  t        j                  | |dd         d d d        y # 1 sw Y   y xY w)N)r&   r0   r1   r      )FTFFT)mask)r&   Nr1   r   Nr&   )r(   r2   r3   rb   rc   r   )r   r   resultr-   s       r   test_convert_with_maskr     sk    D,DXXd&Fxx-.H==""" 
z	"
DH% 
#	"	"s   #BBc                      dd l } | j                          t        j                         }t        j                  g d       | j                          t        j                         |k(  sJ y )Nr   r   )gccollectr(   total_allocated_bytesr2   )r   bytes_befores     r   test_garbage_collectionr    sK     JJL++-LHH JJL##%555r   c                      g d} t        j                  |       }t        |      dk(  sJ |j                  dk(  sJ |j                  t        j
                         k(  sJ |j                         | k(  sJ y )N      ?      ?N      @NNr   r1   )r(   r2   r:   r;   r<   r   r>   r   r@   s     r   test_sequence_doubler    sb    +D
((4.Cs8q==>>Q88rzz|###==?d"""r   c                     g d} t        j                  |       }g d}t        j                  |      }|j                  |      sJ g d}t        j                  |      }g d}t        j                  |      }|j                  |      sJ y )Nr  )r  r&   Nr  NN)r&   r  Nr  NN)r  r  Nr  NNr   )r   r@   data2r6   data3arr3data4arr4s           r   $test_double_auto_coerce_from_integerr  "  sn    +D
((4.C+E88E?D::d+E88E?D,E88E?D;;tr   c                  R   g d} g d}g d}t        j                  |        t        j                  t              5  t        j                  |       d d d        t        j                  t              5  t        j                  |       d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY w)N)r  r&   r0   Nl          l       )r  r&   r0   Nl         )r  r&   r0   Nl      )r(   r2   rb   rc   r   )valid_valuesinvalid_valuesinvalid_values2s      r   .test_double_integer_coerce_representable_ranger  5  sr    9L5N9O HH\ 
z	"
  
# 
z	"
! 
#	" 
#	" 
#	"s   B2BBB&c                     t         j                  }  | d      ddg} | d      dg} | d      dg}t        j                  |t        j                                t	        j
                  t              5  t        j                  |t        j                                d d d        t	        j
                  t              5  t        j                  |t        j                                d d d        y # 1 sw Y   UxY w# 1 sw Y   y xY w)Nr  i   i   i  irP   )r   r   r(   r2   rb   rc   r   )f32r  r  r  s       r   /test_float32_integer_coerce_representable_ranger  E  s    
**CHgz2L#h.N3x!12O HH\

- 
z	"
bjjl3 
# 
z	"
rzz|4 
#	" 
#	" 
#	"s   2*C0=*C<0C9<Dc                     t        j                  t        d      5  t        j                  ddgt        j
                                d d d        t        j                  t        d      5  t        j                  ddgt        j                                d d d        t        j                  t        d      5  t        j                  ddg       d d d        y # 1 sw Y   xY w# 1 sw Y   QxY w# 1 sw Y   y xY w)	Nztried to convert to booleanrl   TfoorP   ztried to convert to float32r  ztried to convert to double)rb   rc   r   r(   r2   r   r   r   r   r   test_mixed_sequence_errorsr  W  s    	z)F	G
$RXXZ0 
H 
z)F	G
#uBJJL1 
H 
z)E	F
#u 
G	F 
H	G 
H	G 
G	Fs#   ,C+,C':C3C$'C03C<znp_str_scalar,pa_typefloat16r   r   r   TFc                 8   t        t        |      } |d       |d      d  |d      d t        j                  g}t        j                   | |      |      }t        |      dk(  sJ |r|j                  dk(  sJ |j                  dk(  sJ |r|j                  |k(  s%J |j                  t        j                         k(  sJ |j                         d d |d d k(  sJ |r|j                         d	   J y t        j                  |j                         d	         sJ y )
Nr  r&   r  r   r   r1   r0   r   r   )r   r   r   r(   r2   r:   r;   r<   r   r>   isnan)r   r   r   r   r   r   r@   s          r   test_sequence_numpy_doubler  b  s    M*IcNIaL$	#bffMD
((3t9+
6Cs8q==~~"""~~""" xx7"""xx2::<'''==?2A$r(***}}q!)))xx*+++r   c                 n   t         j                  t        fD ]  }t        j                   |ddg       |g d       |t         j                  g      d gt              }t        j                  ||       }t        |      dk(  sJ |j                  dk(  sJ |j                  t        j                  t        j                               k(  sJ | r|j                         ddgg dd gd gk(  rJ t         j                  j                  |j                         ddgg dt         j                  gd g        y )Nr         @)r  r!        @r   r  r   r&   )r   r2   r   r   r   r(   r:   r;   r<   r   r   r>   testingassert_equal)r   r   r   r@   s       r    test_ndarray_nested_numpy_doubler%    s     hh%	xxr2hl#rvvh	

  hht53x1}}~~"""xx288BJJL1111==?Sz?TFD&QQQQJJ##CMMO&("X|bffXt$LN &r   c                  v   t        j                  dt              } t        j                  ddgt         j                        t        j                  ddgt         j                        g| d d  t        j                  dt              }ddg|d<   ddg|d<   t        j                  t        j                  t        j                                     }t        j                  | g      |k(  sJ t        j                  | |g      }t        j                  ddgddggddgddggg|	      }|j                  |      sJ t        j                  dt              } t        j                  dg      t        j                  dg      g| d d  t        j                  | | g      }|j                         dgdggdgdgggk(  sJ y )
Nr0   r   r&   r1   r   r   r   r   rP   )
r   r   r   r2   r   r(   r   
infer_typer3   r>   r@   r6   expected_typer   r-   s        r   #test_nested_ndarray_in_object_arrayr*    sw    ((1F
#Chh1vRXX.hh1vRXX.0CF 88AV$D!fDG!fDGHHRXXbhhj12M==#=000XXsDk"Fxx1a&1a&)QFQF+;<*,H ==""" ((1F
#ChhsmRXXqc]+CFXXsCj!FA3*sQCj!9999r   z?Type inference for multidimensional ndarray not yet implementedc                     t        j                  ddgddggt         j                        } t        j                  ddgddggt         j                        }t        j                  t        j                  t        j                                     }t        j
                  | g      |k(  sJ t        j                  | |g      }t        j                  ddgddggddgddggg|      }|j                  |      sJ y )	Nr&   r0   r1   r   r   r   r   rP   )r   r2   r   r(   r   r'  r3   r(  s        r   ,test_multidimensional_ndarray_as_nested_listr,    s     ((QFQF#288
4C88aVaV$BHH5DHHRXXbhhj12M==#=000XXsDk"Fxx1a&1a&)QFQF+;<*,H =="""r   )r   
value_typer&   r0   N)r&   r!  r"  Nr&   sr0   usrM   )seconds   a   b)s   aaas   bbbs   cccr1   )r2  r3     cabcr6  r7  r   r6  r7  c                     t        j                  |      }t        j                  | t              }t        j                  |g|      }|j
                  j                  |      sJ |j                         | gk(  sJ y Nr   rP   )r(   r   r   r2   r   r<   r3   r>   )r   r-  r,   ndarrayr@   s        r   #test_list_array_from_object_ndarrayr=    s`    . 
*	Bhht6*G
((G92
&C88??2==?tf$$$r   r   c                 n   t        j                  t        |       t              }| D cg c]  }t        j                  |t               c}|d d  t        j                  |      }t        j                  |g|      }|j                  j                  |      sJ |j                         | gk(  sJ y c c}w r;  )
r   r   r:   r   r2   r(   r   r<   r3   r>   )r   r-  r<  itemr,   r@   s         r   *test_nested_list_array_from_object_ndarrayr@    s     hhs4y/G;?@44"((4v.4@GAJ	*	B
((G92
&C88??2==?tf$$$ As   "B2c                  8   t        j                  t              5  t        j                  t        d      dg       d d d        t        j                  t        d      dgd      } t        j                  d dg      }| j                  |      sJ y # 1 sw Y   VxY w)Nr   strTr  )rb   rc   r   r(   r2   floatr3   )r@   r-   s     r   !test_array_ignore_nan_from_pandasrD    sr     
z	"
%,&' 
# ((E%L%(d
;Cxxu&H::h 
#	"s   !BBc                     t        j                  g dd      d t        j                  g dd      g} t        j                  |       }t        j                  g dd g dgt        j                  t        j                                     }|j                  |      sJ t        j                  t        j                               }t        j                  | |      }|j                  |      }|j                  |      sJ y )Nr   r   r   )r   r   r   r
   rP   )r   r2   r(   r   r   r3   r
   cast)r   r@   r-   t2r6   	expected2s         r   $test_nested_ndarray_different_dtypesrI    s     	'*
(+D ((4.CxxD)4XXbhhj13H::h	"))+	B88Dr"Db!I;;y!!!r   c                      g d} t        j                  |       }t        |      dk(  sJ |j                  dk(  sJ |j                  t        j
                         k(  sJ |j                         | k(  sJ y )Nr  barN   mañanar   r&   )r(   r2   r:   r;   r<   stringr>   r  s     r   test_sequence_unicoderO    sb    *D
((4.Cs8q==>>Q88ryy{"""==?d"""r   r,   c                     g d}t        j                  ||       }t        |      dk(  sJ |j                  dk(  sJ |j                  | k(  sJ |j                         |k(  sJ y )NrK  rP   r   r&   )r(   r2   r:   r;   r<   r>   )r,   r   r@   s      r   #test_sequence_unicode_explicit_typerQ    s]    *D
((4b
!Cs8q==>>Q88r>>==?d"""r   c                 `   ddt        d      g}g d}g d}t        j                  |      }t        j                  |t        j                               }|j                  t        j                         k(  sJ |j                  |      sJ t        j                  ||       }t        j                  ||       }|j                  | k(  sJ |j                  |      sJ t        j                  ||      }t        j                  ||      }|j                  |k(  sJ |j                  |      sJ y )Nqux   foo   barz)s   quxrT  rU  )rS  r  barzrP   )	bytearrayr(   r2   binaryr<   r3   )binary_typestring_typer}   b_valuesu_valuesr@   r-   s          r   check_array_mixed_unicode_bytesr]  %  s    VYw/0F(H%H
((6
Cxxryy{3H88ryy{"""::h
((6
,Cxx{3H88{"""::h
((6
,Cxx{3H88{"""::hr   c                  $   t        t        j                         t        j                                t        t        j                         t        j
                                t        t        j                         t        j                                y r   )r]  r(   rX  rN  large_binarylarge_stringbinary_viewstring_viewr   r   r   test_array_mixed_unicode_bytesrc  :  sH    #BIIK=#BOO$5r7HI#BNN$4bnn6FGr   c                     d}t        j                  dt        |      z        }|g|z  }t        j                  ||       }t        |t        j                        sJ |j                  | k(  sJ t        |      |k(  sJ y )Nsh  0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz       rP   )mathceilr:   r(   r2   
isinstanceArrayr<   )r,   r/  nrepeatsr   r@   s        r   test_large_binary_arrayrk  @  sq     	5Ayy)s1v-.H3>D
((4b
!Cc288$$$88r>>s8xr   c                 ^   d}t        j                  dt        |      z        }t        j                  d||z  d dg|       }t        |t        j                        sJ |j                  | k(  sJ t        |      dk(  sJ |d   j                         }t        |      t        |      |z  k(  sJ y )N$   0123456789abcdefghijklmnopqrstuvwxyzre  rT     barrP   r   r&   )	rf  rg  r:   r(   r2   rh  ri  r<   	as_buffer)r,   r/  rj  r@   bufs        r   test_large_binary_valuerq  M  s    
 	0Ayy)s1v-.H
((FAL$7b
ACc288$$$88r>>s8q==
a&


Cs8s1v((((r   c                     d}t        j                  dt        |      z        }t        j                  t
        j                        5  t        j                  d||z  d dg|        d d d        y # 1 sw Y   y xY w)Nrm  re  rT  rn  rP   )rf  rg  r:   rb   rc   r(   ArrowCapacityErrorr2   )r,   r/  rj  s      r   test_string_too_largert  \  sY     	0Ayy)s1v-.H	r,,	-
&!h,f5B? 
.	-	-s   A//A8c                     d} dt        d      t        d      d d d   | j                  d      t        d      d g}d t        j                         t        j
                         t        j                         fD ]z  }t        j                  ||      }t        |      d	k(  sJ |j                  d
k(  sJ |j                  |k(  st        j                         sJ |j                         ddd| dd gk(  rzJ  y )Ns   mañanarT  s   dadas   d-a-t-ar0   zutf-8rn  rP   r   r&   s   data)
memoryviewdecoderW  r(   rX  r_  ra  r2   r:   r;   r<   r>   )u1r   r,   r@   s       r   test_sequence_bytesry  f  s    	Bwz"3Q3'IIgfD RYY["//"3R^^5EFhht"%3x1}}~~"""xx2~,,}}67GR"NNNN Gr   c                 N   g d}t        j                  ||       }|j                  | k(  sJ |d   j                         dk(  sJ dj	                  d      }t        j                  t         j                        5  t        j                  |g|        d d d        y # 1 sw Y   y xY w)N)rT  Nrn  rP   r   r  rM  z	utf-16-le)r(   r2   r<   as_pyencoderb   rc   r   )r,   r   r@   vals       r   test_sequence_utf8_to_unicoder~  w  s     "D
((4b
!C88r>>q6<<>U""" 

[
)C	r	'
#R  
(	'	's   9BB$c                  .   dd t        d      dg} t        j                  | t        j                  d            }t	        |      dk(  sJ |j
                  dk(  sJ |j                  t        j                  d      k(  sJ |j                         g dk(  sJ y )N   foof   barb   2346r   rP   r&   )r  Nr  r  )rW  r(   r2   rX  r:   r;   r<   r>   r  s     r   test_sequence_fixed_size_bytesr    s~    T9W-w7D
((4biil
+Cs8q==>>Q88ryy|###==?????r   c                      g d} t        j                  t        j                        5  t        j                  | t        j
                  d             d d d        y # 1 sw Y   y xY w)N)rT  Nr  r  r   rP   )rb   rc   r(   r   r2   rX  r   s    r   5test_fixed_size_bytes_does_not_accept_varying_lengthsr    s9    +D	r	'
BIIaL) 
(	'	's   +AA%c                      dg} t        | d         dk(  sJ t        j                  d      }t        j                  | |      }|j	                         | k(  sJ y )Ns   h    Ar      rP   )r:   r(   rX  r2   r>   )r   r,   r@   s      r   #test_fixed_size_binary_length_checkr    sQ    78DtAw<2	2B
((4b
!C==?d"""r   c                  x   t        j                  ddd      d t        j                  ddd      t        j                  ddd      g} t        j                  |       }t	        |      dk(  sJ |j
                  t        j                         k(  sJ |j                  dk(  sJ |d   j                         t        j                  ddd      k(  sJ |d   j                         J |d   j                         t        j                  ddd      k(  sJ |d	   j                         t        j                  ddd      k(  sJ y )
N  r&   i  i  r0      r   r   r1   )	datetimedater(   r2   r:   r<   date32r;   r{  r  s     r   test_sequence_dater    s   MM$1%tX]]4A-FMM$2&(D
((4.Cs8q==88ryy{""">>Qq6<<>X]]4A6666q6<<>!!!q6<<>X]]4A6666q6<<>X]]4B7777r   inputi*  l    ,Uqc                    | \  }}t        j                  ddd      d g}t        j                  ||      }t        j                  ||      }||fD ]v  }t	        |      dk(  sJ |j
                  |k(  sJ |j                  dk(  sJ |d   j                         t        j                  ddd      k(  sJ |d   j                         vJ  y )Nr  r&   rP   r0   r   )r  r  r(   r2   r:   r<   r;   r{  )r  t	ex_valuesr   r@   r6   r]   s          r   test_sequence_explicit_typesr    s     LAyMM$1%t,D
((4a
 C88IA&D4[1v{{vv{{||q   tzz|x}}T1a8888tzz|### r   c                      dd g} t        j                  t        t        j                  f      5  t        j
                  | t        j                                d d d        y # 1 sw Y   y xY w)Nl        rP   )rb   rc   r   r(   ArrowExceptionr2   r  )r  s    r   test_date32_overflowr    sB    DME	r'8'89	:
RYY[) 
;	:	:s   *A!!A*)	time_typeunitint_typemsnsc           
      *   fd}fd}t        j                  dddd      t        j                  dddd	      d t        j                  d
ddd      t        j                  dddd      g} |       }t        j                  ||      }t	        |      dk(  sJ |j
                  |k(  sJ |j                  d
k(  sJ |j                  |      }t        t        ||            }	|j                         |	k(  sJ |d   j                          ||d         k(  sJ |d
   j                          ||d
         k(  sJ |d   j                         J |d   j                          ||d         k(  sJ |d   j                          ||d         k(  sJ dd}
y )Nc                     g d}d|j                        dz  z  }| y | j                  dz  | j                  dz  z   | j                  z   | j                  dz  z   }t        ||z        S )Nr/  r  r0  r  rM   r1   i  <   gư>)indexhourminutesecondmicrosecondint)r  units
multiplierr1  r  s       r   expected_integer_valuez@test_sequence_time_with_timezone.<locals>.expected_integer_value  s{     (%++d+a/0
9FFTMHHrMHH MMF"# 	 7Z'((r   c                     dk(  r| j                  d      S dk(  r"| j                  | j                  dz  dz        S | S )Nr/  r   r  r    )replacer  )r  r  s    r   expected_time_valuez=test_sequence_time_with_timezone.<locals>.expected_time_value  sH     3;999++T\99!--4*?4)G9HHHr   r      "   @ r   r   r  r&      8   雙 rM   í rP   r0   r1   r   c                 Z    t        j                  | |      }t        j                  |      S )N)hoursminutes)r  	timedeltatimezone)r  r  offsets      r   tzz,test_sequence_time_with_timezone.<locals>.tz  s%    ##%A  ((r   )r   )r  timer(   r2   r:   r<   r;   rF  r   r   r>   r{  )r  r  r  r  r  r   r,   r@   r}   r-   r  s    `         r    test_sequence_time_with_timezoner    s   ) 	aR(aAt$aR(b"a(D 
4B
((4b
!Cs8q==88r>>>>Q XXhFC.56H))) q6<<>0a9999q6<<>0a9999q6<<>!!!q6<<>0a9999q6<<>0a9999)r   c                     t        j                   ddddddd      d t        j                   dddd	dd
d      t        j                   ddddddd      g} t        j                  |       }t        |      dk(  sJ |j                  t        j
                  d      k(  sJ |j                  dk(  sJ |d   j                         t        j                   ddddddd      k(  sJ |d   j                         J |d   j                         t        j                   dddd	dd
d      k(  sJ |d   j                         t        j                   ddddddd      k(  sJ y N        r&   r  r  r    r  r  r    r   r   .   9   r  r   r0  r   r0   r1   )r  r(   r2   r:   r<   	timestampr;   r{  r  s     r   test_sequence_timestampr    sd   $2q"b&9$2r2r6:$2q"b&9	D ((4.Cs8q==88r||D))))>>Qq6<<>X..tQA/12v? ? ? ?q6<<>!!!q6<<>X..tQB/12v? ? ? ?q6<<>X..tQA/12v? ? ? ?r   r  )NUTCz	Etc/GMT-1zEurope/Budapestr  r  c                 2    t        j                  d      fd} fd}t        j                  dddddd	d
      j                  j	                  t        j                  ddddddd            d j                  d      j	                  t        j                  ddddd	dd            j                  d      j	                  t        j                  ddddddd            g}j                  j	                  |d         |d   d |d   j                  j                        |d   j                  j                        g}t        j                         }t        j                  ||      }t        |      dk(  sJ |j                  |k(  sJ |j                  dk(  sJ |j                  d      }t        t        ||            }	|j!                         |	k(  sJ t#        t        |            D ]#  }
||
   j%                          |||
         k(  r#J  y )Npytzc                     g d}d|j                        dz  z  }| y t        j                  t        | j	                                     }t        ||z        S )Nr  rM   r1   )r  decimalDecimalrB  r  r  )dtr  r  tsr  s       r   r  zEtest_sequence_timestamp_with_timezone.<locals>.expected_integer_value%  sR    '%++d+a/0
: R\\^!45BrJ''r   c                     | y dk(  r| j                  d      } n'dk(  r"| j                  | j                  dz  dz        } | j                  d       S | j                  j                              S )Nr/  r   r  r  r  tzinfo)r  r  
astimezoner  )r  r  r  r  s    r   expected_datetime_valuezFtest_sequence_timestamp_with_timezone.<locals>.expected_datetime_value/  sz    :3;*BT\4)?4(GHB ::T:** ==x!899r   r  r  r  r   r  r  r    r&   r   r   r  
US/Easternr  r  r  r  Europe/Moscowr  r  r1   r   r  rP   r   )rb   importorskipr  utclocalizer  r  r(   r  r2   r:   r<   r;   rF  r   r   r>   rH   r{  )r  r  r  r  r   utcdatar,   r@   r}   r-   ir  s   ``         @r   %test_sequence_timestamp_with_timezoner    s    v&D(:$ 	$2q"b&9dAq!Q48	
 	l#,,dAr2r2v>	
 	o&//dAr1aF;	
D 	$q'"QQ488$Q488$G 
dx	(B
((4b
!Cs8q==88r>>>>Q XXgFC.89H))) 3s8_1v||~!8!DDDD r   c                    t        j                  d       dd l}| j                  dd       t	        j                  ddddd	d
d      |j
                  j                  t	        j                  ddddddd            |j                  d      j                  t	        j                  ddddd
dd            |j                  d      j                  t	        j                  ddddddd            g}|D cg c]  }|j                  d        }}|/|j                  |      }|D cg c]  }|j                  |       }}t        j                  d|      }t        j                  ||      }|j                         |k(  sJ y c c}w c c}w )Nr  r   PYARROW_IGNORE_TIMEZONEr   r  r  r  r   r  r  r  r  r&   r   r  r  r  r  r  r  r  r  r  r  r0  r  rP   )rb   r  r  setenvr  r  r  r  r  fromutcr(   r  r2   r>   )	monkeypatchr  r  r   r  r-   r  r,   r@   s	            r   1test_pyarrow_ignore_timezone_environment_variabler  e  si    0#6$2q"b&9dAq!Q48	
 	l#,,dAr2r2v>	
 	o&//dAr1aF;	
D 377$B

$
'$H7x(19:2FNN2&:	dx	(B
((4b
!C==?h&&& 8 ;s   /E?!Fc                     t        j                  d       dd l} t        j                  ddddddd	      | j                  j                  t        j                  d
dddddd            d | j                  d      j                  t        j                  ddddddd            | j                  d      j                  t        j                  ddddddd            g}t        j                  dd       t        j                  dd      t        j                  dd       t        j                  dd      t        j                  dd      g}t        ||      D ]1  \  }}|g|z   }t        j                  |      }|j                  |k(  r1J  y )Nr  r   r  r  r  r   r  r  r  r  r&   r   r  r  r  r  r  r  r  r  r  r0  r  r  )rb   r  r  r  r  r  r  r(   r  zipr2   r<   )r  r   r-   r  r)  	prependedr@   s          r   /test_sequence_timestamp_with_timezone_inferencer    s]   
 	$2q"b&9dAq!Q48	
 	l#,,dAr2r2v>	
 	o&//dAr1aF;	
D 	Td#
Te$
Td#
Tl+
To.H !x0MD4K	hhy!xx=((( 1r   c                     t        j                  d       dd l} t        j                  ddddddd	      t        j                  d
ddddddt        j                  j
                        d t        j                  ddddddd| j                  d            t        j                  ddddddd| j                  d            g}t        j                  dd       t        j                  dd      t        j                  dd       t        j                  dd      t        j                  dd      g}t        ||      D ]1  \  }}|g|z   }t        j                  |      }|j                  |k(  r1J  y )Nzoneinfor   r  r  r  r   r  r  r  r  r&   r   r  r  r  r  r  r  r  )ri   r  r  r  r0  r  r  )rb   r  r  r  r  r  ZoneInfor(   r  r  r2   r<   )r  r   r-   r  r)  r  r@   s          r   8test_sequence_timestamp_with_zoneinfo_timezone_inferencer    sR   

# 	$2q"b&9$1aAt!)!2!2!6!6	8$2r2r6!)!2!2|!2!D	F$2q!Q!)!2!2!2!G	I	D 	Td#
Te$
Td#
Tl+
To.H !x0MD4K	hhy!xx=((( 1r   c                     t        j                  d       dd l} dd l}|j	                  d| j                  d      d      t        j                  ddd	d
ddd      | j                  j                  t        j                  ddddddd            d g}|d   j                  | j                        | j                  j                  |d         |d   j                  | j                        d g}t        j                  |      }|j                  t        j                  dd      k(  sJ |j                  d      }|D cg c]"  }|rt        |j                         dz        nd $ }}|j!                         |k(  sJ y c c}w )Nr  r   l   {FK| r  r  )r  r  r  r  r  r   r  r  r  r  r&   r   r  r0   r0  r  r   i@B )rb   r  r  pandas	Timestampr  r  r  r  r  r(   r2   r<   r  rF  r  r>   )r  pdr   r  r@   r}   r  r-   s           r   ?test_sequence_timestamp_from_mixed_builtin_and_pandas_datetimesr    s\   
 	(T]]<-H 	 	 $2q"b&9dAq!Q48	
 	D 	Q488$$q'"Q488$	G ((4.C88r||D\::::XXgFFMNgrBLLNU*+t;gHN))) Os   :'E9c                  R   t        j                   ddd      g} t        j                  t        d      5  t	        j
                  | t	        j                  d             d d d        t	        j
                  | t	        j                  d            }|j                         | k(  sJ t        j                  t        j                  d	
            }t        j                   dddd|      g} t        j                  t        d      5  t	        j
                  | t	        j                  d             d d d        t	        j
                  | t	        j                  d            }|j                         d   t        j                   ddd      k(  sJ y # 1 sw Y   3xY w# 1 sw Y   nxY w)Ni  r   r  zout of boundsrl   r  rP   r0  r   )r  r  r  r  r   )
r  rb   rc   r   r(   r2   r  r>   r  r  )r   r@   r  s      r   0test_sequence_timestamp_out_of_bounds_nanosecondr    s+    dAr*+D	z	9
BLL./ 
: ((4bll40
1C==?d""" 
		8--B7	8BdAr2b9:D	z	9
BLL./ 
: ((4bll40
1C==?1!2!24B!???? 
:	9 
:	9s   +F+FFF&c                     t        j                  t        j                  ddddddd            d t        j                  t        j                  dddd	dd
d            t        j                  t        j                  ddddddd            g} t        j                  |       }t        |      dk(  sJ |j                  t        j                  d      k(  sJ |j                  dk(  sJ |d   j                         t        j                  ddddddd      k(  sJ |d   j                         J |d   j                         t        j                  dddd	dd
d      k(  sJ |d   j                         t        j                  ddddddd      k(  sJ y r  )
r   
datetime64r  r(   r2   r:   r<   r  r;   r{  r  s     r   test_sequence_numpy_timestampr    s    	h''aQBGH
h''aRRHI
h''aQBGH	D ((4.Cs8q==88r||D))))>>Qq6<<>X..tQA/12v? ? ? ?q6<<>!!!q6<<>X..tQB/12v? ? ? ?q6<<>X..tQA/12v? ? ? ?r   c                       e Zd Zy)MyDateNr   r   r   r   r   r   r  r  
      r   r  c                       e Zd Zy)
MyDatetimeNr  r   r   r   r  r    r  r   r  c                       e Zd Zy)MyTimedeltaNr  r   r   r   r  r    r  r   r  c            
         t        ddd      g} t        j                         }t        j                  | |      }t	        |      dk(  sJ |j
                  |k(  sJ |d   j                         t        j                  ddd      k(  sJ t        ddddddd	      g} t        j                  d
      }t        j                  d      }t        j                  d      }t        j                  | |      }t	        |      dk(  sJ |j
                  |k(  sJ |d   j                         t        j                  ddddddd      k(  sJ t        j                  | |      }t	        |      dk(  sJ |j
                  |k(  sJ |d   j                         t        j                  ddddddd      k(  sJ t        j                  | |      }t	        |      dk(  sJ |j
                  |k(  sJ |d   j                         t        j                  ddddddd	      k(  sJ t        ddd      g} t        j                  d
      }t        j                  d      }t        j                  d      }t        j                  |       }t	        |      dk(  sJ |j
                  |k(  sJ |d   j                         t        j                  ddd      k(  sJ t        j                  | |      }t	        |      dk(  sJ |j
                  |k(  sJ |d   j                         t        j                  dd      k(  sJ t        j                  | |      }t	        |      dk(  sJ |j
                  |k(  sJ |d   j                         t        j                  ddd      k(  sJ t        j                  | |      }t	        |      dk(  sJ |j
                  |k(  sJ |d   j                         t        j                  ddd      k(  sJ y )Nr  r  r  rP   r&   r   r  r  r  r/  r  r0  ix {   i  i  r  )r  r(   r  r2   r:   r<   r{  r  r  r  r  r  durationr  )	r   	date_typearr_dater/  r  r0  arr_sarr_msarr_uss	            r   test_datetime_subclassingr
    s   tQD 		Ixx9-Hx=A==I%%%A;(--a"<<<< 	4B2r62D 	SA	d	B	d	BHHT"Eu:??::??8>>x00q"a13R < < < < XXd$Fv;!;;"!9?? 1 1$2q24b&!B B B B XXd$Fv;!;;"!9?? 1 1$2q24b&!B B B B 	Cd#D 	CA	T	B	T	BHHTNEu:??::8>>x11#sDAAAAHHT"Eu:??::??8>>x11#s;;;;XXd$Fv;!;;"!9?? 2 23T BBBBXXd$Fv;!;;"!9?? 2 23T BBBBr   z)pandas required for nanosecond conversion)r   c                  j   t        j                   ddddddd      gt        ddddddd      gg} | D ]  }t        j                  d      }t        j                  ||	      }t        |      dk(  sJ |j                  |k(  sJ |d
   j                         t        j                   ddddddd      k(  rJ  y )Nr  r  r  r&   r  r  r  r  rP   r   )r  r  r(   r  r2   r:   r<   r{  )inputsr   r  arr_nss       r   #test_sequence_timestamp_nanosecondsr  W  s     
		4B2r6	:;	D!RBF	34F
 \\$$R(6{a{{b   ay H$5$5dAr168"f%F F 	F F r   c                     dg} t        j                  d      }t        j                  d      }t        j                  d      }t        j                  d      }t        j                  | |      }t        |      dk(  sJ |j                  |k(  sJ t        |d         dk(  sJ t        |d         d	k(  sJ t        j                  | |      }t        |      dk(  sJ |j                  |k(  sJ t        |d   j                               d
k(  sJ t        |d         dk(  sJ t        j                  | |      }t        |      dk(  sJ |j                  |k(  sJ t        |d   j                               dk(  sJ t        |d         dk(  sJ t        j                  | |      }t        |      dk(  sJ |j                  |k(  sJ t        |d   j                               dk(  sJ t        |d         dk(  sJ t        }	 G d d      }
|t        j                         t        j                         fD ]>  }t        j                  |	      5  t        j                  d |
       g|       d d d        @ y # 1 sw Y   KxY w)Nr&   r/  r  r0  r  rP   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                       e Zd Zy)?test_sequence_timestamp_from_int_with_unit.<locals>.CustomClassNr  r   r   r   CustomClassr    s    r   r  )r(   r  r2   r:   r<   reprrB  r{  rn   r  date64rb   rc   )r   r/  r  r0  r  r  r  r	  r  expected_excr  r,   s               r   *test_sequence_timestamp_from_int_with_unitr  h  s]    3D
SA	d	B	d	B	d	BHHT"Eu:??::??a>:   uQx=1111XXd$Fv;!;;"q	!"6   vay>9999XXd$Fv;!;;"q	!"3   vay>9999XXd$Fv;!;;"q	!"4   vay><<<<L  299;		,]]<(HHa'b1 )( -((s   I55I>	c                     t        j                  ddd      } t        j                  ddd      }| d |g}t        j                  |      }t	        |      dk(  sJ |j
                  t        j                  d      k(  sJ |j                  dk(  sJ |d   j                         | k(  sJ |d   j                         J |d   j                         |k(  sJ y 	Nr0   i  r&   d   r  r1   r0  r   )	r  r  r(   r2   r:   r<   r  r;   r{  td1td2r   r@   s       r   test_sequence_durationr    s    


Qa
(C


QT
*CsD
((4.Cs8q==88r{{4((((>>Qq6<<>S   q6<<>!!!q6<<>S   r   c                     t        j                  ddd      } t        j                  ddd      }t        j                  |       d t        j                  |      g}t	        j
                  |      }t        |      dk(  sJ |j                  t	        j                  d      k(  sJ |j                  dk(  sJ |d   j                         | k(  sJ |d   j                         J |d   j                         |k(  sJ y r  )r  r  r   timedelta64r(   r2   r:   r<   r  r;   r{  r  s       r    test_sequence_duration_np_scalarr     s    


Qa
(C


QT
*CNN3r~~c':;D
((4.Cs8q==88r{{4((((>>Qq6<<>S   q6<<>!!!q6<<>S   r   c                    t        j                  ddd      g}t        j                  dd      t        j                  ddd      t        j                  ddd      t        j                  ddd      d}t        j                  |       }t        j                  ||      }t        |      dk(  sJ |j                  |k(  sJ |d   j                         ||    k(  sJ y )	Nr1      i  r  r  rP   r&   r   )r  r  r(   r  r2   r:   r<   r{  )r  r   r-   r,   r  s        r    test_sequence_duration_with_unitr#    s     	1b$'D ''2.((B5((B5((B57H
 
T	BHHT#Eu:??::8>>x~---r   c                     dg}t        j                  |       }t        j                  ||      }t        |      dk(  sJ |j                  |k(  sJ |d   j
                  dk(  sJ y )Nr   rP   r&   r   )r(   r  r2   r:   r<   r    )r  r   r,   r@   s       r   )test_sequence_duration_from_int_with_unitr%    s]    3D	T	B
((4b
!Cs8q==88r>>q6<<1r   c                  P   t        j                  ddd      } t        j                  dd      }| d g| |gg}t        j                  |      }t	        |      dk(  sJ |j
                  t        j                  t        j                  d            k(  sJ |j                         |k(  sJ y )Nr&   r  r  r0   r0  )	r  r  r(   r2   r:   r<   r   r  r>   r  s       r   #test_sequence_duration_nested_listsr'    s    


Q4
(C


Q
$C$K#s$D
((4.Cs8q==88rxxD 12222==?d"""r   c                 l   t        j                  ddd      }t        j                  dd      }|d g||gg}t        j                  | | t        j                  d                  }t        |      dk(  sJ |j                   | t        j                  d            k(  sJ |j                         |k(  sJ y )Nr&   r  r  r  rP   r0   )r  r  r(   r2   r  r:   r<   r>   )r   r  r  r   r@   s        r   6test_sequence_duration_nested_lists_with_explicit_typer)    s     

Q4
(C


Q
$C$K#s$D
((4gbkk$&78
9Cs8q==88wr{{401111==?d"""r   c                     t        j                  ddd      } t        j                  dd      }t        j                  |       d gt        j                  |       t        j                  |      gg}t	        j
                  |      }t        |      dk(  sJ |j                  t	        j                  t	        j                  d            k(  sJ |j                         | d g| |ggk(  sJ t        j
                  t        j                  |       d gd      t        j
                  t        j                  |       t        j                  |      g      g}t	        j
                  |      }t        |      dk(  sJ |j                  t	        j                  t	        j                  d            k(  sJ |j                         | d g| |ggk(  sJ y )Nr&   r  r  r0   r0  ztimedelta64[us]r   )r  r  r   r  r(   r2   r:   r<   r   r  r>   r  s       r   )test_sequence_duration_nested_lists_numpyr+    sj   


Q4
(C


Q
$C^^C $'^^C ".."568D ((4.Cs8q==88rxxD 12222==?T{S#J7777HHbnnS)408IJHHbnnS)2>>#+>?@BD ((4.Cs8q==88rxxD 12222==?T{S#J7777r   c                      g d} t        j                  |       }|j                  t        j                         k(  sJ |j	                         | k(  sJ dgdgd g} t        j                  |       }|j                  t        j
                  t        j                               k(  sJ |j	                         | k(  sJ dgg dd gg} t        j                  |       }|j                  t        j
                  t        j                               k(  sJ |j	                         | k(  sJ d d dggg dd gd gg} t        j                  |       }|j                  t        j
                  t        j
                  t        j                                     k(  sJ |j	                         | k(  sJ t         j                  t         j                  f}t        j                  |      5  t        j                  dddgg       d d d        t        j                  |      5  t        j                  ddg g       d d d        t        j                  |      5  t        j                  dgdgd dggg       d d d        y # 1 sw Y   {xY w# 1 sw Y   QxY w# 1 sw Y   y xY w)Nr.  r&   r0   )r0   r1   r   )
r(   r2   r<   r   r>   r   r   ArrowTypeErrorrb   rc   )r   r@   
exceptionss      r   test_sequence_nesting_levelsr/  	  s   D
((4.C88rxxz!!!==?d"""C!dD
((4.C88rxx
++++==?d"""CTF#D
((4.C88rxx
++++==?d"""D!9+	404&9D
((4.C88rxx 45555==?d"""//2#4#45J 
z	"
!Q 
# 
z	"
!Q 
# 
z	"
1#sTA3K() 
#	" 
#	" 
#	" 
#	"s$   I,I8J,I58JJc                      g d} t        j                  t        j                        5  t        j                  |        d d d        y # 1 sw Y   y xY w)N)r6  r&   r!  )rb   rc   r(   r-  r2   r  s    r   test_sequence_mixed_types_failsr1  +  s0    D	r((	)
 
*	)	)s   AAc                      ddddidddg} t        j                         }t        j                  t              5  t        j
                  | |       d d d        y # 1 sw Y   y xY w)	Nz-10z-5r6  r&   0510rP   )r(   rN  rb   rc   rn   r2   )r   r<   s     r   3test_sequence_mixed_types_with_specified_type_failsr6  1  sI    4#q3T2D99;D	y	!
D! 
"	!	!s   AA"c                  
   t        j                  d      t        j                  d      g} t        j                  t        j                  fD ]6  }t        j
                  |  |dd            }|j                         | k(  r6J  y )Nz1234.183z8094.234r  r1   	precisionscalerP   r  r  r(   
decimal128
decimal256r2   r>   r   r<   r@   s      r   test_sequence_decimalr?  9  s`    OOJ')DED.hht$!"<=}}$&&& /r   c                  
   t        j                  d      t        j                  d      g} t        j                  t        j                  fD ]6  }t        j
                  |  |dd            }|j                         | k(  r6J  y )Nz1234234983.183z80943244.234r  r1   r8  rP   r;  r>  s      r   *test_sequence_decimal_different_precisionsrA  @  se    ()7??>+JD .hht$1"=>}}$&&& /r   c                     t        j                  d      t        j                  d      g} t        j                  t        j                  fD ]5  }t        j
                  |  |d            }|j                         | k(  r5J  y )N
12342349838094324rM   )r9  rP   r;  r>  s      r   test_sequence_decimal_no_scalerE  I  s^    OOL)7??9+EFD.hht$"45}}$&&& /r   c                  
   t        j                  d      t        j                  d      g} t        j                  t        j                  fD ]6  }t        j
                  |  |dd            }|j                         | k(  r6J  y )Nz-1234.234983z	-8.094324rM   r   r8  rP   r;  r>  s      r   test_sequence_decimal_negativerG  P  s`    OON+W__[-IJD.hht$1"=>}}$&&& /r   c                  
   t        j                  d      t        j                  d      g} t        j                  t        j                  fD ]6  }t        j
                  |  |dd            }|j                         | k(  r6J  y )Nz	-.4234983z.0103943r  r8  rP   r;  r>  s      r   #test_sequence_decimal_no_whole_partrI  W  s`    OOK('//**EFD.hht$!"<=}}$&&& /r   c                  
   t        j                  d      t        j                  d      g} t        j                  t        j                  fD ]6  }t        j
                  |  |dd            }|j                         | k(  r6J  y )Nz-394029506937548693.42983z32358695912932.01033r  r   r8  rP   r;  r>  s      r   #test_sequence_decimal_large_integerrK  ^  se    OO78OO235D.hht$1"=>}}$&&& /r   c                     g d} | D cg c]  }t        j                  |       }}t        j                  t        j                  fD ]6  }t        j
                  |  |dd            }|j                         |k(  r6J  y c c}w )N)r   r&   lc&E(ON    r   r8  rP   r;  )r   r]   r-   r<   r@   s        r   #test_sequence_decimal_from_integersrN  f  sk    +D,01Dq"DH1.hht$1"=>}}(*** / 2s   Bc                      t        j                  t        d      5  t        j                  t        j                  d      g       d d d        y # 1 sw Y   y xY w)Nzprecision out of rangerl   P11111111111111111111111111111111111111111111111111111111111111111111111111111111)rb   rc   r   r(   r2   r  r  r   r   r   (test_sequence_decimal_too_high_precisionrQ  n  s6    	z)A	B
'//(+,- 
C	B	Bs   *AAc                     t        j                  d      t        j                  dd      ft        j                  d      t        j                  dd      ft        j                  d      t        j                  dd	      ft        j                  d
      t        j                  dd      ft        j                  d      t        j                  dd      ft        j                  d      t        j                  dd      ft        j                  d      t        j                  dd      ft        j                  d      t        j                  dd      ft        j                  d      t        j                  dd      ff	D ]_  \  } }t        j                  | g      |k(  sJ t        j
                  | g      }|j                  |k(  sJ |j                         d   | k(  r_J  y )N1.234r   r1   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'  r2   r<   r>   )r   r   r@   s      r   test_sequence_decimal_inferrW  t  sd    
	!2==A#67		!2==A#67		#R]]1a%89		#R]]1a%89		"BMM!Q$78		"BMM!Q$78		"BMM!Q$78		#R]]1a%89		$bmmAq&9:	c }}dV$+++hhvxx3}}q!T)))%r   c                  8   t        j                  d      t        j                  d      gt        j                  dd      ft        j                  d      t        j                  d      gt        j                  dd      ft        j                  d      t        j                  d      gt        j                  dd      ft        j                  d	      t        j                  d
      gt        j                  dd      ft        j                  d      t        j                  d      gt        j                  dd      ft        j                  d      t        j                  d      gt        j                  dd      ft        j                  d      t        j                  d      gt        j                  dd      fg} | D ]Z  \  }}t        j                  |      |k(  sJ t        j
                  |      }|j                  |k(  sJ |j                         |k(  rZJ  y )NrS  z3.456r   r1   z456.7r   z123.4z4.567123e24567e3r  r   123e44567e2z0.123z0.04567r   z0.001z1.01E5	   rV  )casesr   r   r@   s       r   !test_sequence_decimal_infer_mixedr_    s    //'
"GOOG$<	=	q!		
//'
"GOOG$<	=	q!		
//'
"GOOG$<	=	q!		
//'
"GOOH$=	>	q!		
//'
"GOOH$=	>	q!		
//'
"GOOI$>	?	q!		
//'
"GOOH$=	>	q!		E  	c}}T"c)))hhtnxx3}}$&&&	 r   c            	      D   t        j                  d      t        j                  dd      t        j                  dd      t        j                  dd      gt        j                  dd      t        j                  dd      gft        j                  d      t        j                  dd      t        j                  dd      t        j                  dd	      gt        j                  dd      t        j                  dd
      gft        j                  d      t        j                  dd      t        j                  dd      t        j                  dd	      gt        j                  dd      t        j                  dd
      gffD ]  \  } }}|D ]C  }t        j                  | g|      }|j
                  |k(  sJ |j                         d   | k(  rCJ  |D ]<  }t        j                  t              5  t        j                  | g|       d d d        >  y # 1 sw Y   KxY w)NrS  r   r1   r   r0   rT  r   r   rU  rP   )
r  r  r(   r<  r2   r<   r>   rb   rc   r   )r   typs
wrong_typsr   r@   s        r    test_sequence_decimal_given_typere    s    OOG$]]1a "--1"5r}}Q7JK]]1a "--1"56	
 OOG$]]1a "--1"5r}}Q7KL]]1a "--2"67	
 OOI&]]1a "--1"5r}}Q7KL]]1a "--2"67	
#dJ( C((D6,C88s?"?==?1%---  Cz*$c* +* 1#2 +*s   0HHc                      t        j                  t        d            } t        j                  d      }| j                  |      sJ y )Nr1   rE   )r(   r2   rH   r3   r4   s     r   test_range_typesrg    s4    88E!HD88ID;;tr   c                      t        j                  t        d            } t        |       dk(  sJ | j                  dk(  sJ | j
                  t        j                         k(  sJ | j                         g k(  sJ y r9   )r(   r2   rH   r:   r;   r<   r=   r>   r?   s    r   test_empty_rangeri    sb    
((58
Cs8q==>>Q88rwwy   ==?b   r   c                  $   t         j                  j                  g g       } | j                  t        j                  g       k(  sJ t        |       dk(  sJ | j                         g k(  sJ t        j                  g dt        j                               }t        j                  g dt        j                               }t        j                  g dt        j                               }t         j                  j                  |||gg d      } d dd	dd
d ddddd dg}| j                         }||k(  s	J ||f       t        j                  t              5  t         j                  j                  |gddg       d d d        y # 1 sw Y   y xY w)N)namesr   Nr0   r1   rP   r6  Nr8  TFN)intsstrsboolsr6  Tr0   Fr1   r8  ro  rp  )r(   StructArrayfrom_arraysr<   structr:   r>   r2   r   rN  r   rb   rc   r   )r@   ro  rp  rq  r-   pylists         r   test_structarrayrv    s?   
..
$
$Rr
$
2C88ryy}$$$s8q====?b   88Lrxxz2D88$299;7DHH(rxxz:E
..
$
$	tU!#C
 sT2D51C$/H ]]_FX111 
z	"
""D6FF+;< 
#	"	"s   $FFc            	      t   t        j                  t        j                  dt        j                               t        j                  dt        j                               t        j                  dt        j
                               g      } t        j                  g |       }|j                         g k(  sJ ddddd	d
ddg}t        j                  ||       }|j                         |k(  sJ dddd i d d
dg}t        j                  ||       }dd ddd d d d dd d
d dg}|j                         |k(  sJ y )Nr6  r7  r8  rP   r   r  Tr5  r   rL  Fr6  r8  r9  r(   rt  fieldr   rN  r   r2   r>   )r,   r@   r   r-   s       r   test_struct_from_dictsr{    s$   	BHHS"((*-HHS"))+.HHS"((*-/ 
0B ((2B
C==?b   %d+%e,.D
((4b
!C==?d""" $U#%D ((4b
!Cd.D1T24H ==?h&&&r   c            	         t        j                  t        j                  dt        j                               t        j                  dt        j                               t        j                  dt        j
                               g      } t        j                  g |       }|j                         g k(  sJ ddddd	d
g}t        j                  ||       }|j                         ddd ddd d	dgk(  sJ y )Nr6  r7  r8  rP   r   r  )r2  r3  r   F)r2  r4  r5  ry  )r,   r@   r   s      r   !test_struct_from_dicts_bytes_keysr}    s    	BHHS"((*-HHS"))+.HHS"((*-/ 
0B ((2B
C==?b   E"E"$D
((4b
!C==?e$'d'   r   c            	      N   t        j                  t        j                  dt        j                               t        j                  dt        j                               t        j                  dt        j
                               g      } ddg}dddd	d
ddd	g}t        j                  ||       }t        j                  t        |      t              }||d d  t        j                  ||       }|j                         |k(  sJ |j                  |      sJ g d}ddd d	d d
d dd	g}t        j                  ||       }|j                         |k(  sJ dD ]>  }t        j                  t        d      5  t        j                  |g|        d d d        @ y # 1 sw Y   KxY w)Nr6  r7  r8  r   r  T)r   rL  Fr   r  Tr5  r   rL  FrP   r   ))r   r  NN)r   NF))r   r  r   )r4  r  TN(?i)tuple sizerl   )r(   rt  rz  r   rN  r   r2   r   r   r:   r   r>   r3   rb   rc   r   )r,   r   r-   r@   data_as_ndarrayr6   tups          r   test_struct_from_tuplesr    se   	BHHS"((*-HHS"))+.HHS"((*-/ 
0B De$/e%02H
((4b
!Chhs4y7OOA88O"-D==?h&&&::dD e$/d/1H ((4b
!C==?h&&& :]]:-=>HHcU$ ?> :>>s   7FF$	c            	         t        j                  t        j                  dt        j                               t        j                  dt        j                               t        j                  dt        j
                               g      } g dg dd g}t        j                  ||       }|j                         ddd	d
dddd
d gk(  sJ t        j                  t        j                  dt        j                               t        j                  dt        j                               t        j                  dt        j
                               g      } g dg dg}t        j                  ||       }t        j                  t              5  |j                          d d d        t        j                  t        j                  dt        j                               t        j                  dt        j                               t        j                  dt        j
                               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                  ||       }|j                         |k(  sJ y # 1 sw Y   xY w)Nr6  r7  r8  )r6  r   r7  r  r8  T)r6  r   r7  rL  r8  FrP   r   r  Tr5  r   rL  F)r  )r6  r  )r7  T)r  )r6  rL  )r7  F)r6  r0   )r7  baz)r6  r&   r  r  )djuliar0   r  r&   )r(   rt  rz  r   rN  r   r2   r>   rb   rc   r   )r,   r   r@   r-   s       r   test_struct_from_list_of_pairsr  8  s    	
bhhj!
biik"
bhhj! 
B 	..D
 ((4b
!C==?e$'e%(    

bhhj!
biik"
bhhj! 
B 	..D ((4b
!C	z	" 
#
 

bhhj!
biik"
bhhj! 
B 	-	< >	D D)e$'e$'e%(	H ((4b
!C==?h&&&/ 
#	"s   I??Jc            	         t        j                  t        j                  dt        j                               t        j                  dt        j                               t        j                  dt        j
                               g      } g g dg}d}t        j                  t        |      5  t        j                  ||        d d d        d}t               t        d      t        d	      d
g}|D ]  }t        j                  |j                  t        |      t        |      j                               }t        j                  t"        |      5  t        j                  |gg dg|        d d d        t        j                  t"        |      5  t        j                  g d|gg|        d d d         y # 1 sw Y   xY w# 1 sw Y   XxY w# 1 sw Y   xY w)Nr6  r7  r8  )r  r  )r7  Nz0The expected field name is `b` but `c` was givenrl   rP   zKCould not convert {} with type {}: was expecting tuple of (key, value) pairzunknown-keyrN  )r  r  )r8  N)r(   rt  rz  r   rN  r   rb   rc   r   r2   ru   reescapeformatr  r<   r   rn   )r,   r   msgtemplater^  key_value_pairs         r   %test_struct_from_list_of_pairs_errorsr  o  sr   	
bhhj!
biik"
bhhj! 
B 	,D =C	z	-
B 
.	 
 	cm	E  ii $~"6"?"?
  ]]9C0HH 5  1 ]]9C0HH5   10   
.	-( 10 10s$   .F9GG9GG	G	c            	         t        j                  t        j                  dt        j                               t        j                  dt        j                               t        j                  dt        j
                               g      } dddddg}t        j                  t              5  t        j                  || 	       d d d        y # 1 sw Y   y xY w)
Nr6  r7  r8  r  r   rL  Fr5  rP   )
r(   rt  rz  r   rN  r   rb   rc   rn   r2   )r,   r   s     r   test_struct_from_mixed_sequencer    s    	BHHS"((*-HHS"))+.HHS"((*-/ 
0B %e,.D	y	!
B 
"	!	!s   ,CCc                  z   t        j                  t        j                  dt        j                               t        j                  dt        j                               t        j                  dt        j
                               g      } dddddd	d
dg}t        j                  |      }t        |j                  |        |j                         |k(  sJ dddd i d d	dg}dd ddd d d d dd d	d dg}t        j                  |      }t        j                  t        |      t              }||d d  t        j                  |      }t        |j                  |        |j                         |k(  sJ |j                  |      sJ t        j                  t        j                  dt        j                  t        j                  dt        j                  t        j                                     t        j                  dt        j
                               g            t        j                  dt        j                               g      } ddgddddd d
dd dd d	dg}t        j                  |      }|j                         |k(  sJ t        j                  i g      }|j                  t        j                  g       k(  sJ |j                         i gk(  sJ t!        j"                  t         j$                  t         j&                  f      5  t        j                  dddig       d d d        y # 1 sw Y   y xY w)Nr6  r7  r8  r   r  Tr5  r   rL  Frx  r9  r   aaab)r  r  r&   r0   )r(   rt  rz  r   rN  r   r2   r.   r<   r>   r   r   r:   r   r3   r   rb   rc   r   r-  )r)  r   r@   r-   r  r6   s         r    test_struct_from_dicts_inferencer    s   IIrxxRXXZ8!xxRYY[9!xxRXXZ8: ;M %d+%e,.D ((4.Cchh.==?d""" $U#%D d.D1T24H
 ((4.Chhs4y7OOA88D>Dchh.==?h&&&::d II
bii$0D!E!#$
!;!= > 	?
biik"$ %M Qt,59U+$7U#%D ((4.C==?d""" ((B4.C88ryy}$$$==?rd""" 
):):;	<
!c1X 
=	<	<s   L11L:c            	      $   g d} g d}g d}g d}| |||g}t         j                  j                  |g d      }t         j                  j                  t        j                  | d      t        j                  |d      t        j                  |      t        j                  |d      gg d      }t	        j
                  t              5  t         j                  j                  |       d d d        |j                  |      sJ y # 1 sw Y   xY w)	Nrl  rm  rn  r   )ro  rp  rq  int_nonnullr   rP   utf8)r(   rr  rs  r2   rb   rc   r   r3   )ro  rp  rq  ints_nonnullarraysr   r-   s          r   #test_structarray_from_arrays_coercer    s    DDELD%.F^^'')89F ~~))	$W	%	$V	$	%	,W	-	/ 	12H 
z	"
""6* 
# ==""" 
#	"s   
 DDc                  V   t        j                  d      d t        d      t        j                  d      g} t        j                  t
              5  t        j                  |       }d d d        t        j                  | d      }|j                  t        j                  dd      k(  sJ |j                         | d d d d gz   k(  sJ t        j                  | t        j                  dd      d	      }|j                         t        j                  d
      d d d gk(  sJ y # 1 sw Y   xY w)NrS  r   Tr  r   r1   r0   rM   r   z1.2340)r  r  rC  rb   rc   rn   r(   r2   r<   r<  r>   )r}   r2   s     r   $test_decimal_array_with_none_and_nanr    s    oog&eElGOOE<RSF	y	!  
" HHV.E::q!,,,,??r
dD\ 9999HHV"--A"6DIE??!:D$ MMMM 
"	!s   DD(c            
         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 cg c]  }|D cg c]  }|d   |d   f c} }}}t        j                  |t        j                  t        j                         t        j                                     }|j                         |k(  sJ d | d<   d |d<   t        j                  |t        j                  t        j                         t        j                                     }|j                         |k(  sJ ddigi gdddgfD ]R  }t        j                  t        d      5  t        j                  |gt        j                  dd             d d d        T dddgdddiigfD ]\  }t        j                  t         j                  d      5  t        j                  |gt        j                  dd             d d d        ^ y c c}w c c}}w # 1 sw Y   xY w# 1 sw Y   xY w)Nr2  r&   )ri   r    r3  r0   r4  r1      dr      er      f   gr  ri   r    rP   )r~   r   zInvalid Maprl   i4r   r   )
r(   r2   map_rX  r   r>   rb   rc   r   r   )r   entryr  r-   r@   s        r   test_map_from_dictsr    s   A&q(ABA&'A&q(AD)+A&'	)D
 FJJTE7A!E(AgJ'7THJ
((8"''"))+rxxz"B
CC==?h&&& DGHQK
((8"''"))+rxxz"B
CC==?h&&& Q<.2$qq)9(:;]]:];HHeW2774#67 <; <
 +,|/D.EF]]2??2KLHHeW2774#67 ML G) 8J  <;
 MLs.   	G0G+G0-G63-H+G06G?	H	c            	         ddgdgg ddgg} t        j                  | t        j                  t        j                         t        j                                     }|j                         | k(  sJ d | d<   t        j                  | t        j                  t        j                         t        j                                     }|j                         | k(  sJ dgd	gd
gfD ]R  }t        j                  t        d      5  t        j                  |gt        j                  dd             d d d        T y # 1 sw Y   _xY w)N)r2  r&   )r3  r0   )r4  r1   ))r  r   )r  r   )r  N)r  r  rP   r&   )r   r   )r4  r  Tr  rl   r  )	r(   r2   r  rX  r   r>   rb   rc   r   )r-   r@   r  s      r   test_map_from_tuplesr  #  s    I&4H
 ((8"''"))+rxxz"B
CC==?h&&& HQK
((8"''"))+rxxz"B
CC==?h&&& &2$!3 45]]:-=>HHeW2774#67 ?> 6>>s    -D88E	c                  R   t        j                  t        j                         t        j                               } t        j                  g d|       }t        |j                  t         j                        sJ |j                  j                  |       sJ t        j                  g dt        j                               }t        j                  ddgt        j                               }|j                  j                  |      sJ |j                  j                  |      sJ y )Nr-  )FFTFTrP   )r   r   r&   r   r&   FT)
r(   
dictionaryr   r   r2   rh  r<   DictionaryTyper3   indices)r   r6  expected_indicesexpected_dictionarys       r   test_dictionary_from_booleanr  :  s    
--	bhhj
9C
2=Aaffb//00066==xxbggi@((E4=rxxzB99,---<<2333r   r-  c                 
   t        j                  t        j                         |       }t        j                  g d|      }t	        |j
                  t         j                        sJ |j
                  j                  |      sJ t        j                  g dt        j                               }t        j                  g d|       }|j                  j                  |      sJ |j                  j                  |      sJ y )Nr  )r&   r0   r&   r&   r0   r1   rP   )r   r&   r   r   r&   r0   r   )	r(   r  r   r2   rh  r<   r  r3   r  r-  r   r6  r  r  s        r   test_dictionary_from_integersr  F  s     --	j
9C
##.Aaffb//00066==xx 2C((9:>99,---<<2333r   input_index_typec                     t        j                  | t        j                               }t        j                  t	        d      |      }|j
                  j                  |      sJ y )Nr  rM   rP   )r(   r  r   r2   rH   r<   r3   )r  r   r@   s      r   test_dictionary_index_typer  ^  sE     --(RXXZ
@C
((593
'C88??3r   c                  V   t        j                  t        j                         t        j                               } t        j                  t        d      |       }t        j                  t        j                         t        j                               }|j                  j                  |      sJ t        j                  t        d      |       }t        j                  t        j                         t        j                               }|j                  j                  |      sJ y )Nr     rP      )	r(   r  r   r   r2   rH   r<   r3   r   )r   r6  r-   s      r   "test_dictionary_is_always_adaptiver  m  s     --	bhhj
9C
t3'A}}RWWY
3H66=="""
xs+A}}RXXZ4H66=="""r   c                  >   t        j                         t        j                         fD ]  } t        j                  t        j                         |       }t        j
                  g d|      }t        |j                  t         j                        sJ t        j
                  g dt        j                               }t        j
                  g d|       }|j                  j                  |      sJ |j                  j                  |      rJ  t        j                  t        j                         t        j                  d            }t        j
                  g d|      }t        |j                  t         j                        sJ t        j
                  g dt        j                               }t        j
                  g dt        j                  d            }|j                  j                  |      sJ |j                  j                  |      sJ y )	N) r6  bbr6  r  cccrP   )r   r&   r0   r&   r0   r1   )r  r6  r  r  r1   )aaar  bbbr  r  )r   r   r&   r0   r&   )r  r  r  )r(   rX  rN  r  r   r2   rh  r<   r  r  r3   r  s        r   test_dictionary_from_stringsr  |  sh   yy{BIIK0
mmBGGIz2HH6SA!&&""3"344488$6RWWYG hh'=JOyy 0111||""#6777 1 --	299Q<
0C
43?Aaffb//000xxbggi@((#8ryy|L99,---<<2333r   )r  r-    )milliseconds)microsecondsie;c                 X   t        j                  |       }t        j                  dg|      }t        j                  |j                         |      }|j	                  |      sJ |g}| dk(  r	 dd l}|j                  dd      g}|j                         |k(  sJ y # t        $ r Y !w xY w)Nr  rP   r  r   r  )r(   r  r2   r>   r3   r  	TimedeltaImportError)r  r-   r,   r@   restoredexpected_listr  s          r   *test_duration_array_roundtrip_corner_casesr    s     
T	B
((K=r
*Cxxb1H::hJMt|	C  \\+D\ABM=000  		s   /B 	B)(B)c                  F   dd l } t        j                  d      }t        j                  dg|      }|j	                         }t        |d   | j                        sJ t        j                  ||      }|j                  |      sJ |j	                         | j                  dd      gk(  sJ t        j                  d      }t        j                  dg|      }|j	                         }t        |d   | j                        sJ t        j                  ||      }|j                  |      sJ |j	                         | j                  dd      gk(  sJ t        j                  dd      }d}t        j                  |g|      }|j	                         }t        |d   | j                        sJ t        j                  ||      }|j                  |      sJ |j	                         | j                  |d      j                  d	      j                  d      gk(  sJ y )
Nr   r  l      "9} rP   r  r  r  l    ^,j2 r  )r  r(   r  r2   r>   rh  r  r3   r  r  tz_localize
tz_convert)r  r,   r@   r   r  r    s         r   <test_roundtrip_nanosecond_resolution_pandas_temporal_objectsr    s    	T	B
(('(r
2C==?Dd1gr||,,,xx2&H::h
(t4$    
d	B
(('(r
2C==?Dd1gr||,,,xx2&H::h
(t4$    
d|	,BE
((E7
$C==?Dd1gr||,,,xx2&H::h
U&22	:l+$   r   c                     | j                         }t        j                  || j                        }|j	                  |       sJ y )NrP   )r>   r(   r2   r<   r3   )r@   r   r  s      r   test_array_to_pylist_roundtripr    s5     --/Cxx#((+H??3r   c                     ddz  } ddz  }| gdz  dd |gz   }t        j                  |t        j                               }t        |t         j                        sJ t        |      dk(  sJ |d   j                         dk(  sJ |d   j                         J |d	   j                         |k(  sJ |d
gz   }t        j                  |t        j                               }t        |t         j                        sJ |j                  dk(  sJ t        |j                  d            dk(  sJ t        |j                  d            dk(  sJ |j                  d      d   j                         dk(  sJ |j                  d      d   j                         J |j                  d      d	   j                         |k(  sJ |j                  d      j                         d
gk(  sJ |dz  ddgz   }t        j                  |t        j                               }t        |t         j                        sJ |j                  dk(  sJ t        |j                  d            dk(  sJ t        |j                  d            dk(  sJ t        |j                  d            dk(  sJ t        d      D ]t  }|j                  |      d   j                         dk(  sJ |j                  |      d   j                         J |j                  |      d	   j                         |k(  rtJ  |j                  d      j                         ddgk(  sJ y )N   x k   r   rP   r     r"  s   twor0   r   r&   s   threer1   )r(   r2   rX  rh  ri  r:   r{  ChunkedArray
num_chunkschunkr>   rH   )v1v2one_chunk_datar@   two_chunk_datathree_chunk_datar  s          r   test_auto_chunking_binary_liker    s    
		B			B TBY#tR0N
((>		
4Cc288$$$s8r>>r7==?c!!!r7==?"""r7==?b    $vh.N
((>		
4Cc2??+++>>Qsyy|"""syy|!!!99Q<!!#s***99Q<!!#+++99Q<!!#r)))99Q<!!#x/// &)Xx,@@
((#"))+
6Cc2??+++>>Qsyy|"""syy|"""syy|!!!1Xyy|B%%'3...yy|B%%'///yy|B%%'2---  99Q<!!#(';;;;r   c                  d   dggdz  } t        j                  |       }t        |t         j                        sJ |j                  dk(  sJ t        |j                  d            dk(  sJ t        |j                  d            dk(  sJ |j                  d      j                         dggdz  k(  sJ y )N   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi   r0   r   i r&   )r(   r2   rh  r  r  r:   r  r>   )valsr@   s     r   !test_auto_chunking_list_of_binaryr  	  s     L>]+D
((4.Cc2??+++>>Qsyy|	)))syy|!!!99Q<!!#~'9999r   c                  n   t        j                  dd      } | gdz  }t        j                  |t        j                  t        j
                                     }t        |t        j                        sJ t        |      dk(  sJ t        j                  dd      } | gdz  }t        j                  |t        j                  t        j
                                     }t        |t        j                        sJ |j                  dk(  sJ t        |j                  d            dk(  sJ t        |j                  d	            d	k(  sJ |j                  d	      }|d   }t        |t        j                        sJ t        j                  | t        j
                               }|j                  |k(  sJ y )
N)   r   r   r  rP   r   r0   r   r&   )r   onesr(   r2   r   r   rh  ri  r:   r  r  r  
ListScalarr}   )r?  r   r@   r  scalarr-   s         r   test_auto_chunking_list_liker  	  sI   7787+D6XD
((4bhhrxxz2
3Cc288$$$s8q==7787+D6D=D
((4bhhrxxz2
3Cc2??+++>>Qsyy|!!!syy|!!!IIaLE1XFfbmm,,,xx288:.H==H$$$r   c                  r   t        j                  t        j                         t        j                               } dgdz  }|gdz  }t        j                  ||       }t	        |t         j
                        sJ t        |j                  d            dk(  sJ t        |j                  d            dk(  sJ y )N)r&   r&   r  r   rP   r   r  r&   )r(   r  r   r2   rh  r  r:   r  )r,   r?  r   r@   s       r   test_auto_chunking_map_typer  )	  s     
BGGI	&B8eD6D=D
((4b
!Cc2??+++syy|!!!syy|!!!r   )r,   charr]   r  c                 0   |dz  }|dz  }t        j                  t        j                  dt        j                               t        j                  dt        j                               t        j                  d|       g      }dd|dgd	z  }|j                  dd|d       t        j                  ||
      }t        |t         j                        sJ |j                  dd|d       t        j                  ||
      }t        |t         j                        sJ |j                  dk(  sJ t        |j                  d            dk(  sJ t        |j                  d            dk(  sJ |j                  d      d   j                         dd|dk(  sJ y )Nr  r  boolintegerstring-likeTr&   )r  r  r  r  rP   r0   r   r  )r(   rt  rz  r   r   appendr2   rh  ri  r  r  r:   r  r{  )r,   r  r  r  struct_typer   r@   s          r   test_nested_auto_chunkingr  6	  sb    
		B			B))
$
BHHJ'
# K a;<rADKK!B?@
((4k
*Cc288$$$KK!DAB
((4k
*Cc2??+++>>Qsyy|"""syy|!!!99Q<?  "'   r   c                     dgdz  } t        j                  | t        j                               }t        |t         j                        sJ t        |      dk(  sJ t        |j                        dkD  sJ t        j                  dt              }t        j                  | |t        j                               }t        |t         j                        sJ t        |      dk(  sJ t        |j                        dkD  sJ t        j                  | t        j                               }t        |t         j                        sJ t        |      dk(  sJ t        |j                        dkD  sJ y )Ns   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai   rP   r&   r   r<   r(   r2   rN  rh  r  r:   chunksr   zerosr  rX  itemsr@   r   s      r   $test_array_from_pylist_data_overflowr  W	  s    MW%E
((5ryy{
+Cc2??+++s8uszz?Q88E4 D
((5t"))+
6Cc2??+++s8uszz?Q
((5ryy{
+Cc2??+++s8uszz?Qr   c                     dgdz  } t        j                  | t        j                               }t        |t         j                        sJ t        |      dk(  sJ t        |j                        dkD  sJ t        j                  dt              }t        j                  | |t        j                               }t        |t         j                        sJ t        |      dk(  sJ t        |j                        dkD  sJ t        j                  | t        j                               }t        |t         j                        sJ t        |      dk(  sJ t        |j                        dkD  sJ y )Nr2  l        rP   r&   r  r  r  s      r   &test_array_from_pylist_offset_overflowr  m	  s    FgE
((5ryy{
+Cc2??+++s8uszz?Q88E4 D
((5t"))+
6Cc2??+++s8uszz?Q
((5ryy{
+Cc2??+++s8uszz?Qr   )r   scalar_datar-  rn  )r&   NN)r  r!  Nr  r!  i  )r&   r   ir   rP   r  r  )r&   r0   r  )r7  r0   )r&   rL  r  c                 H   t         | |            t        k(  rt        j                  d       t	        j
                  ||      }t	        j
                   | |            }|j                  |      sJ t	        j
                   | |      |      }|j                  |      sJ y )Nz&The elements in the set get reordered.rP   )r<   r+   rb   skipr(   r2   r3   )r   r   r  r-  expectr   s         r   !test_array_accepts_pyarrow_scalarr  	  s    D C$<=XXd,FXXc+&'F==   XXc+&Z8F==   r   c                     | t        j                  d      t        j                  d      t        j                  d      g      }t        j                  t         j                  d      5  t        j
                  |       d d d         | dt        j                  d      d g      }t        j                  t         j                  d      5  t        j
                  |       d d d         | t        j                  d      t        j                  d      d g      }t        j                  t         j                  d      5  t        j
                  |       d d d         | t        j                  d      t        j                  d      d g      }t        j                  t         j                  d      5  t        j
                  |       d d d        t        j                  t         j                  d      5  t        j
                  t        j                  d      gt        j                         	       d d d        t        j                  t         j                  d
      5  t        j
                  t        j                  d      gt        j                         	       d d d        y # 1 sw Y   *xY w# 1 sw Y   xY w# 1 sw Y   oxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr&   r6  r"  z'cannot mix scalars with different typesrl   zIpyarrow scalars cannot be mixed with other Python scalar values currentlyz0.1z=Cannot append scalar of type string to builder for type int32rP   z;Cannot append scalar of type int64 to builder for type null)
r(   r  rb   rc   r   r2   r   r  r   r=   )r   sequences     r   (test_array_accepts_pyarrow_scalar_errorsr  	  s    BIIaL"))C."))C.ABH	rF
H

H Aryy~t,-H	r>
? 	
?
 BJJu%ryy~t<=H	r>
? 	
?
 BIIcNBJJu$5t<=H	r>
? 	
?
 
r9
: 	"))C.!
3
:
 
r8
9 	"))A,bggi0
9 
97
H 
H

? 
?
? 
?
? 
?

: 
:

9 
9sH   *J(J5?K3K6>K!>K((J25J?KKK%(K1)rx   r  r  rU   rf  r  
hypothesishrb   numpyr   r  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.   r7   rA   rI   rK   rN   rR   rW   re   rg   ro   rs   rv   rz   r   r   r   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   r=   r  todayr  r  r  time32time64nowr  r  r  rX  r_  rN  r`  rt  r=  r@  rD  rI  rO  rb  rQ  r]  rc  large_memoryrk  slowrq  rt  ry  r~  r  r  r  r  r  r  r  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/  r1  r6  r?  rA  rE  rG  rI  rK  rN  rQ  rW  r_  re  rg  ri  rv  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  given
all_arraysr  r  r  r  r  r  r  r  r  MonthDayNanomonth_day_nano_intervalra  r  r  r  r   r   r   <module>r1     s  $      	   .  ' ' WRWWYhbhhjhbhhjhbhhjhbhhjyryy{yryy{yryy{ "%n!5  ,# #  
$!!!7 
*!
 I&>/*?+n<K.0 "(++"9"9	>#  #)++"9"9	>#  &,[[%<%<	& "
 $ $ ! ! !' !'  8 ! 8  ? ! ? $! $! !# !# !HHbmmR\\2+=+=%? @#@ !# $	L $	L ! HHbmmR\\2+=+=%? @1@ !1  - ! -D !+ !+  ,n=	' > ! 	' #L1' 2 $ '  L1' 2 ! ' !' !'  ,n=
' > ! 
'  ,n=
' > ! 
' !' !' $- $-     E'  ))) ) 1- 2- 1 2 $-' . $'&	6#&"  5 5"  0








3 
 u6, 7 ! ,. u6N 7 N( : :6  1(  *#* # /
E]HBHHJ
D\7277972779


%mmT"IBIIK0
HMM!"IBIIK0hmmAq!d#YRYYs^4
MHMM!Q"#YRYYt_5t$lbll4&89h$%{r{{3'78
D\9299;yryy|,*+ibiik"oboo'(q	4qt!45		C#c8288:%678!2 *%+ ,% /!fqc]HBHHXRXXZ()!fq!fxrxx
A./cAq6]MBMM("((*-.2 
% %  " "$# 			_R__->@PQR# S# *H  1?2??3DEF  G    1?2??3DEF	) G  	) 			YRYY[."..:JKL@ M @O" 			_R__->@PQR
! S
!@*#
8 $299;6$299;)94(@ACD$D$* :YYWYYgYYgYYg	= 7)7)t?(  &   " @E@EF  & '':)< ) )6 * *:@* ? ?(	X]] 		"" 		($$ 	>CB {...E  GFGF 22  22j! ! ! !89. :." !89 :	# HHbmmR\\2+=+=%? @	#@	# 8 8**D"''''''+.*,'4+<!=6'2" % %D4'n+\  1  1 h#0N8>8.	4 BGGIBHHJBHHJBHHJBHHJBIIKBIIKBIIKBJJLBJJL( 	4	4 +BGGIBHHJBHHJBHHJ	.   #4. -
(

[
12	8;78	8;78	8845	0 11* # #L      &< &<R : : % %* "  " RYY[#RYY[$* 	 
8  *   , $>9299T?IBIIe,<dCXRXXZP	1yryy|YRYYtXRXXZ%@A

 yryy|T9299T8288:+FGT
D\IBIIdOYRYYt_5wrwwyAibiimYRYYr]D9:2::<H	x}}""$%	yryy,,./0		 
x}}""$%	yryy,,.			<=		 
q!Q	&	=8==Aq)	*D1		$ 
		B	'(	%8%%b1	23D 
 x  q!,-	yryy***4A678T 
	)*	?2???3	45"""$
 
3Z)"))C.)"))C.19299;?
D\IBIIdOYRYYt_5yryy{C	t	41	&			$			!(EF		!
 [9299Y'(("((8288:*>?
Cj\IBIIsCj)*HBHHYRYY[,AB[9299Y\R\\("((*-EFGR\\("((*
Cj\IBIIsCj|r||IBIIK/HIJR\\)"))+  		172779	%yryy'CTJ	
 Y3XRXXZ0$7D		5yryy|	,ibiiIBIIaL.QR		! Vibii/"//"345r7HI	UYRYYs!234oboo6GH
Vibii.".."234nbnn6FG	UYRYYs!123^R^^5EF		3]R]]8288:yryy{C	DEhbhhj)"))+. 
c
	3hbhhj)"))+>	?	3hbhhj)"))+>	?	Ahbhhj)"))+.	 
	1=2==XRXXZ@	ABhbhhj("((*- 
	Hh'ibii72779WRWWY/0/2 
3 	4		C#c72779%567	 
	Hl+)"))72779YRYY[1234 
5 	6		C#c9299;%789	s_A _@!A_ $B! # 1 $  1mN  	Bs   Ap( p(Ap3p2Ap3