
    z-Ph`<             +       2   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
n# e$ r dZ
Y nw xY w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j                    fd ej                    fd	 ej                    fd
 ej                    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
e45                    e2           e3e1ge4z   Z6e0ge6z   Z7ej8        9                    d#e6          Z:ej8        9                    d#e4          Z;ej8        9                    d#e7          Z<e<d$             Z=e:d%             Z>e;d&             Z?ej8        j	        e;d'                         Z@ej8        j	        e;d(                         ZAe<d)             ZBe;d*             ZCe;ej8        9                    d+ejD        ejE        ejF        ejG        g          d,                         ZHe<d-             ZIe;ej8        9                    d.e4          ej8        9                    d+ejD        ejE        ejF        ejG        g          d/                                     ZJej8        j	        e;d0                         ZKe;d1             ZLej8        j	        e;ej8        9                    d2e          d3                                     ZMej8        j	        e<ej8        9                    d4e          d5                                     ZNej8        j	        e;ej8        9                    d4e          d6                                     ZOe;d7             ZPej8        j	        e;ej8        9                    d2e          d8                                     ZQej8        j	        e;ej8        9                    d2e          d9                                     ZRe;d:             ZSe<d;             ZTej8        j	        d<             ZUej8        j	        ej8        V                    d=eW>          d?                         ZXej8        9                    d@g dA          dB             ZYej8        9                    d@g dA          dC             ZZe<ej8        9                    dDe          dE                         Z[dF Z\dG Z]dH Z^dI Z_dJ Z`ej8        j	        dK             ZadL Zbej8        j	        e;ej8        9                    dMdN ejc                    fdO ejd                    fdP eje                    fg          ej8        9                    dQdRdSg          dT                                                 Zfej8        j	        ej8        9                    dQdRdSg          dU                         Zgej8        j	        dV             Zhej8        j	        ej8        V                    dWei>          dX                         Zjej8        j	        ej8        9                    dYdRdSg ejk                    fddg ejl                    fg dZ ej                    fg d[ ejd                    fejm        n                                dg ejo                    fdejm        n                                g ejp                    f ejq        d\d\d\          dg ejr        d]          fd ejq        d^d^d^          g ejs        d_          fej        t                                dg eju        d_          f ejv        d`a          g ejw        d]          fdbdcg ejx                    fg dd ejx        de          fg df ejy                    fg dg ejz                    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j8        j	        ej8        9                    dYd\d^gdegg ejD         ej                              fd\d^gdedmgg ejD         ej                    d^          fd\gd^degg ejE         ej                              fg          dn                         Z~do Zej8        j	        dp             Zdq Zej8        9                    dr ejz                     ej{                     ej                    g          ds             Zdt Zdu Zej8        j        ej8        9                    dr ejy                     ej{                    g          dv                         Zej8        j        ej8        j        ej8        9                    dr ejy                     ej{                    g          dw                                     Zej8        j        ej8        9                    dr ejx                     ejz                     ej                    g          dx                         Zdy Zej8        9                    dr ejz                     ej{                     ej                    g          dz             Zd{ Zd| Zd} Zd~ Zej8        9                    d ejo                    ddgf ejp                    ddgfg          d             Zd Zej8        9                    dejr        d]dfejr        ddfejs        d_dfejs        ddfg          d             Zd Zej8        9                    dg d          ej8        9                    dg d          d                         Zej8        9                    dg d          d             Zd Zej8        j        d             Zej8        j        d             Zd Zej8        j	        d             Z G d dejm                  Z G d dej                  Z G d dejv                  Zd Zej8        V                    ej         d          d             Zej8        j        ej8        j        d                         Zd Zej8        j	        d             Zej8        9                    dg d          d             Zej8        9                    dg d          d             Zd Zej8        9                    d+ejD        ejE        ejF        ejG        g          d             Zej8        j	        d             Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zej8        j	        d             Zd Zd Zd Zej8        j	        d             Zd Zd Zd Zd Zd Zej8        9                    d ej                     ej                     ej                     ej                     ej                     ej                     ej                     ej                     ejd                     eje                    g
          dĄ             Zej8        9                    d ej                     ej                     ej                     ej                    g          dƄ             ZdǄ ZdȄ Zej8        9                    dd] ejv        dʬa          fd ejv        dʬ˦          fd_ ejv        dʬ̦          fd ejv        d̦ͬ          fg          d΄             Zej8        j        dτ             Zej8        j	         ej        ej                  dЄ                         Zej8        j        dф             Zej8        j        d҄             Zej8        j        dӄ             Zej8        j        ej8        j        dԄ                         Zej8        j        ej8        9                    d ejz                    df ejx                    dfg          d؄                         Zej8        j        dل             Zej8        j        ej8        j        dڄ                         Ze<ej8        9                    dg dܢ ej        dR           ej        dS          dg ejk                    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jl                    fg dޢ ej        dߦ           ej        d          dg eje                    fdejm        n                                gd ej        ejm        n                                          g ejo                    fdejm        n                                gd ej        ejm        n                                 ejp                              g ejp                    f ejq        d\d\d\          dg ej         ejq        d\d\d\                    dg ejs        d_          f ejv        d`a          g ej         ejv        d`a                    g ejw        d_          fd ej        dd\d\          gd ej         ej        dd\d\                    g eju        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jz                    fdbdcg ej        db           ej        dc          g ejx                    fdbdcg ej        db ejx        d\                     ej        dc ejx        d\                    g ejx        d\          fg dg ej        g d          g ejD         ej                              fdjdkgg ej        djdkg          g ejD         ejz                              fg dg ej        g d ejF         ej                                        g ejF         ej                              fdjdkgg ej        djdkg ejF         ejz                                        g ejF         ejz                              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jx        de                     ej        d ejx        de                    g ejx        de          fdbg ej        dj ejy                              g ejy                    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jz                                        g ej         ej                     ejz                              fdjdkg ej        dj ej         ej                     ejz                                         ej        dk ej         ej                     ejz                                        g ej         ej                     ejz                              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jz                    fg                    g ej|        dj ej                    fdk ejz                    fg          fg          d                         Zej8        j	        e<d                         ZdS )    N)_pandas_apiint8int16int32int64uint8uint16uint32uint64c                       e Zd Zd Zd ZdS )StrangeIterablec                     || _         d S N)lst)selfr   s     b/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pyarrow/tests/test_convert_builtin.py__init__zStrangeIterable.__init__4   s        c                 4    | j                                         S r   )r   __iter__r   s    r   r   zStrangeIterable.__iter__7   s    x  """r   N)__name__
__module____qualname__r   r    r   r   r   r   3   s2          # # # # #r   r   c                       e Zd Zd Zd ZdS )MyIntc                     || _         d S 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
    zr   N)r   r   r   r   r"   r   r   r   r   r   ;   s2              r   r   c                       e Zd Zd ZdS )MyBrokenIntc                     ddz   d S )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                     t           j                            |           sJ t          |           t          |          k    sJ dS )zP
    Check a struct type is as expected, but not taking order into account.
    N)patypes	is_structset)tyexpecteds     r   check_struct_typer.   H   sC     8b!!!!!r77c(mm######r   c                      t          j        t          g d                    } t          j        d          }|                     |          sJ d S )N)r   r&         )r(   arrayr   equalsarr1arr2s     r   test_iterable_typesr7   P   sJ    8OLLL1122D8L!!D;;tr   c                      t          j        t          g                     } t          |           dk    sJ | j        dk    sJ | j        t          j                    k    sJ |                                 g k    sJ d S Nr   )r(   r2   r   len
null_counttypenull	to_pylistarrs    r   test_empty_iterablerA   W   sw    
(?2&&
'
'Cs88q====>Q8rwyy    ==??b      r   c                      t          j        t          t          d                    t          j                    d          } t          j        d          }|                     |          sJ d S )Nr1   r<   sizer   r&   r0   r(   r2   iterranger   r3   r4   s     r   test_limited_iterator_typesrI   _   sW    8DqNN!<<<D8ID;;tr   c                      t          j        t          t          d                    t          j                    d          } t          j        d          }|                     |          sJ d S )Nr1   r0   rC   )r   r&   rF   r4   s     r   #test_limited_iterator_size_overflowrK   e   sW    8DqNN!<<<D8FD;;tr   c                      t          j        t          t          d                    t          j                    d          } t          j        d          }|                     |          sJ d S )Nr1   
   rC   rE   rF   r4   s     r   $test_limited_iterator_size_underflowrN   k   sW    8DqNN"===D8ID;;tr   c                  h   t          j        d          } t          j        t          t          d                              }|                    |           sJ t          j        t          t          d                    t          j                              }|                    |           sJ d S )NrE   r1   r<   )r(   r2   rG   rH   r3   r   r-   r5   s     r   test_iterator_without_sizerR   q   s    x	""H8DqNN##D;;x     8DqNN444D;;x       r   c                  N   t          j        d          } t          j        t          j        d          d          }|                    |           sJ t          j        t          j        d          t          j                    d          }|                    |           sJ d S )NrE   r   r1   rD   rC   )r(   r2   	itertoolscountr3   r   rQ   s     r   test_infinite_iteratorrW   z   s    x	""H8IOA&&Q///D;;x     8IOA&&RXZZa@@@D;;x       r   c                  |   t          j        t                    5  t          j        d t          d          D                        d d d            n# 1 swxY w Y   t          j        t                    5  t          j        d t          d          D             d           d d d            d S # 1 swxY w Y   d S )Nc              3       K   | ]	}d dz  V  
dS r&   r   Nr   .0xs     r   	<genexpr>z(test_failing_iterator.<locals>.<genexpr>   &      ,,Q!q&,,,,,,r   rM   c              3       K   | ]	}d dz  V  
dS 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_iteratorrd      s.   	(	)	) . .
,,%)),,,---. . . . . . . . . . . . . . . 
(	)	) 7 7
,,%)),,,266667 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7s#   ,AAA6.B11B58B5c                       e Zd Zd ZdS )ObjectWithOnlyGetitemc                     dS )Nr1   r   )r   keys     r   __getitem__z!ObjectWithOnlyGetitem.__getitem__   s    qr   N)r   r   r   ri   r   r   r   rf   rf      s#            r   rf   c                      t          j        t          d          5  t          j        t                                 d d d            d S # 1 swxY w Y   d S )Nzhas no len()match)ra   rb   	TypeErrorr(   r2   rf   r   r   r   test_object_with_getitemrn      s     
y	7	7	7 * *
&(()))* * * * * * * * * * * * * * * * * *s   !A

AAc                     | S r   r   xss    r   _as_listrr      s    Ir   c                      t          |           S r   )tuplerp   s    r   	_as_tupleru      s    99r   c                 *    t          j        |           S r   )collectionsdequerp   s    r   	_as_dequery      s    R   r   c                 \    d t          |           D             }|                                S )Nc                     i | ]\  }}||	S r   r   )r\   kvs      r   
<dictcomp>z#_as_dict_values.<locals>.<dictcomp>   s    
*
*
*DAq1a
*
*
*r   )	enumeratevalues)rq   dcts     r   _as_dict_valuesr      s)    
*
*IbMM
*
*
*C::<<r   c                 d    t          j        t          |           t                    }| |d d <   |S )Ndtype)npemptyr:   object)rq   r@   s     r   _as_numpy_arrayr      s.    
(3r77&
)
)
)CCFJr   c                      t          |           S r   )r+   rp   s    r   _as_setr      s    r77Nr   seqc                     t          j         | g d                    }t          j        g d          }|                    |          sJ d S Nr&   r0   r1   r(   r2   r3   r   r5   r6   s      r   test_sequence_typesr      sN    8CC			NN##D8IIID;;tr   c                     t          j         | g d          g          }t          j        g dg          }|                    |          sJ d S r   r   r   s      r   test_nested_sequence_typesr      sS    8SS^^$%%D8YYYK  D;;tr   c                     g d}t          j         | |                    }t          |          dk    sJ |j        dk    sJ |j        t          j                    k    sJ |                                |k    sJ d S )NTNFN   r0   )r(   r2   r:   r;   r<   bool_r>   r   r-   r@   s      r   test_sequence_booleanr      s    (((H
(33x==
!
!Cs88q====>Q8rxzz!!!!==??h&&&&&&r   c                    t          j        d          d t          j        d          d g}t          j         | |                    }|j        t          j                    k    sJ |                                g dk    sJ d S )NTFr   )r   r   r(   r2   r<   r>   r   s      r   test_sequence_numpy_booleanr      sx     bhuoot<H
(33x==
!
!C8rxzz!!!!==??777777777r   c           	         t          j        ddg          }t          j         | |d         d |d         ddg                    }|j        t          j                    k    sJ |                                g dk    sJ d S )NTFr   r&   )TNFTF)r   r2   r(   r<   r   r>   )r   r   r@   s      r   &test_sequence_mixed_numpy_python_boolsr      s     XtUm$$F
(33q	4D%@AA
B
BC8rxzz!!!!==??>>>>>>>>>r   c                     t          j         | g                     }t          |          dk    sJ |j        dk    sJ |j        t          j                    k    sJ |                                g k    sJ d S r9   r(   r2   r:   r;   r<   r=   r>   r   r@   s     r   test_empty_listr      sw    
(33r77

Cs88q====>Q8rwyy    ==??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 |                                |k    sJ d S )Nr&   r0   r1   )r(   r2   r:   r;   r<   list_r   r>   r   datar@   s      r   test_nested_listsr      s    AD
(33t99

Cs88q====>Q8rx

++++++==??d""""""r   factoryc                 L   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 |                                |k    sJ d S 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
(33t997728::#6#6
7
7
7Cs88q====>Q8wwrxzz******==??d""""""r   c                    t          j        t                    5  t          j         | g ddgdg          t          j        t          j                                         d d d            n# 1 swxY w Y   t          j        t                    5  t          j         | g ddgdg          t          j        t          j                                         d d d            n# 1 swxY w Y   t          j        t                    5  t          j         | g ddgdg          t          j        t          j                                         d d d            n# 1 swxY w Y   t          j        t                    5  t          j         | g ddgdg          t          j	        t          j                                         d d d            d S # 1 swxY w Y   d S )Nr&   r0   r1   rP   )
ra   rb   rm   r(   r2   r   r   
large_list	list_viewlarge_list_view)r   s    r   test_list_with_non_listr     s    
y	!	! B B
b1a&!_%%BHRXZZ,@,@AAAAB B B B B B B B B B B B B B B	y	!	! G G
b1a&!_%%BM"(**,E,EFFFFG G G G G G G G G G G G G G G	y	!	! F F
b1a&!_%%BL,D,DEEEEF F F F F F F F F F F F F F F	y	!	! L L
b1a&!_%%B,>rxzz,J,JKKKKL L L L L L L L L L L L L L L L L LsK   AA..A25A2AC&&C*-C*
AEE"%E"AGGG	inner_seqc           	      v   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 |                                g ddgd gk    sJ d S r   )r(   r2   r   r:   r;   r<   r>   )r   r   r   r@   s       r   test_nested_arraysr     s     (33		"!	1a&))41 2 2

++- - -C s88q====>Q8wwrxzz******==??rAq64000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 |                                |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 |                                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 ]x}t          j
        t          d
          5  t          j         | |          t          j        t          j                    d                     d d d            n# 1 swxY w Y   yg 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 |                                g g d gk    sJ d S )Nr&   r0   r1   rP   r   r   r   )r&   r0   r   r   z&Length of item not correct: expected 2rk   r   )r(   r2   r   r   r:   r;   r<   r>   r   ra   rb   
ValueErrorr   s      r   test_nested_fixed_size_listr   /  s    FQIt$D
(33t9928BHJJ#:#:
;
;
;Cs88q====>Q8rx

A......==??d"""" HaV7+++RXq!fG-L-L-LD
(33t9928BHJJ#:#:
;
;
;Cs88q====>Q8rx

A......==??1v1vt44444 II4y$'D))rx			AAABC > >]"JL L L 	> 	>HSSYYRXbhjj!%<%<====	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>
 D>D
(33t9928BHJJ#:#:
;
;
;Cs88q====>Q8rx

A......==??r2tn,,,,,,s   &AH66H:	=H:	c                     t          j         | d d g                    }t          |          dk    sJ |j        dk    sJ |j        t          j                    k    sJ |                                d d gk    sJ d S )Nr0   r   r   s     r   test_sequence_all_noner   S  s    
(33d|$$
%
%Cs88q====>Q8rwyy    ==??tTl******r   np_scalar_pa_typec                 v   |\  }}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 |
                                |k    sJ d S 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
(33x==w
/
/
/Cs88q====>Q8w==??h&&&&&&r   r   c                    t          j        t                    5  t          j         | t
          j        g          |d           d d d            n# 1 swxY w Y   t          j         | t
          j        g          |d          }d g}t          |          dk    sJ |j        dk    sJ |j	        |k    sJ |
                                |k    sJ d S )NFr<   from_pandasTr&   )ra   rb   r   r(   r2   r   nanr:   r;   r<   r>   r   r   r@   r-   s       r   test_sequence_integer_np_nanr   k  s     
z	"	" A A
bfXW%@@@@A A A A A A A A A A A A A A A (33x==wD
A
A
ACvHs88q====>Q8w==??h&&&&&&s   ,AAAc                    t          j        t                    5  t          j         | t
          j        gg          t          j        |          d           d d d            n# 1 swxY w Y   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 |                                |k    sJ d S )NFr   Tr&   r   )ra   rb   r   r(   r2   r   r   r   r:   r;   r<   r>   r   s       r   #test_sequence_integer_nested_np_nanr   |  sD    
z	"	" M M
rvhZrx'8'8eLLLLM M M M M M M M M M M M M M M (33z??'):):
M
M
MCxHs88q====>Q8rx((((((==??h&&&&&&s   ?A%%A),A)c                     g d}t          j         | |                    }t          |          dk    sJ |j        dk    sJ |j        t          j                    k    sJ |                                |k    sJ d S )Nr&   Nr1   Nr   r0   )r(   r2   r:   r;   r<   r   r>   r   s      r   test_sequence_integer_inferredr     s    !!!H
(33x==
!
!Cs88q====>Q8rxzz!!!!==??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 |
                                |k    sJ d S r   r   r   s          r   test_sequence_numpy_integerr     s     /M7M**I	!dIIaLL$	"(9--122	"(9--1224H (33x==w
/
/
/Cs88q====>Q8w==??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 |
                                |k    sJ d S )Nr&   r1   r   r0   r   r   s          r   $test_sequence_numpy_integer_inferredr     s     /M7M**I	!dIIaLL$7H28I..23328I..2335 5H
(33x==
!
!Cs88q====>Q8w==??h&&&&&&r   c                     g d}t          t          t          |                    }t          j         | |          t          j                              }|                                |k    sJ d S )N)r   *   l       l         rP   )listmapr   r(   r2   r   r>   )r   r-   r   r@   s       r   test_sequence_custom_integersr     se    )))HE8$$%%D
(33t9928::
.
.
.C==??h&&&&&&r   c                     t                      g}t          j        t          j        d          5  t          j         | |          t          j                               d d d            d S # 1 swxY w Y   d S )Ntried to convert to intrk   rP   )r$   ra   rb   r(   ArrowInvalidr2   r   )r   r   s     r   test_broken_integersr     s    MM?D	r.G	H	H	H - -
T,,,,- - - - - - - - - - - - - - - - - -s   1A..A25A2c                     t          j        d          t          j        d          g} t          j        |           }t          j        ddgd          }|                    |          sJ t          j        d          t          j        d          g} t          j        |           }t          j        ddgd          }|                    |          sJ d S )NrM   g      ?float64rP   float32)r   r   r   r(   r2   r3   r   )r   r@   r-   s      r   test_numpy_scalars_mixed_typer     s     HRLL"*S//*D
(4..CxS		222H::h GBKKC)D
(4..CxS		222H::hr   z)Type inference for uint64 not implemented)reasonrb   c                  r   dt          j        t           j                  j        g} t	          j        | t	          j                              }t	          j        t          j        | d                    }|                    |          sJ t	          j        |           }|                    |          sJ d S )Nr   rP   r   r   )r   r   r   r   r(   r2   r3   )r   r@   r-   arr_inferreds       r   test_uint64_max_convertr     s     rx	""&'D
(4bikk
*
*
*CxX66677H::h8D>>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            n# 1 swxY w Y   t          j        t          t          j        f          5  t          j        d| dz
  z   dz
  g|           d d d            d S # 1 swxY w Y   d S )Nzint%dr0   r&   r   r(   ra   rb   OverflowErrorr   r2   r   r,   s     r   test_signed_integer_overflowr     sF   	$Wt^	$	$	&	&B	r7	8	8 ( (
!q/"B'''( ( ( ( ( ( ( ( ( ( ( ( ( ( (	r7	8	8 - -
1?"Q&',,,- - - - - - - - - - - - - - - - - -s$   A//A36A3!CCCc                     t          t          d| z                        }t          j        t          t          j        f          5  t          j        d| z  g|           d d d            n# 1 swxY w Y   t          j        t          t          j        f          5  t          j        dg|           d d d            d S # 1 swxY w Y   d S )Nzuint%dr0   r   r   s     r   test_unsigned_integer_overflowr     s0   	%X_	%	%	'	'B	r7	8	8 " "
!t)b!!!" " " " " " " " " " " " " " "	r7	8	8  
"r                 s$   A,,A03A0C  CCtypc                     t          j        t          j                  5  t          j         | dg          |           d d d            d S # 1 swxY w Y   d S )N1rP   )ra   rb   r(   r   r2   )r   r   s     r   test_integer_from_string_errorr     s     
r	'	' ' '
cU#&&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's   !AAAc                  <   g d} g d}t          j        | |          }t          j        g d          }|                    |          sJ t          j        t
                    5  t          j        | |dd                     d d d            d S # 1 swxY w Y   d S )N)r&   r0   r1   r      )FTFFT)mask)r&   Nr1   r   Nr&   )r(   r2   r3   ra   rb   r   )r   r   resultr-   s       r   test_convert_with_maskr     s    ??D,,,DXd&&&Fx---..H==""""" 
z	"	" & &
DH%%%%& & & & & & & & & & & & & & & & & &s   %BBBc                      dd l } |                                  t          j                    }t          j        g d           |                                  t          j                    |k    sJ d S )Nr   r   )gccollectr(   total_allocated_bytesr2   )r   bytes_befores     r   test_garbage_collectionr    sl    III JJLLL+--LH   JJLLL#%%555555r   c                      g d} t          j        |           }t          |          dk    sJ |j        dk    sJ |j        t          j                    k    sJ |                                | k    sJ d S )N      ?      ?N      @NNr   r1   )r(   r2   r:   r;   r<   r   r>   r   r@   s     r   test_sequence_doubler	    sx    +++D
(4..Cs88q====>Q8rz||####==??d""""""r   c                  "   g d} t          j        |           }g d}t          j        |          }|                    |          sJ g d}t          j        |          }g d}t          j        |          }|                    |          sJ d S )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  "  s    +++D
(4..C+++E8E??D::d+++E8E??D,,,E8E??D;;tr   c                  \   g d} g d}g d}t          j        |            t          j        t                    5  t          j        |           d d d            n# 1 swxY w Y   t          j        t                    5  t          j        |           d d d            d S # 1 swxY w Y   d S )N)r  r&   r0   Nl          l       )r  r&   r0   Nl         )r  r&   r0   Nl      )r(   r2   ra   rb   r   )valid_valuesinvalid_valuesinvalid_values2s      r   .test_double_integer_coerce_representable_ranger  5  s2   999L555N999O H\ 
z	"	" ! !
   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 
z	"	" " "
!!!" " " " " " " " " " " " " " " " " "s#   AA"A?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            n# 1 swxY w Y   t	          j        t                    5  t          j        |t          j                               d d d            d S # 1 swxY w Y   d S )Nr  i   i   i  irP   )r   r   r(   r2   ra   rb   r   )f32r  r  r  s       r   /test_float32_integer_coerce_representable_ranger  E  sr   
*CCHHgz2Lc#hh.Ns3xx!12O H\
---- 
z	"	" 4 4
bjll33334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
z	"	" 5 5
rz||44445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s$   5(B))B-0B-(DD	Dc                  
   t          j        t          d          5  t          j        ddgt          j                               d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        ddgt          j                               d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        ddg           d d d            d S # 1 swxY w Y   d S )	Nztried to convert to booleanrk   TfoorP   ztried to convert to float32r  ztried to convert to double)ra   rb   r   r(   r2   r   r   r   r   r   test_mixed_sequence_errorsr  W  s   	z)F	G	G	G 1 1
$RXZZ00001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
z)F	G	G	G 2 2
#uBJLL11112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 
z)E	F	F	F  
#u                 s5   *AAA8*B..B25B2C88C<?C<znp_str_scalar,pa_typefloat16r   r   r   TFc                 x   t          t          |          } |d           |d          d  |d          d t          j        g}t          j         | |          |          }t          |          dk    sJ |r|j        dk    sJ n|j        dk    sJ |r|j        |k    sJ n|j        t          j                    k    sJ |	                                d d         |d d         k    sJ |r|	                                d	         J d S t          j
        |	                                d	                   sJ d S )
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  sR    M**IIcNNIIaLL$		#bfMD
(33t99+
6
6
6Cs88q==== #~"""""~"""" ( x7"""""x2:<<''''==??2A2$rr(**** ,}}q!)))))x*+++++++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$|                                ddgg dd gd gk    sJ t           j                            |                                ddgg dt           j        gd g           !d S )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&    sZ    h% N N	xIr2hIlll##Irvh	

    ht5553xx1}}}}~""""x28BJLL111111 	N==??Sz???TFD&QQQQQQJ##CMMOO&("X|||bfXt$LN N N NN Nr   c                  n   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|	          }|                    |          sJ t          j        dt                    } t          j        dg          t          j        dg          g| d d <   t          j        | | g          }|	                                dgdggdgdgggk    sJ d S )
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+    s    (1F
#
#
#Ch1vRX...h1vRX...0CF 8AV$$$D!fDG!fDGHRXbhjj1122M=#=0000XsDk""Fx1a&1a&)QFQF+;<*, , ,H ==""""" (1F
#
#
#ChsmmRXqc]]+CFXsCj!!FA3*sQCj!999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|          }|                    |          sJ d S )	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#28
4
4
4C8aVaV$BH555DHRXbhjj1122M=#=0000XsDk""Fx1a&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   )r3  r4     cabcr7  r8  r   r7  r8  c                     t          j        |          }t          j        | t                    }t          j        |g|          }|j                            |          sJ |                                | gk    sJ d S )Nr   rP   )r(   r   r   r2   r   r<   r3   r>   )r   r.  r,   ndarrayr@   s        r   #test_list_array_from_object_ndarrayr=    sx    . 
*		Bht6***G
(G92
&
&
&C8??2==??tf$$$$$$r   r   c                 <   t          j        t          |           t                    }d | D             |d d <   t	          j        |          }t	          j        |g|          }|j                            |          sJ |	                                | gk    sJ d S )Nr   c                 D    g | ]}t          j        |t                     S )r   )r   r2   r   )r\   items     r   
<listcomp>z>test_nested_list_array_from_object_ndarray.<locals>.<listcomp>  s'    @@@4"(4v...@@@r   rP   )
r   r   r:   r   r(   r   r2   r<   r3   r>   )r   r.  r<  r,   r@   s        r   *test_nested_list_array_from_object_ndarrayrB    s     hs4yy///G@@4@@@GAAAJ	*		B
(G92
&
&
&C8??2==??tf$$$$$$r   c                  R   t          j        t                    5  t          j        t          d          dg           d d d            n# 1 swxY w Y   t          j        t          d          dgd          } t          j        d dg          }|                     |          sJ d S )Nr   strTr  )ra   rb   r   r(   r2   floatr3   )r@   r-   s     r   !test_array_ignore_nan_from_pandasrF    s     
z	"	" ( (
%,,&'''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (E%LL%(d
;
;
;Cxu&&H::hs   $A

AA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                                        }|                    |          sJ t          j        t          j                              }t          j        | |          }|                    |          }|                    |          sJ d S )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_dtypesrK    s     	'***
(+++D (4..CxD)))4Xbhjj113 3 3H::h	")++		B8Dr"""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 |                                | k    sJ d S )Nr  barN   mañanar   r&   )r(   r2   r:   r;   r<   stringr>   r  s     r   test_sequence_unicoderQ    sx    ***D
(4..Cs88q====>Q8ry{{""""==??d""""""r   r,   c                     g d}t          j        ||           }t          |          dk    sJ |j        dk    sJ |j        | k    sJ |                                |k    sJ d S )NrM  rP   r   r&   )r(   r2   r:   r;   r<   r>   )r,   r   r@   s      r   #test_sequence_unicode_explicit_typerS    su    ***D
(4b
!
!
!Cs88q====>Q8r>>>>==??d""""""r   c                 Z   ddt          d          g}g d}g d}t          j        |          }t          j        |t          j                              }|j        t          j                    k    sJ |                    |          sJ t          j        ||           }t          j        ||           }|j        | k    sJ |                    |          sJ t          j        ||          }t          j        ||          }|j        |k    sJ |                    |          sJ d S )Nqux   foo   barz)s   quxrV  rW  )rU  r  barzrP   )	bytearrayr(   r2   binaryr<   r3   )binary_typestring_typer   b_valuesu_valuesr@   r-   s          r   check_array_mixed_unicode_bytesr_  %  s2   VYw//0F(((H%%%H
(6

Cxry{{333H8ry{{""""::h
(6
,
,
,Cx{333H8{""""::h
(6
,
,
,Cx{333H8{""""::hr   c                  2   t          t          j                    t          j                               t          t          j                    t          j                               t          t          j                    t          j                               d S r   )r_  r(   rZ  rP  large_binarylarge_stringbinary_viewstring_viewr   r   r   test_array_mixed_unicode_bytesre  :  sd    #BIKK===#BO$5$5r7H7HIII#BN$4$4bn6F6FGGGG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 d S )Nsh  0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz       rP   )mathceilr:   r(   r2   
isinstanceArrayr<   )r,   r0  nrepeatsr   r@   s        r   test_large_binary_arrayrm  @  s     	5Ay)s1vv-..H3>D
(4b
!
!
!Cc28$$$$$8r>>>>s88x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                                         }t          |          t          |          |z  k    sJ d S )N$   0123456789abcdefghijklmnopqrstuvwxyzrg  rV     barrP   r   r&   )	rh  ri  r:   r(   r2   rj  rk  r<   	as_buffer)r,   r0  rl  r@   bufs        r   test_large_binary_valuers  M  s    
 	0Ay)s1vv-..H
(FAL$7b
A
A
ACc28$$$$$8r>>>>s88q====
a&



Cs88s1vv(((((((r   c                     d}t          j        dt          |          z            }t          j        t
          j                  5  t          j        d||z  d dg|            d d d            d S # 1 swxY w Y   d S )Nro  rg  rV  rp  rP   )rh  ri  r:   ra   rb   r(   ArrowCapacityErrorr2   )r,   r0  rl  s      r   test_string_too_largerv  \  s     	0Ay)s1vv-..H	r,	-	- @ @
&!h,f5B????@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @s   A00A47A4c                     d} dt          d          t          d          d d d         |                     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 |                                ddd| dd gk    sJ {d S )Ns   mañanarV  s   dadas   d-a-t-ar0   zutf-8rp  rP   r   r&   s   data)
memoryviewdecoderY  r(   rZ  ra  rc  r2   r:   r;   r<   r>   )u1r   r,   r@   s       r   test_sequence_bytesr{  f  s	   	Bwz""33Q3'IIgfD RY[["/"3"3R^5E5EF O Oht"%%%3xx1}}}}~""""x2~~~~~}}67GR"NNNNNNO Or   c                 Z   g d}t          j        ||           }|j        | k    sJ |d                                         dk    sJ d                    d          }t          j        t           j                  5  t          j        |g|            d d d            d S # 1 swxY w Y   d S )N)rV  Nrp  rP   r   r  rO  z	utf-16-le)r(   r2   r<   as_pyencodera   rb   r   )r,   r   r@   vals       r   test_sequence_utf8_to_unicoder  w  s     "!!D
(4b
!
!
!C8r>>>>q6<<>>U"""" 

[
)
)C	r	'	' ! !
#R    ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   ;B  B$'B$c                  6   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 |                                g dk    sJ d S )N   foof   barb   2346r   rP   r&   )r  Nr  r  )rY  r(   r2   rZ  r:   r;   r<   r>   r  s     r   test_sequence_fixed_size_bytesr    s    T9W--w7D
(4bill
+
+
+Cs88q====>Q8ry||####==???????????r   c                      g d} t          j        t          j                  5  t          j        | t          j        d                     d d d            d S # 1 swxY w Y   d S )N)rV  Nr  r  r   rP   )ra   rb   r(   r   r2   rZ  r   s    r   5test_fixed_size_bytes_does_not_accept_varying_lengthsr    s    +++D	r	'	' * *
BIaLL))))* * * * * * * * * * * * * * * * * *s   )AA Ac                      dg} t          | d                   dk    sJ t          j        d          }t          j        | |          }|                                | k    sJ d S )Ns   h    Ar      rP   )r:   r(   rZ  r2   r>   )r   r,   r@   s      r   #test_fixed_size_binary_length_checkr    se    78DtAw<<2	2B
(4b
!
!
!C==??d""""""r   c                     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                                         t          j        ddd          k    sJ |d                                         J |d                                         t          j        ddd          k    sJ |d	                                         t          j        ddd          k    sJ d S )
N  r&   i  i  r0      r   r   r1   )	datetimedater(   r2   r:   r<   date32r;   r}  r  s     r   test_sequence_dater    s(   M$1%%tX]4A-F-FM$2&&(D
(4..Cs88q====8ry{{"""">Qq6<<>>X]4A666666q6<<>>!!!q6<<>>X]4A666666q6<<>>X]4B77777777r   inputi*  l    ,Uqc                    | \  }}t          j        ddd          d g}t          j        ||          }t          j        ||          }||fD ]}t	          |          dk    sJ |j        |k    sJ |j        dk    sJ |d                                         t          j        ddd          k    sJ |d                                         J d S )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M$1%%t,D
(4a
 
 
 C8IA&&&D4[ $ $1vv{{{{v{{{{|q    tzz||x}T1a888888tzz||####$ $r   c                      dd g} t          j        t          t          j        f          5  t          j        | t          j                               d d d            d S # 1 swxY w Y   d S )Nl        rP   )ra   rb   r   r(   ArrowExceptionr2   r  )r  s    r   test_date32_overflowr    s    DME	r'89	:	: * *
RY[[))))* * * * * * * * * * * * * * * * * *s   (A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 |                    |          }t          t          ||                    }	|
                                |	k    sJ |d                                          ||d                   k    sJ |d
                                          ||d
                   k    sJ |d                                         J |d                                          ||d                   k    sJ |d                                          ||d                   k    sJ dd}
d S )Nc                     g d}d|                               dz  z  }| d S | j        dz  | j        dz  z   | j        z   | j        dz  z   }t          ||z            S )Nr0  r  r1  r  rM   r1   i  <   gư>)indexhourminutesecondmicrosecondint)r  units
multiplierr2  r  s       r   expected_integer_valuez@test_sequence_time_with_timezone.<locals>.expected_integer_value  s     (''%++d++a/0
94FTMHrMH MF"# 	 7Z'(((r   c                     dk    r|                      d          S dk    r!|                      | j        dz  dz            S | S )Nr0  r   r  r    )replacer  )r  r  s    r   expected_time_valuez=test_sequence_time_with_timezone.<locals>.expected_time_value  sP     3;;999+++T\\99!-4*?4)G9HHHHr   r      "   @ r   r   r  r&      8   雙 rM   í rP   r0   r1   r   c                 V    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AA (((r   )r   )r  timer(   r2   r:   r<   r;   rH  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s88q====8r>>>>>Q XXhFC.5566H)))) q6<<>>00a999999q6<<>>00a999999q6<<>>!!!q6<<>>00a999999q6<<>>00a99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                                         t          j         ddddddd          k    sJ |d                                         J |d                                         t          j         dddd	dd
d          k    sJ |d                                         t          j         ddddddd          k    sJ d S N        r&   r  r  r    r  r  r    r   r   .   9   r  r   r1  r   r0   r1   )r  r(   r2   r:   r<   	timestampr;   r}  r  s     r   test_sequence_timestampr    s   $2q"b&99$2r2r6::$2q"b&99	D (4..Cs88q====8r|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                     t          j        d          fd} fd}t          j        dddddd	d
          j                            t          j        ddddddd                    d                     d                              t          j        ddddd	dd                                        d                              t          j        ddddddd                    g}j                            |d                   |d         d |d                             j                  |d                             j                  g}t          j                   }t          j	        ||          }t          |          dk    sJ |j        |k    sJ |j        dk    sJ |                    d          }t          t          ||                    }	|                                |	k    sJ t#          t          |                    D ]1}
||
                                          |||
                   k    sJ 2d S )Npytzc                     g d}d|                               dz  z  }| d S t          j        t          |                                                     }t          ||z            S )Nr  rM   r1   )r  decimalDecimalrD  r  r  )dtr  r  tsr  s       r   r  zEtest_sequence_timestamp_with_timezone.<locals>.expected_integer_value%  sf    '''%++d++a/0
:4 R\\^^!4!455BrJ'''r   c                    | d S dk    r|                      d          } n'dk    r!|                      | j        dz  dz            } |                      d           S |                                                             S )Nr0  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/  s    :43;;**BBT\\4)?4(GHHB ::T:*** ==x!8!89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   )ra   importorskipr  utclocalizer  r  r(   r  r2   r:   r<   r;   rH  r   r   r>   rH   r}  )r  r  r  r  r   utcdatar,   r@   r   r-   ir  s   ``         @r   %test_sequence_timestamp_with_timezoner    sx    v&&D( ( ( ( (: : : : : : :$ 	$2q"b&99dAq!Q488	
 	
 	l##,,dAr2r2v>>	
 	
 	o&&//dAr1aF;;	
 	
D 	$q'""QQ48$$Q48$$G 
dx	(	(	(B
(4b
!
!
!Cs88q====8r>>>>>Q XXgFC.8899H)))) 3s88__ E E1v||~~!8!8!D!DDDDDDE Er   c                    t          j        d           dd l}|                     dd           t	          j        ddddd	d
d          |j                            t	          j        ddddddd                    |                    d                              t	          j        ddddd
dd                    |                    d                              t	          j        ddddddd                    g}d |D             }|#|                    |          fd|D             }t          j	        d|          }t          j
        ||          }|                                |k    sJ d S )Nr  r   PYARROW_IGNORE_TIMEZONEr   r  r  r  r   r  r  r  r  r&   r   r  r  r  r  r  r  r  r  r  c                 :    g | ]}|                     d           S )Nr  )r  r\   r  s     r   rA  zEtest_pyarrow_ignore_timezone_environment_variable.<locals>.<listcomp>~  s&    777B

$
''777r   c                 :    g | ]}                     |          S r   )fromutc)r\   r  r  s     r   rA  zEtest_pyarrow_ignore_timezone_environment_variable.<locals>.<listcomp>  s%    :::2FNN2&&:::r   r1  r  rP   )ra   r  r  setenvr  r  r  r  r(   r  r2   r>   )monkeypatchr  r  r   r-   r,   r@   r  s          @r   1test_pyarrow_ignore_timezone_environment_variabler  e  s    KKK0#666$2q"b&99dAq!Q488	
 	
 	l##,,dAr2r2v>>	
 	
 	o&&//dAr1aF;;	
 	
D 87$777Hx((:::::::	dx	(	(	(B
(4b
!
!
!C==??h&&&&&&r   c                     t          j        d           dd l} t          j        ddddddd	          | j                            t          j        d
dddddd                    d |                     d                              t          j        ddddddd                    |                     d                              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 ],\  }}|g|z   }t          j
        |          }|j        |k    sJ -d S )Nr  r   r  r  r  r   r  r  r  r  r&   r   r  r  r  r  r  r  r  r  r  r1  r  r  )ra   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   
KKK 	$2q"b&99dAq!Q488	
 	
 	l##,,dAr2r2v>>	
 	
 	o&&//dAr1aF;;	
 	
D 	Td###
Te$$$
Td###
Tl+++
To...H !x00 ) )MD4K	hy!!x=((((() )r   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|                     d                    t          j        d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 ],\  }}|g|z   }t          j
        |          }|j        |k    sJ -d S )Nzoneinfor   r  r  r  r   r  r  r  r  r&   r   r  r  r  r  r  r  r  )rh   r  r  r  r1  r  r  )ra   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    s   

###OOO 	$2q"b&99$1aAt!)!2!6	8 	8 	8$2r2r6!)!2!2|!2!D!D	F 	F 	F$2q!Q!)!2!2!2!G!G	I 	I 	I	D 	Td###
Te$$$
Td###
Tl+++
To...H !x00 ) )MD4K	hy!!x=((((() )r   c                     t          j        d           dd l} dd l}|                    d|                     d          d          t          j        ddd	d
ddd          | j                            t          j        ddddddd                    d g}|d         	                    | j                  | j                            |d                   |d         	                    | j                  d g}t          j        |          }|j        t          j        dd          k    sJ |                    d          }d |D             }|                                |k    sJ d S )Nr  r   l   {FK| r  r  )r  r  r  r  r  r   r  r  r  r  r&   r   r  r0   r1  r  r   c                 ^    g | ]*}|r$t          |                                d z            nd+S )i@B N)r  r  r  s     r   rA  zStest_sequence_timestamp_from_mixed_builtin_and_pandas_datetimes.<locals>.<listcomp>  s7    NNNr;BLLNNU*+++tNNNr   )ra   r  r  pandas	Timestampr  r  r  r  r  r(   r2   r<   r  rH  r>   )r  pdr   r  r@   r   r-   s          r   ?test_sequence_timestamp_from_mixed_builtin_and_pandas_datetimesr    sr   
KKK 	(T]]<-H-H 	 	  	 $2q"b&99dAq!Q488	
 	
 	D 	Q48$$$q'""Q48$$	G (4..C8r|D\:::::::XXgFNNgNNNH))))))r   c                  ^   t          j         ddd          g} t          j        t          d          5  t	          j        | t	          j        d                     d d d            n# 1 swxY w Y   t	          j        | t	          j        d                    }|                                | 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            n# 1 swxY w Y   t	          j        | t	          j        d                    }|                                d         t          j         ddd          k    sJ d S )Ni  r   r  zout of boundsrk   r  rP   r1  r   )r  r  r  r  r   )
r  ra   rb   r   r(   r2   r  r>   r  r  )r   r@   r  s      r   0test_sequence_timestamp_out_of_bounds_nanosecondr    s    dAr**+D	z	9	9	9 0 0
BL..////0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (4bl400
1
1
1C==??d"""" 
	8-B777	8	8BdAr2b999:D	z	9	9	9 0 0
BL..////0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (4bl400
1
1
1C==??1!24B!?!???????s#   )A((A,/A,)EE
E
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         	                                t          j        ddddddd          k    sJ |d         	                                J |d         	                                t          j        dddd	dd
d          k    sJ |d         	                                t          j        ddddddd          k    sJ d S r  )
r   
datetime64r  r(   r2   r:   r<   r  r;   r}  r  s     r   test_sequence_numpy_timestampr    s    	h'aQBGGHH
h'aRRHHII
h'aQBGGHH	D (4..Cs88q====8r|D))))))>Qq6<<>>X.tQA/12v? ? ? ? ? ?q6<<>>!!!q6<<>>X.tQB/12v? ? ? ? ? ?q6<<>>X.tQA/12v? ? ? ? ? ? ? ?r   c                       e Zd ZdS )MyDateNr   r   r   r   r   r   r  r  
          Dr   r  c                       e Zd ZdS )
MyDatetimeNr  r   r   r   r  r    r  r   r  c                       e Zd ZdS )MyTimedeltaNr  r   r   r   r  r    r  r   r  c            
      b   t          ddd          g} t          j                    }t          j        | |          }t	          |          dk    sJ |j        |k    sJ |d                                         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                                         t          j        ddddddd          k    sJ t          j        | |          }t	          |          dk    sJ |j        |k    sJ |d                                         t          j        ddddddd          k    sJ t          j        | |          }t	          |          dk    sJ |j        |k    sJ |d                                         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                                         t          j        ddd          k    sJ t          j        | |          }t	          |          dk    sJ |j        |k    sJ |d                                         t          j        dd          k    sJ t          j        | |          }t	          |          dk    sJ |j        |k    sJ |d                                         t          j        ddd          k    sJ t          j        | |          }t	          |          dk    sJ |j        |k    sJ |d                                         t          j        ddd          k    sJ d S )Nr  r  r  rP   r&   r   r  r  r  r0  r  r1  ix {   i  i  r  )r  r(   r  r2   r:   r<   r}  r  r  r  r  r  durationr  )	r   	date_typearr_dater0  r  r1  arr_sarr_msarr_uss	            r   test_datetime_subclassingr    sT   tQD 	Ix9---Hx==A=I%%%%A;(-a"<"<<<<< 	4B2r622D 	SA	d		B	d		BHT"""Eu::????:????8>>x0q"a13R <  < < < < < Xd$$$Fv;;!;"!9?? 1$2q24b&!B !B B B B B Xd$$$Fv;;!;"!9?? 1$2q24b&!B !B B B B B 	Cd##D 	CA	T		B	T		BHTNNEu::????:8>>x1#sDAAAAAAHT"""Eu::????:????8>>x1#s;;;;;;Xd$$$Fv;;!;"!9?? 23T B BBBBBXd$$$Fv;;!;"!9?? 23T B BBBBBBBr   z)pandas required for nanosecond conversion)r   c                  z   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
                                         t          j         ddddddd          k    sJ d S )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	34F
  F F\$$R(((6{{a{b    ay  H$5dAr168"f%F %F F F 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                                                   d
k    sJ t          |d                   dk    sJ 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                                                   dk    sJ t          |d                   dk    sJ t          }	 G d d          }
|t          j	                    t          j
                    fD ]N}t          j        |	          5  t          j        d |
            g|           d d d            n# 1 swxY w Y   Od S )Nr&   r0  r  r1  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dS )?test_sequence_timestamp_from_int_with_unit.<locals>.CustomClassNr  r   r   r   CustomClassr    s        r   r  )r(   r  r2   r:   r<   reprrD  r}  rm   r  date64ra   rb   )r   r0  r  r1  r  r  r  r  r  expected_excr  r,   s               r   *test_sequence_timestamp_from_int_with_unitr  h  sD    3D
SA	d		B	d		B	d		BHT"""Eu::????:????a>>:    uQx==11111Xd$$$Fv;;!;"q	!!""6    vay>>99999Xd$$$Fv;;!;"q	!!""3    vay>>99999Xd$$$Fv;;!;"q	!!""4    vay>><<<<<L        29;;	, 2 2]<(( 	2 	2Ha'b1111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	22 2s   !K  K	K	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                                         | k    sJ |d                                         J |d                                         |k    sJ d S 	Nr0   i  r&   d   r  r1   r1  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s88q====8r{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         
                                | k    sJ |d         
                                J |d         
                                |k    sJ d S 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N3r~c':':;D
(4..Cs88q====8r{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                                         ||          k    sJ d S )	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5(B55(B557 7H
 
T		BHT###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 d S )Nr   rP   r&   r   )r(   r
  r2   r:   r<   r    )r  r   r,   r@   s       r   )test_sequence_duration_from_int_with_unitr+    sk    3D	T		B
(4b
!
!
!Cs88q====8r>>>>q6<1r   c                  T   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 |                                |k    sJ d S )Nr&   r  r  r0   r1  )	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s88q====8rxD 1 1222222==??d""""""r   c                 |   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 |                                |k    sJ d S )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
(4ggbk$&7&788
9
9
9Cs88q====8wwr{40011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 |
                                | 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 |
                                | d g| |ggk    sJ d S )Nr&   r  r  r0   r1  ztimedelta64[us]r   )r  r  r   r%  r(   r2   r:   r<   r   r
  r>   r   s       r   )test_sequence_duration_nested_lists_numpyr1    s   

Q4
(
(C

Q
$
$C^C  $'^C  "."5"568D (4..Cs88q====8rxD 1 1222222==??T{S#J77777HbnS))408IJJJHbnS))2>#+>+>?@@BD (4..Cs88q====8rxD 1 1222222==??T{S#J7777777r   c                  
   g d} t          j        |           }|j        t          j                    k    sJ |                                | k    sJ dgdgd g} t          j        |           }|j        t          j        t          j                              k    sJ |                                | k    sJ dgg dd gg} t          j        |           }|j        t          j        t          j                              k    s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 |                                | k    sJ t           j        t           j        f}t          j	        |          5  t          j        dddgg           d d d            n# 1 swxY w Y   t          j	        |          5  t          j        ddg g           d d d            n# 1 swxY w Y   t          j	        |          5  t          j        dgdgd dggg           d d d            d S # 1 swxY w Y   d S )Nr/  r&   r0   )r0   r1   r   )
r(   r2   r<   r   r>   r   r   ArrowTypeErrorra   rb   )r   r@   
exceptionss      r   test_sequence_nesting_levelsr5  	  s   <<D
(4..C8rxzz!!!!==??d""""C!dD
(4..C8rx

++++++==??d""""CTF#D
(4..C8rx

++++++==??d""""D!9+			404&9D
(4..C8rx 4 4555555==??d""""/2#45J 
z	"	"  
!Q               
z	"	"  
!Q               
z	"	" * *
1#sTA3K()))* * * * * * * * * * * * * * * * * *s6   G,,G03G0H//H36H3I88I<?I<c                      g d} t          j        t          j                  5  t          j        |            d d d            d S # 1 swxY w Y   d S )N)r7  r&   r"  )ra   rb   r(   r3  r2   r  s    r   test_sequence_mixed_types_failsr7  +  s    ==D	r(	)	)  
                 s   AA	A	c                      ddddidddg} t          j                    }t          j        t                    5  t          j        | |           d d d            d S # 1 swxY w Y   d S )	Nz-10z-5r7  r&   0510rP   )r(   rP  ra   rb   rm   r2   )r   r<   s     r   3test_sequence_mixed_types_with_specified_type_failsr<  1  s    4#q3T2D9;;D	y	!	! " "
D!!!!" " " " " " " " " " " " " " " " " "s   AA"Ac                  .   t          j        d          t          j        d          g} t          j        t          j        t          j        t          j        fD ]=}t          j        |  |dd                    }|                                | k    sJ >d S )Nz1234.183z8094.234r  r1   	precisionscalerP   	r  r  r(   	decimal32	decimal64
decimal128
decimal256r2   r>   r   r<   r@   s      r   test_sequence_decimalrG  9  s    OJ'')D)DEDr|R]BMJ ' 'ht$$!"<"<"<===}}$&&&&&' 'r   c                     t          j        d          t          j        d          g} t          j        t          j        t          j        fD ]=}t          j        |  |dd                    }|                                | k    sJ >d S )Nz1234234983.183z80943244.234r  r1   r>  rP   r  r  r(   rC  rD  rE  r2   r>   rF  s      r   *test_sequence_decimal_different_precisionsrJ  @  s    ())7?>+J+JD r}bm< ' 'ht$$1"="="=>>>}}$&&&&&' 'r   c                     t          j        d          t          j        d          g} t          j        t          j        t          j        fD ]<}t          j        |  |d                    }|                                | k    sJ =d S )N
12342349838094324rM   )r?  rP   rI  rF  s      r   test_sequence_decimal_no_scalerN  I  s    OL))7?9+E+EFDr}bm< ' 'ht$$"4"4"4555}}$&&&&&' 'r   c                     t          j        d          t          j        d          g} t          j        t          j        t          j        fD ]=}t          j        |  |dd                    }|                                | k    sJ >d S )Nz-1234.234983z	-8.094324rM   r   r>  rP   rI  rF  s      r   test_sequence_decimal_negativerP  P  s    ON++W_[-I-IJDr}bm< ' 'ht$$1"="="=>>>}}$&&&&&' 'r   c                  .   t          j        d          t          j        d          g} t          j        t          j        t          j        t          j        fD ]=}t          j        |  |dd                    }|                                | k    sJ >d S )Nz	-.4234983z.0103943r  r>  rP   rA  rF  s      r   #test_sequence_decimal_no_whole_partrR  W  s    OK(('/**E*EFDr|R]BMJ ' 'ht$$!"<"<"<===}}$&&&&&' 'r   c                     t          j        d          t          j        d          g} t          j        t          j        fD ]=}t          j        |  |dd                    }|                                | k    sJ >d S )Nz-394029506937548693.42983z32358695912932.01033r  r   r>  rP   )r  r  r(   rD  rE  r2   r>   rF  s      r   #test_sequence_decimal_large_integerrT  ^  s    O788O2335D. ' 'ht$$1"="="=>>>}}$&&&&&' 'r   c                      g d} d | D             }t           j        t           j        fD ]=}t          j        |  |dd                    }|                                |k    sJ >d S )N)r   r&   lc&E(ON c                 6    g | ]}t          j        |          S r   )r  r  r[   s     r   rA  z7test_sequence_decimal_from_integers.<locals>.<listcomp>h  s"    111q""111r      r   r>  rP   )r(   rD  rE  r2   r>   )r   r-   r<   r@   s       r   #test_sequence_decimal_from_integersrX  f  s    +++D11D111H. + +ht$$1"="="=>>>}}(*****+ +r   c                      t          j        t          d          5  t          j        t          j        d          g           d d d            d S # 1 swxY w Y   d S )Nzprecision out of rangerk   P11111111111111111111111111111111111111111111111111111111111111111111111111111111)ra   rb   r   r(   r2   r  r  r   r   r   (test_sequence_decimal_too_high_precisionr[  n  s    	z)A	B	B	B . .
'/(++,---. . . . . . . . . . . . . . . . . .s   (A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 ]b\  } }t          j        | g          |k    sJ t          j        | g          }|j        |k    sJ |                                d         | k    sJ cd S )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(   rD  r(  r2   r<   r>   )r   r   r@   s      r   test_sequence_decimal_inferra  t  s    
	!	!2=A#6#67		!	!2=A#6#67		#	#R]1a%8%89		#	#R]1a%8%89		"	"BM!Q$7$78		"	"BM!Q$7$78		"	"BM!Q$7$78		#	#R]1a%8%89		$	$bmAq&9&9: * *	c }dV$$++++hvx3}}q!T)))))%* *r   c                     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 |                                |k    sJ [d S )Nr]  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	   r`  )casesr   r   r@   s       r   !test_sequence_decimal_infer_mixedri    s    /'
"
"GOG$<$<	=	q!			
/'
"
"GOG$<$<	=	q!			
/'
"
"GOG$<$<	=	q!			
/'
"
"GOH$=$=	>	q!			
/'
"
"GOH$=$=	>	q!			
/'
"
"GOI$>$>	?	q!			
/'
"
"GOH$=$=	>	q!			E   ' '	c}T""c))))htnnx3}}$&&&&&	' 'r   c            	          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 ]F}t          j        | g|          }|j        |k    sJ |                                d         | k    sJ G|D ]J}t          j        t                    5  t          j        | g|           d d d            n# 1 swxY w Y   Kd S )Nr]  r   r1   r   r0   r^  r   r   r_  rP   )
r  r  r(   rD  r2   r<   r>   ra   rb   r   )r   typs
wrong_typsr   r@   s        r    test_sequence_decimal_given_typero    s2    OG$$]1a  "-1"5"5r}Q7J7JK]1a  "-1"5"56	
 OG$$]1a  "-1"5"5r}Q7K7KL]1a  "-2"6"67	
 OI&&]1a  "-1"5"5r}Q7K7KL]1a  "-2"6"67	
# + +dJ(  	. 	.C(D6,,,C8s????==??1%----- 	+ 	+Cz** + +$c****+ + + + + + + + + + + + + + +	+1+ +s   HHHc                      t          j        t          d                    } t          j        d          }|                     |          sJ d S )Nr1   rE   )r(   r2   rH   r3   r4   s     r   test_range_typesrq    sD    8E!HHD8ID;;tr   c                      t          j        t          d                    } t          |           dk    sJ | j        dk    sJ | j        t          j                    k    sJ |                                 g k    sJ d S r9   )r(   r2   rH   r:   r;   r<   r=   r>   r?   s    r   test_empty_rangers    su    
(588

Cs88q====>Q8rwyy    ==??b      r   c                  <   t           j                            g g           } | j        t          j        g           k    sJ t          |           dk    s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                            |||gg d          } d dd	dd
d ddddd dg}|                                 }||k    sJ ||f            t          j        t                    5  t           j                            |gddg           d d d            d S # 1 swxY w Y   d S )N)namesr   Nr0   r1   rP   r7  Nr9  TFN)intsstrsboolsr7  Tr0   Fr1   r9  ry  rz  )r(   StructArrayfrom_arraysr<   structr:   r>   r2   r   rP  r   ra   rb   r   )r@   ry  rz  r{  r-   pylists         r   test_structarrayr    s   
.
$
$Rr
$
2
2C8ry}}$$$$s88q======??b    8LLLrxzz222D8$$$29;;777DH(((rxzz:::E
.
$
$	tU!!!# #C
 sT22D511C$//H ]]__FX1 
z	"	" = =
""D6FF+;<<<= = = = = = = = = = = = = = = = = =s    $FFFc            	         t          j        t          j        dt          j                              t          j        dt          j                              t          j        dt          j                              g          } t          j        g |           }|                                g k    sJ ddddd	d
ddg}t          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}|                                |k    sJ d S )Nr7  r8  r9  rP   r   r  Tr6  r   rN  Fr7  r9  r:  r(   r~  fieldr   rP  r   r2   r>   )r,   r@   r   r-   s       r   test_struct_from_dictsr    s`   	BHS"(**--HS")++..HS"(**--/ 
0 
0B (2B


C==??b    %d++%e,,.D
(4b
!
!
!C==??d"""" $U##%D (4b
!
!
!Cd..D11T2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 |           }|                                g k    sJ ddddd	d
g}t          j        ||           }|                                ddd ddd d	dgk    sJ d S )Nr7  r8  r9  rP   r   r  )r3  r4  r   F)r3  r5  r6  r  )r,   r@   r   s      r   !test_struct_from_dicts_bytes_keysr    s    	BHS"(**--HS")++..HS"(**--/ 
0 
0B (2B


C==??b    E""E""$D
(4b
!
!
!C==??e$''d''      r   c            	      d   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        ||           }|                                |k    sJ |                    |          sJ g d}ddd d	d d
d dd	g}t          j        ||           }|                                |k    sJ dD ]L}t          j        t          d          5  t          j        |g|            d d d            n# 1 swxY w Y   Md S )Nr7  r8  r9  r   r  T)r   rN  Fr   r  Tr6  r   rN  FrP   r   ))r   r  NN)r   NF))r   r  r   )r:  r  TN(?i)tuple sizerk   )r(   r~  r  r   rP  r   r2   r   r   r:   r   r>   r3   ra   rb   r   )r,   r   r-   r@   data_as_ndarrayr6   tups          r   test_struct_from_tuplesr    s   	BHS"(**--HS")++..HS"(**--/ 
0 
0B De$//e%002H
(4b
!
!
!Chs4yy777OOAAA8O"---D==??h&&&&::d  D e$//d//1H (4b
!
!
!C==??h&&&& : % %]:-=>>> 	% 	%HcU$$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%% %s    F$$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        ||           }|                                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  |                                 d d d            n# 1 swxY w Y   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        ||           }|                                |k    sJ d S )Nr7  r8  r9  )r7  r   r8  r  r9  T)r7  r   r8  rN  r9  FrP   r   r  Tr6  r   rN  F)r  )r7  r  )r8  T)r  )r7  rN  )r8  F)r7  r0   )r8  baz)r7  r&   r  r  )djuliar0   r  r&   )r(   r~  r  r   rP  r   r2   r>   ra   rb   r   )r,   r   r@   r-   s       r   test_struct_from_list_of_pairsr  8  s   	
bhjj!!
bikk""
bhjj!! 
 
B 	.--...D
 (4b
!
!
!C==??e$''e%((     

bhjj!!
bikk""
bhjj!! 
 
B 	.--...D (4b
!
!
!C	z	"	"                
 

bhjj!!
bikk""
bhjj!! 
 
B 	---	< >>>	D D))e$''e$''e%((	H (4b
!
!
!C==??h&&&&&&s   F##F'*F'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            n# 1 swxY w Y   d}t                      t          d          t          d	          d
g}|D ]}t          j        |                    t          |          t          |          j                            }t          j        t"          |          5  t          j	        |gg dg|            d d d            n# 1 swxY w Y   t          j        t"          |          5  t          j	        g d|gg|            d d d            n# 1 swxY w Y   d S )Nr7  r8  r9  )r  r  )r8  Nz0The expected field name is `b` but `c` was givenrk   rP   zKCould not convert {} with type {}: was expecting tuple of (key, value) pairzunknown-keyrP  )r  r  )r9  N)r(   r~  r  r   rP  r   ra   rb   r   r2   rt   reescapeformatr  r<   r   rm   )r,   r   msgtemplaterh  key_value_pairs         r   %test_struct_from_list_of_pairs_errorsr  o  s   	
bhjj!!
bikk""
bhjj!! 
 
B 	,,,D =C	z	-	-	-    
B                             	 
 	cm	E    i  $~"6"6"?
 
   ]9C000 	 	H 555    	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	H555     	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s6   'C

CC)FF	F	7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            d S # 1 swxY w Y   d S )
Nr7  r8  r9  r  r   rN  Fr6  rP   )
r(   r~  r  r   rP  r   ra   rb   rm   r2   )r,   r   s     r   test_struct_from_mixed_sequencer    s    	BHS"(**--HS")++..HS"(**--/ 
0 
0B %e,,.D	y	!	!    
B                                   s   %C		CCc                  r   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        |            |	                                |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        |            |	                                |k    s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        |          }|	                                |k    sJ t          j        i g          }|j        t          j        g           k    sJ |	                                i gk    sJ t!          j        t           j        t           j        f          5  t          j        dddig           d d d            d S # 1 swxY w Y   d S )Nr7  r8  r9  r   r  Tr6  r   rN  Fr  r:  r   aaab)r  r  r&   r0   )r(   r~  r  r   rP  r   r2   r.   r<   r>   r   r   r:   r   r3   r   ra   rb   r   r3  )r*  r   r@   r-   r  r6   s         r    test_struct_from_dicts_inferencer    s[   IrxRXZZ88!xRY[[99!xRXZZ88: ; ;M %d++%e,,.D (4..Cch...==??d"""" $U##%D d..D11T224H
 (4..Chs4yy777OOAAA8D>>Dch...==??h&&&&::d I
bi$0D0D!E!E!#$

!;!;!= > > 	? 	?
bikk""$ % %M Qt,,599U++$77U##%D (4..C==??d"""" (B4..C8ry}}$$$$==??rd"""" 
):;	<	<    
!c1X                                   s   L,,L03L0c            	      ,   g d} g d}g d}g d}| |||g}t           j                            |g d          }t           j                            t          j        | d          t          j        |d          t          j        |          t          j        |d          gg d          }t	          j        t                    5  t           j                            |           d d d            n# 1 swxY w Y   |                    |          sJ d S )	Nrv  rw  rx  r   )ry  rz  r{  int_nonnullr   rP   utf8)r(   r|  r}  r2   ra   rb   r   r3   )ry  rz  r{  ints_nonnullarraysr   r-   s          r   #test_structarray_from_arrays_coercer    sg   <<DDE99LD%.F^'')8 )8 )89 9F ~))	$W	%	%	%	$V	$	$	$	%	,W	-	-	-	/ 	1002 2H 
z	"	" + +
""6***+ + + + + + + + + + + + + + + =="""""""s    C22C69C6c                  l   t          j        d          d t          d          t          j        d          g} t          j        t
                    5  t          j        |           }d d d            n# 1 swxY w Y   t          j        | d          }|j        t          j	        dd          k    sJ |
                                | d d         d d gz   k    sJ t          j        | t          j	        dd          d	          }|
                                t          j        d
          d d d gk    sJ d S )Nr]  r   Tr  r   r1   r0   rM   r   z1.2340)r  r  rE  ra   rb   rm   r(   r2   r<   rD  r>   )r   r2   s     r   $test_decimal_array_with_none_and_nanr    sU   og&&eEllGOE<R<RSF	y	!	! ! !  ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! HV...E:q!,,,,,,??rr
dD\ 99999HV"-A"6"6DIIIE??!:!:D$ MMMMMMMs   A22A69A6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 | D             }t          j        |t          j        t          j                    t          j                                        }|                                |k    sJ d | d<   d |d<   t          j        |t          j        t          j                    t          j                                        }|                                |k    sJ ddigi gdddgfD ]_}t          j        t          d          5  t          j        |gt          j        dd                     d d d            n# 1 swxY w Y   `dddgdddiigfD ]d}t          j        t           j	        d          5  t          j        |gt          j        dd                     d d d            n# 1 swxY w Y   ed S )Nr3  r&   rh   r    r4  r0   r5  r1      dr      er      f   gr  c                 &    g | ]}d  |D             S )c                 .    g | ]}|d          |d         fS r  r   )r\   r  s     r   rA  z2test_map_from_dicts.<locals>.<listcomp>.<listcomp>
  s%    777A!E(AgJ'777r   r   )r\   entrys     r   rA  z'test_map_from_dicts.<locals>.<listcomp>
  s'    JJJE77777JJJr   rP   r    )r|   r}   zInvalid Maprk   i4r   rh   r   )
r(   r2   map_rZ  r   r>   ra   rb   r   r   )r   r-   r@   r  s       r   test_map_from_dictsr    s   A&&q(A(ABA&&'A&&q(A(AD))+A&&'	)D
 KJTJJJH
(8"'")++rxzz"B"B
C
C
CC==??h&&&& DGHQK
(8"'")++rxzz"B"B
C
C
CC==??h&&&& Q<.2$qq)9)9(:; 8 8]:];;; 	8 	8HeW274#6#67777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 ++,|/D.EF 8 8]2?2KLLL 	8 	8HeW274#6#67777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	88 8s$   -+E$$E(	+E(	+GG	G	c            	         ddgdgg ddgg} t          j        | t          j        t          j                    t          j                                        }|                                | k    sJ d | d<   t          j        | t          j        t          j                    t          j                                        }|                                | k    sJ dgd	gd
gfD ]_}t          j        t          d          5  t          j        |gt          j        dd                     d d d            n# 1 swxY w Y   `d S )N)r3  r&   )r4  r0   )r5  r1   ))r  r   )r  r   )r  N)r  r  rP   r&   )r   r   )r:  r  Tr  rk   r  )	r(   r2   r  rZ  r   r>   ra   rb   r   )r-   r@   r  s      r   test_map_from_tuplesr  #  st   I&444H
 (8"'")++rxzz"B"B
C
C
CC==??h&&&& HQK
(8"'")++rxzz"B"B
C
C
CC==??h&&&& &2$!3 45 8 8]:-=>>> 	8 	8HeW274#6#67777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	88 8s   +D88D<	?D<	c                  4   t          j        t          j                    t          j                              } t          j        g d|           }t          |j        t           j                  sJ |j                            |           sJ t          j        g dt          j                              }t          j        ddgt          j                              }|j	                            |          sJ |j                            |          sJ d S )Nr.  )FFTFTrP   )r   r   r&   r   r&   FT)
r(   
dictionaryr   r   r2   rj  r<   DictionaryTyper3   indices)r   r7  expected_indicesexpected_dictionarys       r   test_dictionary_from_booleanr  :  s    
-		bhjj
9
9
9C
222===Aafb/000006==xbgii@@@(E4=rxzzBBB9,-----<23333333r   r.  c                    t          j        t          j                    |           }t          j        g d|          }t	          |j        t           j                  sJ |j                            |          sJ t          j        g dt          j                              }t          j        g d|           }|j                            |          sJ |j                            |          sJ d S )Nr  )r&   r0   r&   r&   r0   r1   rP   )r   r&   r   r   r&   r0   r   )	r(   r  r   r2   rj  r<   r  r3   r  r.  r   r7  r  r  s        r   test_dictionary_from_integersr  F  s     -		j
9
9
9C
####...Aafb/000006==x 2 2 2CCC(999:>>>9,-----<23333333r   input_index_typec                     t          j        | t          j                              }t          j        t	          d          |          }|j                            |          sJ d S )Nr  rM   rP   )r(   r  r   r2   rH   r<   r3   )r  r   r@   s      r   test_dictionary_index_typer  ^  sY     -(RXZZ
@
@
@C
(5993
'
'
'C8??3r   c                  N   t          j        t          j                    t          j                              } t          j        t          d          |           }t          j        t          j                    t          j                              }|j                            |          sJ t          j        t          d          |           }t          j        t          j                    t          j                              }|j                            |          sJ d S )Nr     rP      )	r(   r  r   r   r2   rH   r<   r3   r   )r   r7  r-   s      r   "test_dictionary_is_always_adaptiver  m  s     -		bhjj
9
9
9C
t3'''A}RWYY

33H6=="""""
xs+++A}RXZZ44H6=="""""""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	        
                    |          sJ |j        
                    |          s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	        
                    |          sJ |j        
                    |          sJ d S )	N) r7  bbr7  r  cccrP   )r   r&   r0   r&   r0   r1   )r  r7  r  r  r1   )aaar  bbbr  r  )r   r   r&   r0   r&   )r  r  r  )r(   rZ  rP  r  r   r2   rj  r<   r  r  r3   r  s        r   test_dictionary_from_stringsr  |  s   y{{BIKK0 	8 	8
mBGIIz22H666SAAA!&""3444448$6$6$6RWYYGGG h'='='=JOOOy 011111|""#6777777 -		29Q<<
0
0C
4443???Aafb/00000xbgii@@@(#8#8#8ry||LLL9,-----<23333333r   )r  r-    )milliseconds)microsecondsie;c                 |   t          j        |           }t          j        dg|          }t          j        |                                |          }|                    |          sJ |g}| dk    r.	 dd l}|                    dd          g}n# t          $ r Y nw xY w|                                |k    sJ d S )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xb111H::hJMt||	C  \\+D\AABMM  	 	 	D	
 =000000s   5B 
BBc                     dd l } t          j        d          }t          j        dg|          }|                                }t          |d         | j                  sJ t          j        ||          }|                    |          sJ |                                |                     dd          gk    sJ t          j        d          }t          j        dg|          }|                                }t          |d         | j	                  sJ t          j        ||          }|                    |          sJ |                                | 	                    dd          gk    sJ t          j        dd          }d}t          j        |g|          }|                                }t          |d         | j	                  sJ t          j        ||          }|                    |          sJ |                                | 	                    |d          
                    d	                              d          gk    sJ d S )
Nr   r  l      "9} rP   r  r  r  l    ^,j2 r  )r  r(   r
  r2   r>   rj  r  r3   r  r  tz_localize
tz_convert)r  r,   r@   r   r  r    s         r   <test_roundtrip_nanosecond_resolution_pandas_temporal_objectsr    sm    	T		B
('(r
2
2
2C==??Dd1gr|,,,,,x2&&&H::h
(t44$     
d		B
('(r
2
2
2C==??Dd1gr|,,,,,x2&&&H::h
(t44$     
d|	,	,	,BE
(E7
$
$
$C==??Dd1gr|,,,,,x2&&&H::h
U&&22	 	:l++$      r   c                     |                                  }t          j        || j                  }|                    |           sJ d S )NrP   )r>   r(   r2   r<   r3   )r@   r   r  s      r   test_array_to_pylist_roundtripr    sE     --//Cx#(+++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                                         dk    sJ |d                                         J |d	                                         |k    sJ |d
gz   }t          j        |t          j                              }t          |t           j                  sJ |j        dk    sJ t          |	                    d                    dk    sJ t          |	                    d                    dk    sJ |	                    d          d                                         dk    sJ |	                    d          d                                         J |	                    d          d	                                         |k    sJ |	                    d          
                                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          |	                    d                    dk    sJ t          |	                    d                    dk    sJ t          |	                    d                    dk    sJ t          d          D ]}|	                    |          d                                         dk    sJ |	                    |          d                                         J |	                    |          d	                                         |k    sJ |	                    d          
                                ddgk    sJ d S )N   x k   r   rP   r     r(  s   twor0   r   r&   s   threer1   )r(   r2   rZ  rj  rk  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
(>	
4
4
4Cc28$$$$$s88r>>>>r7==??c!!!!r7==??"""r7==??b     $vh.N
(>	
4
4
4Cc2?+++++>Qsyy||""""syy||!!!!99Q<<!!##s****99Q<<!!##+++99Q<<!!##r))))99Q<<!!##x//// &)Xx,@@
(#")++
6
6
6Cc2?+++++>Qsyy||""""syy||""""syy||!!!!1XX . .yy||B%%''3....yy||B%%''///yy||B%%''2-----99Q<<!!##(';;;;;;;r   c                     dggdz  } t          j        |           }t          |t           j                  sJ |j        dk    sJ t          |                    d                    dk    sJ t          |                    d                    dk    sJ |                    d                                          dggdz  k    sJ d S )N   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi   r0   r   i r&   )r(   r2   rj  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9999r   c                     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          |                    d                    dk    sJ t          |                    d	                    d	k    sJ |                    d	          }|d         }t          |t          j                  sJ t          j        | t          j                              }|j        |k    sJ d S )
N)   r   r   r  rP   r   r0   r   r&   )r   onesr(   r2   r   r   rj  rk  r:   r  r  r  
ListScalarr   )r@  r   r@   r  scalarr-   s         r   test_auto_chunking_list_liker  	  s   787+++D6XD
(4bhrxzz22
3
3
3Cc28$$$$$s88q====787+++D6D=D
(4bhrxzz22
3
3
3Cc2?+++++>Qsyy||!!!!syy||!!!!IIaLLE1XFfbm,,,,,x28::...H=H$$$$$$r   c                     t          j        t          j                    t          j                              } dgdz  }|gdz  }t          j        ||           }t	          |t           j                  sJ t          |                    d                    dk    sJ t          |                    d                    dk    sJ d S )N)r&   r&   r  r   rP   r   r  r&   )r(   r  r   r2   rj  r  r:   r  )r,   r@  r   r@   s       r   test_auto_chunking_map_typer  )	  s     
BGII	&	&B8eD6D=D
(4b
!
!
!Cc2?+++++syy||!!!!syy||!!!!!!r   )r,   charr]   r  c                 f   |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  }|                    dd|d           t          j        ||
          }t          |t           j                  sJ |                    dd|d           t          j        ||
          }t          |t           j	                  sJ |j
        dk    sJ t          |                    d                    dk    sJ t          |                    d                    dk    sJ |                    d          d                                         dd|dk    sJ d S )Nr  r  boolintegerstring-likeTr&   )r  r  r  r  rP   r0   r   r  )r(   r~  r  r   r   appendr2   rj  rk  r  r  r:   r  r}  )r,   r  r  r  struct_typer   r@   s          r   test_nested_auto_chunkingr	  6	  s    
		B			B)
$$
BHJJ''
##  K a;;<rADKK!B??@@@
(4k
*
*
*Cc28$$$$$KK!DAABB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k    sJ t          j        dt                    }t          j        | |t          j                              }t          |t           j                  sJ t          |          dk    sJ t          |j                  dk    sJ t          j        | t          j
                              }t          |t           j                  sJ t          |          dk    sJ t          |j                  dk    sJ d S )Ns   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai   rP   r&   r   r<   r(   r2   rP  rj  r  r:   chunksr   zerosr  rZ  itemsr@   r   s      r   $test_array_from_pylist_data_overflowr  W	  sO    MW%E
(5ry{{
+
+
+Cc2?+++++s88usz??Q8E4  D
(5t")++
6
6
6Cc2?+++++s88usz??Q
(5ry{{
+
+
+Cc2?+++++s88usz??Qr   c                     dgdz  } t          j        | t          j                              }t          |t           j                  sJ t          |          dk    sJ t          |j                  dk    sJ t          j        dt                    }t          j        | |t          j                              }t          |t           j                  sJ t          |          dk    sJ t          |j                  dk    sJ t          j        | t          j
                              }t          |t           j                  sJ t          |          dk    sJ t          |j                  dk    sJ d S )Nr3  l        rP   r&   r  r  r  s      r   &test_array_from_pylist_offset_overflowr  m	  sO    FgE
(5ry{{
+
+
+Cc2?+++++s88usz??Q8E4  D
(5t")++
6
6
6Cc2?+++++s88usz??Q
(5ry{{
+
+
+Cc2?+++++s88usz??Qr   )r   scalar_datar.  rx  )r&   NN)r  r"  Nr  r"  i  )r&   r   ir   rP   r  r  )r&   r0   r  )r8  r0   )r&   rN  r  c                 p   t           | |                    t          k    rt          j        d           t	          j        ||          }t	          j         | |                    }|                    |          sJ t	          j         | |          |          }|                    |          sJ d S )Nz&The elements in the set get reordered.rP   )r<   r+   ra   skipr(   r2   r3   )r   r   r  r.  expectr   s         r   !test_array_accepts_pyarrow_scalarr  	  s    D CC$$<===Xd,,,FXcc+&&''F==     Xcc+&&Z888F==       r   c                     | t          j        d          t          j        d          t          j        d          g          }t          j        t           j        d          5  t          j        |           d d d            n# 1 swxY w Y    | dt          j        d          d g          }t          j        t           j        d          5  t          j        |           d d d            n# 1 swxY w Y    | t          j        d          t          j        d          d g          }t          j        t           j        d          5  t          j        |           d d d            n# 1 swxY w Y    | t          j        d          t          j        d          d g          }t          j        t           j        d          5  t          j        |           d d d            n# 1 swxY w Y   t          j        t           j        d          5  t          j        t          j        d          gt          j                    	           d d d            n# 1 swxY w Y   t          j        t           j        d
          5  t          j        t          j        d          gt          j	                    	           d d d            d S # 1 swxY w Y   d S )Nr&   r7  r#  z'cannot mix scalars with different typesrk   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  ra   rb   r   r2   r   r  r   r=   )r   sequences     r   (test_array_accepts_pyarrow_scalar_errorsr  	  s    sBIaLL")C..")C..ABBH	rF
H 
H 
H  
               sAry~~t,--H	r>
? 
? 
?   	              
 sBJu%%ry~~t<==H	r>
? 
? 
?   	              
 sBIcNNBJu$5$5t<==H	r>
? 
? 
?   	              
 
r9
: 
: 
: 4 4 	")C..!

33334 4 4 4 4 4 4 4 4 4 4 4 4 4 4
 
r8
9 
9 
9 1 1 	")A,,bgii00001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1sl   %BB
B
C22C69C6E00E47E4G..G25G2;I  I$'I$;KKK)rw   r  r  rU   rh  r  
hypothesishra   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   rd   rf   rn   rr   ru   ry   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
  rZ  ra  rP  rb  r~  r=  rB  rF  rK  rQ  rd  rS  r_  re  large_memoryrm  slowrs  rv  r{  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/  r1  r5  r7  r<  rG  rJ  rN  rP  rR  rT  rX  r[  ra  ri  ro  rq  rs  r  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_intervalrc  r  r  r  r   r   r   <module>r>     s"  $            				        	BBB . - - - - -     ' ' ' ' ' ' ' ' ' WRWYYhbhjjhbhjjhbhjjhbhjjyry{{yry{{yry{{ "%n!5  ,# # # # # # # #              
$ $ $  ! ! !      ! ! !! ! !7 7 7       
* * *    ! ! !
       I&>/***?+n<K.0 "(+"9"9	># #  #)+"9"9	># #  &,[%<%<	& & "
 $  $# !  !  !' ' ! '  8 8 !  8  ? ? !  ? $! ! $#! !# # ! # !HbmR\2+=%? @ @# #@ @ ! # $	L 	L $#	L !  HbmR\2+=%? @ @1 1@ @  ! 1  - - !  -D !+ + ! +  ,n==	' 	' >= !  	' #L11' ' 21 $# '  L11' ' 21 !  ' !' ' ! '  ,n==
' 
' >= !  
'  ,n==
' 
' >= !  
' !' ' ! ' $- - $#-       E'  ) )) )) ) ) 11- - 21- 11  21 $--' ' .- $#'& & &	6 	6 	6# # #  &" " "  5 5 5"    0





3  
 u66, , 76  !  ,. u66N N 76 N( : : :6  1(  * *# #* * # /
E]HBHJJ
D\72799\\72799

%mT"IBIKK0
HM!!"IBIKK0hmAq!d#YRYs^^4
MHM!Q""#YRYt__5t$lbl4&8&89h$$$%{r{3'7'78
D\929;;yry||,**+__ibikk"__obo''(q		4qt!4!45	C#c828::%6788!2  *% %+  ,% /!fqc]HBHXRXZZ(()!fq!fxrx

A../cAq6]MBM("(**--.2  
% %  %      " " "$# # # 		_R_->->@P@PQRR# # SR#     *H H H  1 1?2?3D3DEFF    GF    1 1?2?3D3DEFF	) 	) GF  	) 		YRY[[.".:J:JKLL@ @ ML @O O O" 		_R_->->@P@PQRR
! 
! SR
!@ @ @* * *# # #
8 
8 
8 $29;;6$29;;)94(@ACD D$ $D D$* * * :YWYgYgYg	=  7) 7) 7)t? ? ?(  & & &    " " "  @E @E  @EF  & & &  ' ' ':) ) )< ) ) )6 * * *:@ @ @* ? ? ?(	 	 	 	 	X] 	 	 		 	 	 	 	" 	 	 		 	 	 	 	($ 	 	 	>C >C >CB {..E  G GF FG GF 22 22  22j! ! ! ! ! ! !8!8!899. . :9." !8!8!899  :9	# 	# 	# HbmR\2+=%? @ @	# 	#@ @	# 8 8 8** * *D  " " "' ' '' ' '' ' '' ' '' ' '' ' '+ + +. . .* * *,' ' '4+ + +<  ! ! != = =6' ' '2  " % % %D4' 4' 4'n+ + +\      1  1  1 h# # #0N N N8 8 8>8 8 8.	4 	4 	4 BGIIBHJJBHJJBHJJBHJJBIKKBIKKBIKKBJLLBJLL(  	4 	4 	4 +BGIIBHJJBHJJBHJJ	.       # # #4 4 4. -
(
[
1
1
12	8;7778	8;7778	884445	0  1 1 1* # # #L        &< &< &<R : : : % % %* " "  " RY[[#RY[[$*   	  
8   *    , $>929T??IBIe,<,<dCXRXZZP	1yry||YRYtXRXZZ%@%@A


 __yry||T929T828::+F+FGT
D\IBIdOOYRYt__5wrwyyA^^ibimmYRYr]]D9:2:<<H	x}""$$%	yry,,..//0	 
x}""$$%	yry,,..		<<=	 
q!Q		&	=8=Aq))	*	*D1	$ 
	B	'	'	'(	%8%b111	2	23D 
 x q!,,-	yry**4A66778T 
	)	)*	?2????33	4	45""$$
 
3Z)")C..)")C..1929;;?
D\IBIdOOYRYt__5yry{{C	t	41	&	&		$		!(E(EF	!
 ii[929YYY''(("(828::*>*>?
Cj\IBIsCj))*HBHYRY[[,A,ABii[929YYY\R\("(**-E-EFFFGR\("(**
Cj\IBIsCj|r|IBIKK/H/HIIIJR\)")++  		172799	%	%	%yry'C'C'CTJ		
 Y3XRXZZ000$7D		5yry||	,	,	,ibiIBIaLL.Q.Q.QR	! Vibi/"/"3"34445r7H7HI	UYRYs!2!23334obo6G6GH
Vibi."."2"23334nbn6F6FG	UYRYs!1!12223^R^5E5EF		3]R]828::yry{{CC	D	D	DEhbhjj)")++.. 
c
	3hbhjj)")++>>	?	?	3hbhjj)")++>>	?	?	Ahbhjj)")++..	 
	1=2=XRXZZ@@	A	A	ABhbhjj("(**-- 
	Hh'ibi72799WRWYY/0/2 /2 
3 
3 
3 	4	C#c72799%5677	 
	Hl+)")72799YRY[[1234 34 
5 
5 
5 	6	C#c929;;%7899	s_A _ _@! !A_ _ $#B! # 1  1 $#  1  1  1s   ' 11