
    <>iA             +       8   S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKr S SK	r
S SKJr  S SKrS SKJs  Jr  S\R(                  " 5       4S\R*                  " 5       4S\R,                  " 5       4S\R.                  " 5       4S\R0                  " 5       4S\R2                  " 5       4S	\R4                  " 5       4S
\R6                  " 5       4/r\" \6 u  rr " S S5      r  " S S5      r! " S S5      r"S r#S r$S r%S r&S r'S r(S r)S r*S r+ " S S5      r,S r-S r.S r/S r0S  r1S! r2S" r3\.\//r4\
b  \4Rk                  \25        \3\1/\4-   r6\0/\6-   r7\Rp                  Rs                  S#\65      r:\Rp                  Rs                  S#\45      r;\Rp                  Rs                  S#\75      r<\<S$ 5       r=\:S% 5       r>\;S& 5       r?\Rp                  R                  \;S' 5       5       r@\Rp                  R                  \;S( 5       5       rA\<S) 5       rB\;S* 5       rC\;\Rp                  Rs                  S+\R                  \R                  \R                  \R                  /5      S, 5       5       rH\<S- 5       rI\;\Rp                  Rs                  S.\45      \Rp                  Rs                  S+\R                  \R                  \R                  \R                  /5      S/ 5       5       5       rJ\Rp                  R                  \;S0 5       5       rK\;S1 5       rL\Rp                  R                  \;\Rp                  Rs                  S2\5      S3 5       5       5       rM\Rp                  R                  \<\Rp                  Rs                  S4\5      S5 5       5       5       rN\Rp                  R                  \;\Rp                  Rs                  S4\5      S6 5       5       5       rO\;S7 5       rP\Rp                  R                  \;\Rp                  Rs                  S2\5      S8 5       5       5       rQ\Rp                  R                  \;\Rp                  Rs                  S2\5      S9 5       5       5       rR\;S: 5       rS\<S; 5       rT\Rp                  R                  S< 5       rU\Rp                  R                  \Rp                  R                  S=\WS>9S? 5       5       rX\Rp                  Rs                  S@/ SAQ5      SB 5       rY\Rp                  Rs                  S@/ SAQ5      SC 5       rZ\<\Rp                  Rs                  SD\5      SE 5       5       r[SF r\SG r]SH r^SI r_SJ r`\Rp                  R                  SK 5       raSL rb\Rp                  R                  \;\Rp                  Rs                  SMSN\R                  " 5       4SO\R                  " 5       4SP\R                  " 5       4/5      \Rp                  Rs                  SQSRSS/5      ST 5       5       5       5       rf\Rp                  R                  \Rp                  Rs                  SQSRSS/5      SU 5       5       rg\Rp                  R                  SV 5       rh\Rp                  R                  \Rp                  R                  SW\iS>9SX 5       5       rj\Rp                  R                  \Rp                  Rs                  SYSRSS/\R                  " 5       4SS/\R                  " 5       4/ SZQ\R(                  " 5       4/ S[Q\R                  " 5       4\R                  R                  5       S/\R                  " 5       4S\R                  R                  5       /\R                  " 5       4\R                  " S\S\S\5      S/\R                  " S]5      4S\R                  " S^S^S^5      /\R                  " S_5      4\R                  R                  5       S/\R                  " S_5      4\R                  " S`Sa9/\R                  " S]5      4SbSc/\R                  " 5       4/ SdQ\R                  " Se5      4/ SfQ\R                  " 5       4/ SgQ\R                  " 5       4/ SgQ\R                  " 5       4S\S^Sh.SSiSSh./\R                  " Sj\R(                  " 5       4Sk\R*                  " 5       4/5      4/5      Sl 5       5       r}\Rp                  R                  \Rp                  Rs                  SYS\S^/Se//\R                  " \R.                  " 5       5      4S\S^/SeSm//\R                  " \R.                  " 5       S^5      4S\/S^Se//\R                  " \R.                  " 5       5      4/5      Sn 5       5       r~So r\Rp                  R                  Sp 5       rSq r\Rp                  Rs                  Sr\R                  " 5       \R                  " 5       \GR                  " 5       /5      Ss 5       rSt rSu r\Rp                  GR                  \Rp                  Rs                  Sr\R                  " 5       \R                  " 5       /5      Sv 5       5       r\Rp                  GR                  \Rp                  GR                  \Rp                  Rs                  Sr\R                  " 5       \R                  " 5       /5      Sw 5       5       5       r\Rp                  GR                  \Rp                  Rs                  Sr\R                  " 5       \R                  " 5       \GR                  " 5       /5      Sx 5       5       rSy r\Rp                  Rs                  Sr\R                  " 5       \R                  " 5       \GR                  " 5       /5      Sz 5       rS{ rS| rS} rS~ r\Rp                  Rs                  S\R                  " 5       SS/4\R                  " 5       SS/4/5      S 5       rS r\Rp                  Rs                  S\R                  S]S4\R                  SS4\R                  S_S4\R                  SS4/5      S 5       rS r\Rp                  Rs                  S/ SQ5      \Rp                  Rs                  S/ SQ5      S 5       5       r\Rp                  Rs                  S/ SQ5      S 5       rS r\Rp                  GR0                  S 5       r\Rp                  GR4                  S 5       rS r\Rp                  R                  S 5       r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      rS r\Rp                  R                  \GRD                  (       + SS9S 5       r\Rp                  GR0                  S 5       r\Rp                  GR4                  \Rp                  GR0                  S 5       5       r\Rp                  GRL                  \Rp                  GR0                  S 5       5       r\Rp                  GRL                  \Rp                  GR0                  S 5       5       rS r\Rp                  R                  S 5       r\Rp                  Rs                  S/ SQ5      S 5       r\Rp                  Rs                  S/ SQ5      S 5       rS r\Rp                  Rs                  S+\R                  \R                  \R                  \R                  /5      S 5       r\Rp                  R                  S 5       rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r\Rp                  R                  S 5       rS rS rS r\Rp                  R                  S 5       rS rS rS rS rS r\Rp                  Rs                  S\R(                  " 5       \R*                  " 5       \R,                  " 5       \R.                  " 5       \R0                  " 5       \R2                  " 5       \R4                  " 5       \R6                  " 5       \R                  " 5       \R                  " 5       /
5      S 5       r\Rp                  Rs                  S\R(                  " 5       \R*                  " 5       \R,                  " 5       \R.                  " 5       /5      S 5       rS rS r\Rp                  Rs                  SS]\R                  " SSa94S\R                  " SS94S_\R                  " SS94S\R                  " SS94/5      S 5       r\Rp                  GR4                  S 5       r\Rp                  R                  \GR                  " \GR                  5      S 5       5       r\Rp                  GR                  S 5       r\Rp                  GR                  S 5       r\Rp                  GR                  S 5       r\Rp                  GR                  \Rp                  GR                  S 5       5       r\Rp                  GR                  \Rp                  Rs                  S\R                  " 5       S4\R                  " 5       S4/5      S 5       5       r\Rp                  GR                  S 5       r\Rp                  GR                  \Rp                  GR                  S 5       5       r\<\Rp                  Rs                  S/ SQ\GR                  " SR5      \GR                  " SS5      S/\R                  " 5       4/ SZQ\GR                  " S\5      \GR                  " S^5      \GR                  " S\R.                  " 5       5      /\R.                  " 5       4/ SQ\GR                  " S\5      S\GR                  " S\R.                  " 5       5      /\R.                  " 5       4SS/\GR                  " S5      \GR                  " S5      /\R                  " 5       4/ SQ\GR                  " S5      \GR                  " S5      S/\R                  " 5       4S\R                  R                  5       /S\GR                  " \R                  R                  5       5      /\R                  " 5       4S\R                  R                  5       /S\GR                  " \R                  R                  5       \R                  " 5       5      /\R                  " 5       4\R                  " S\S\S\5      S/\GR                  " \R                  " S\S\S\5      5      S/\R                  " S_5      4\R                  " S`Sa9/\GR                  " \R                  " S`Sa95      /\R                  " S_5      4S\R                  " SS\S\5      /S\GR                  " \R                  " SS\S\5      5      /\R                  " S_5      4\GR                  " / SQ5      /\GR                  " \GR                  " / SQ5      5      /\GR                  " 5       4SjSk/\GR                  " Sj5      \GR                  " Sk5      /\R                  " 5       4SbSc/\GR                  " Sb5      \GR                  " Sc5      /\R                  " 5       4SbSc/\GR                  " Sb\R                  " S\5      5      \GR                  " Sc\R                  " S\5      5      /\R                  " S\5      4/ SQ/\GR                  " / SQ5      /\R                  " \R.                  " 5       5      4SjSk//\GR                  " SjSk/5      /\R                  " \R                  " 5       5      4/ SQ/\GR                  " / SQ\R                  " \R.                  " 5       5      S9/\R                  " \R.                  " 5       5      4SjSk//\GR                  " SjSk/\R                  " \R                  " 5       5      S9/\R                  " \R                  " 5       5      4/ SZQ\GR                  " S\\R(                  " 5       S9\GR                  " S^\R(                  " 5       S9S/\R(                  " 5       4S\S/\GR                  " S\R,                  " 5       S9S/\R,                  " 5       4SS/\GR                  " S\R                  " Se5      S9\GR                  " S\R                  " Se5      S9/\R                  " Se5      4Sb/\GR                  " Sj\R                  " 5       S9/\R                  " 5       4Sj/\GR                  " Sj\R                  " 5       S9/\R                  " 5       4Sb/\GR                  " Sj\GR                  " 5       S9/\GR                  " 5       4Sj/\GR                  " Sj\GR                  " 5       S9/\GR                  " 5       4Sj/\GR                  " Sj\GR                  " \R.                  " 5       \R                  " 5       5      S9/\GR                  " \R.                  " 5       \R                  " 5       5      4SjSk/\GR                  " Sj\GR                  " \R.                  " 5       \R                  " 5       5      5      \GR                  " Sk\GR                  " \R.                  " 5       \R                  " 5       5      5      /\GR                  " \R.                  " 5       \R                  " 5       5      4S\/\GR                  " S\\GR                  " \R.                  " 5       \R,                  " 5       5      S9/\GR                  " \R.                  " 5       \R,                  " 5       5      4S/\GR                  " SS/\R                  " Sj\R(                  " 5       4Sk\R(                  " 5       4/5      S9/\R                  " Sj\R(                  " 5       4Sk\R(                  " 5       4/5      4S/\GR                  " SS/\R                  " Sj\R(                  " 5       4Sk\R                  " 5       4/5      S9/\R                  " Sj\R(                  " 5       4Sk\R                  " 5       4/5      4/5      S 5       5       r\Rp                  R                  \<S 5       5       rg! \ a    Sr
 GNRf = f)    N)_pandas_apiint8int16int32int64uint8uint16uint32uint64c                        \ rS rSrS rS rSrg)StrangeIterable3   c                     Xl         g Nlst)selfr   s     a/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pyarrow/tests/test_convert_builtin.py__init__StrangeIterable.__init__4   s        c                 6    U R                   R                  5       $ r   )r   __iter__r   s    r   r   StrangeIterable.__iter__7   s    xx  ""r   r   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__ r   r   r   r   3   s    #r   r   c                        \ rS rSrS rS rSrg)MyInt;   c                     Xl         g r   value)r   r'   s     r   r   MyInt.__init__<   s    
r   c                     U R                   $ r   r&   r   s    r   __int__MyInt.__int__?   s    zzr   r&   N)r   r   r   r   r   r*   r    r!   r   r   r#   r#   ;   s    r   r#   c                       \ rS rSrS rSrg)MyBrokenIntC   c                     SS-    g )N   r   r!   r   s    r   r*   MyBrokenInt.__int__D   s	    	!r   r!   N)r   r   r   r   r*   r    r!   r   r   r-   r-   C   s    r   r-   c                     [         R                  R                  U 5      (       d   e[        U 5      [        U5      :X  d   eg)zH
Check a struct type is as expected, but not taking order into account.
N)patypes	is_structset)tyexpecteds     r   check_struct_typer9   H   s5     88b!!!!r7c(m###r   c                      [         R                  " [        / SQ5      5      n [         R                  " S5      nU R                  U5      (       d   eg )N)r   r0         )r3   arrayr   equalsarr1arr2s     r   test_iterable_typesrB   P   s8    88OL12D88L!D;;tr   c                      [         R                  " [        / 5      5      n [        U 5      S:X  d   eU R                  S:X  d   eU R
                  [         R                  " 5       :X  d   eU R                  5       / :X  d   eg Nr   )r3   r=   r   len
null_counttypenull	to_pylistarrs    r   test_empty_iterablerL   W   sc    
((?2&
'Cs8q==>>Q88rwwy   ==?b   r   c                      [         R                  " [        [        S5      5      [         R                  " 5       SS9n [         R                  " S5      nU R                  U5      (       d   eg )Nr<   rG   sizer   r0   r;   r3   r=   iterranger   r>   r?   s     r   test_limited_iterator_typesrT   _   sE    88DqN!<D88ID;;tr   c                      [         R                  " [        [        S5      5      [         R                  " 5       SS9n [         R                  " S5      nU R                  U5      (       d   eg )Nr<   r;   rN   )r   r0   rQ   r?   s     r   #test_limited_iterator_size_overflowrV   e   sE    88DqN!<D88FD;;tr   c                      [         R                  " [        [        S5      5      [         R                  " 5       SS9n [         R                  " S5      nU R                  U5      (       d   eg )Nr<   
   rN   rP   rQ   r?   s     r   $test_limited_iterator_size_underflowrY   k   sE    88DqN"=D88ID;;tr   c                  T   [         R                  " S5      n [         R                  " [        [        S5      5      5      nUR	                  U 5      (       d   e[         R                  " [        [        S5      5      [         R
                  " 5       S9nUR	                  U 5      (       d   eg )NrP   r<   rG   )r3   r=   rR   rS   r>   r   r8   r@   s     r   test_iterator_without_sizer]   q   sn    xx	"H88DqN#D;;x    88DqN4D;;x    r   c                  \   [         R                  " S5      n [         R                  " [        R                  " S5      SS9nUR	                  U 5      (       d   e[         R                  " [        R                  " S5      [         R
                  " 5       SS9nUR	                  U 5      (       d   eg )NrP   r   r<   rO   rN   )r3   r=   	itertoolscountr>   r   r\   s     r   test_infinite_iteratorrb   z   st    xx	"H88IOOA&Q/D;;x    88IOOA&RXXZa@D;;x    r   c                  j   [         R                  " [        5         [        R                  " S [        S5       5       5        S S S 5        [         R                  " [        5         [        R                  " S [        S5       5       SS9  S S S 5        g ! , (       d  f       NW= f! , (       d  f       g = f)Nc              3   ,   #    U  H
  nS S-  v   M     g7fr0   r   Nr!   .0xs     r   	<genexpr>(test_failing_iterator.<locals>.<genexpr>        ,)Q!q&)   rX   c              3   ,   #    U  H
  nS S-  v   M     g7fre   r!   rf   s     r   ri   rj      rk   rl   r_   )pytestraisesZeroDivisionErrorr3   r=   rS   r!   r   r   test_failing_iteratorrq      sk    	(	)
,%),- 
* 
(	)
,%),26 
*	) 
*	) 
*	)s   'B$&B$
B!$
B2c                       \ rS rSrS rSrg)ObjectWithOnlyGetitem   c                     g)Nr<   r!   )r   keys     r   __getitem__!ObjectWithOnlyGetitem.__getitem__   s    r   r!   N)r   r   r   r   rw   r    r!   r   r   rs   rs      s    r   rs   c                      [         R                  " [        SS9   [        R                  " [        5       5        S S S 5        g ! , (       d  f       g = f)Nzhas no len()match)rn   ro   	TypeErrorr3   r=   rs   r!   r   r   test_object_with_getitemr}      s.     
y	7
&() 
8	7	7s   A
Ac                     U $ r   r!   xss    r   _as_listr      s    Ir   c                     [        U 5      $ r   )tupler   s    r   	_as_tupler      s    9r   c                 .    [         R                  " U 5      $ r   )collectionsdequer   s    r   	_as_dequer      s    R  r   c                 l    [        U 5       VVs0 s H  u  pX_M	     nnnUR                  5       $ s  snnf r   )	enumeratevalues)r   kvdcts       r   _as_dict_valuesr      s/    %bM
*MDA14MC
*::< +s   0c                 R    [         R                  " [        U 5      [        S9nXS S & U$ )Ndtype)npemptyrE   object)r   rK   s     r   _as_numpy_arrayr      s"    
((3r7&
)CFJr   c                     [        U 5      $ r   )r6   r   s    r   _as_setr      s    r7Nr   seqc                     [         R                  " U " / SQ5      5      n[         R                  " / SQ5      nUR                  U5      (       d   eg Nr0   r;   r<   r3   r=   r>   r   r@   rA   s      r   test_sequence_typesr      s7    88C	N#D88ID;;tr   c                     [         R                  " U " / SQ5      /5      n[         R                  " / SQ/5      nUR                  U5      (       d   eg r   r   r   s      r   test_nested_sequence_typesr      s<    88S^$%D88YK D;;tr   c                     / SQn[         R                  " U " U5      5      n[        U5      S:X  d   eUR                  S:X  d   eUR                  [         R
                  " 5       :X  d   eUR                  5       U:X  d   eg )NTNFN   r;   )r3   r=   rE   rF   rG   bool_rI   r   r8   rK   s      r   test_sequence_booleanr      sg    (H
((3x=
!Cs8q==>>Q88rxxz!!!==?h&&&r   c                    [         R                  " S5      S [         R                  " S5      S /n[        R                  " U " U5      5      nUR                  [        R                  " 5       :X  d   eUR                  5       / SQ:X  d   eg )NTFr   )r   r   r3   r=   rG   rI   r   s      r   test_sequence_numpy_booleanr      sa     bhhuot<H
((3x=
!C88rxxz!!!==?7777r   c           	          [         R                  " SS/5      n[        R                  " U " US   S US   SS/5      5      nUR                  [        R                  " 5       :X  d   eUR                  5       / SQ:X  d   eg )NTFr   r0   )TNFTF)r   r=   r3   rG   r   rI   )r   r   rK   s      r   &test_sequence_mixed_numpy_python_boolsr      si     XXtUm$F
((3q	4D%@A
BC88rxxz!!!==?>>>>r   c                     [         R                  " U " / 5      5      n[        U5      S:X  d   eUR                  S:X  d   eUR                  [         R
                  " 5       :X  d   eUR                  5       / :X  d   eg rD   r3   r=   rE   rF   rG   rH   rI   r   rK   s     r   test_empty_listr      sb    
((3r7
Cs8q==>>Q88rwwy   ==?b   r   c                 .   / SS/S /n[         R                  " U " U5      5      n[        U5      S:X  d   eUR                  S:X  d   eUR                  [         R
                  " [         R                  " 5       5      :X  d   eUR                  5       U:X  d   eg )Nr0   r;   r<   )r3   r=   rE   rF   rG   list_r   rI   r   datarK   s      r   test_nested_listsr      s{    AD
((3t9
Cs8q==>>Q88rxx
++++==?d"""r   factoryc                 B   / SS/S /n[         R                  " U " U5      U" [         R                  " 5       5      S9n[        U5      S:X  d   eUR                  S:X  d   eUR
                  U" [         R                  " 5       5      :X  d   eUR                  5       U:X  d   eg Nr0   r;   r[   r<   )r3   r=   r   rE   rF   rG   rI   )r   r   r   rK   s       r   $test_nested_lists_with_explicit_typer     s     AD
((3t97288:#6
7Cs8q==>>Q88wrxxz****==?d"""r   c                    [         R                  " [        5         [        R                  " U " / SS/S/5      [        R
                  " [        R                  " 5       5      S9  S S S 5        [         R                  " [        5         [        R                  " U " / SS/S/5      [        R                  " [        R                  " 5       5      S9  S S S 5        [         R                  " [        5         [        R                  " U " / SS/S/5      [        R                  " [        R                  " 5       5      S9  S S S 5        [         R                  " [        5         [        R                  " U " / SS/S/5      [        R                  " [        R                  " 5       5      S9  S S S 5        g ! , (       d  f       GNN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr0   r;   r<   r[   )
rn   ro   r|   r3   r=   r   r   
large_list	list_viewlarge_list_view)r   s    r   test_list_with_non_listr     s    
y	!
b1a&!_%BHHRXXZ,@A 
"	y	!
b1a&!_%BMM"((*,EF 
"	y	!
b1a&!_%BLL,DE 
"	y	!
b1a&!_%B,>,>rxxz,JK 
"	! 
"	!	!	!	!	!	!	!s3   AF*AF</AGAG*
F9<
G

G
G,	inner_seqc           	      `   [         R                  " U " U" / 5      U" SS/5      S /5      U" [         R                  " 5       5      S9n[        U5      S:X  d   eUR                  S:X  d   eUR
                  U" [         R                  " 5       5      :X  d   eUR                  5       / SS/S /:X  d   eg r   )r3   r=   r   rE   rF   rG   rI   )r   r   r   rK   s       r   test_nested_arraysr     s     ((3	"!1a&)41 2
+-C s8q==>>Q88wrxxz****==?rAq640000r   c           	          SS/SS /S /n[         R                  " U " U5      [         R                  " [         R                  " 5       S5      S9n[	        U5      S:X  d   eUR
                  S:X  d   eUR                  [         R                  " [         R                  " 5       S5      :X  d   eUR                  5       U:X  d   e[        R                  " SS/SS9[        R                  " SS/SS9S /n[         R                  " U " U5      [         R                  " [         R                  " 5       S5      S9n[	        U5      S:X  d   eUR
                  S:X  d   eUR                  [         R                  " [         R                  " 5       S5      :X  d   eUR                  5       SS/SS/S /:X  d   e/ SQSS /S /n/ S	Q/[        R                  " / SQSS9/4 Hh  n[        R                  " [        S
S9   [         R                  " U " U5      [         R                  " [         R                  " 5       S5      S9  S S S 5        Mj     / / S /n[         R                  " U " U5      [         R                  " [         R                  " 5       S5      S9n[	        U5      S:X  d   eUR
                  S:X  d   eUR                  [         R                  " [         R                  " 5       S5      :X  d   eUR                  5       / / S /:X  d   eg ! , (       d  f       GM;  = f)Nr0   r;   r<   r[   r   r   r   )r0   r;   r   r   z&Length of item not correct: expected 2rz   r   )r3   r=   r   r   rE   rF   rG   rI   r   rn   ro   
ValueErrorr   s      r   test_nested_fixed_size_listr   /  sd    FQIt$D
((3t9288BHHJ#:
;Cs8q==>>Q88rxx
A....==?d""" HHaV7+RXXq!fG-LD
((3t9288BHHJ#:
;Cs8q==>>Q88rxx
A....==?1v1vt4444 4y$'Drxx	ABC]]"JLHHSYRXXbhhj!%<=L L D D>D
((3t9288BHHJ#:
;Cs8q==>>Q88rxx
A....==?r2tn,,,L Ls   .AK==
L	c                     [         R                  " U " S S /5      5      n[        U5      S:X  d   eUR                  S:X  d   eUR                  [         R
                  " 5       :X  d   eUR                  5       S S /:X  d   eg )Nr;   r   r   s     r   test_sequence_all_noner   S  sk    
((3d|$
%Cs8q==>>Q88rwwy   ==?tTl***r   np_scalar_pa_typec                    Uu  p#[        [        U5      nSS SS [        R                  " U5      R                  [        R                  " U5      R                  /n[
        R                  " U " U5      US9n[        U5      S:X  d   eUR                  S:X  d   eUR                  U:X  d   eUR                  5       U:X  d   eg Nr0   r<   r[      r;   getattrr   iinfominmaxr3   r=   rE   rF   rG   rI   r   r   np_str_scalarpa_type	np_scalarr8   rK   s          r   test_sequence_integerr   \  s     /MM*I4D#''))<)@)@BH
((3x=w
/Cs8q==>>Q88w==?h&&&r   r   c                    [         R                  " [        5         [        R                  " U " [
        R                  /5      USS9  S S S 5        [        R                  " U " [
        R                  /5      USS9nS /n[        U5      S:X  d   eUR                  S:X  d   eUR                  U:X  d   eUR                  5       U:X  d   eg ! , (       d  f       N= f)NFrG   from_pandasTr0   )rn   ro   r   r3   r=   r   nanrE   rF   rG   rI   r   r   rK   r8   s       r   test_sequence_integer_np_nanr   k  s     
z	"
bffXW%@ 
# ((3x=wD
ACvHs8q==>>Q88w==?h&&& 
#	"s   ,C		
Cc                 2   [         R                  " [        5         [        R                  " U " [
        R                  //5      [        R                  " U5      SS9  S S S 5        [        R                  " U " [
        R                  //5      [        R                  " U5      SS9nS //n[        U5      S:X  d   eUR                  S:X  d   eUR                  [        R                  " U5      :X  d   eUR                  5       U:X  d   eg ! , (       d  f       N= f)NFr   Tr0   r   )rn   ro   r   r3   r=   r   r   r   rE   rF   rG   rI   r   s       r   #test_sequence_integer_nested_np_nanr   |  s     
z	"
rvvhZrxx'8eL 
# ((3z?'):
MCxHs8q==>>Q88rxx((((==?h&&& 
#	"s   AD
Dc                     / SQn[         R                  " U " U5      5      n[        U5      S:X  d   eUR                  S:X  d   eUR                  [         R
                  " 5       :X  d   eUR                  5       U:X  d   eg )Nr0   Nr<   Nr   r;   )r3   r=   rE   rF   rG   r   rI   r   s      r   test_sequence_integer_inferredr     sg    !H
((3x=
!Cs8q==>>Q88rxxz!!!==?h&&&r   c           
         Uu  p#[        [        U5      nU" S5      S U" S5      S U" [        R                  " U5      R                  5      U" [        R                  " U5      R                  5      /n[
        R                  " U " U5      US9n[        U5      S:X  d   eUR                  S:X  d   eUR                  U:X  d   eUR                  5       U:X  d   eg r   r   r   s          r   test_sequence_numpy_integerr     s     /MM*I!dIaL$"((9-112"((9-1124H ((3x=w
/Cs8q==>>Q88w==?h&&&r   c                    Uu  p#[        [        U5      nU" S5      S U" S5      S /nXT" [        R                  " U5      R                  5      U" [        R                  " U5      R                  5      /-  n[
        R                  " U " U5      5      n[        U5      S:X  d   eUR                  S:X  d   eUR                  U:X  d   eUR                  5       U:X  d   eg )Nr0   r<   r   r;   r   r   s          r   $test_sequence_numpy_integer_inferredr     s     /MM*I!dIaL$7H288I.223288I.2235 5H
((3x=
!Cs8q==>>Q88w==?h&&&r   c                     / SQn[        [        [        U5      5      n[        R                  " U " U5      [        R
                  " 5       S9nUR                  5       U:X  d   eg )N)r   *   l       l         r[   )listmapr#   r3   r=   r   rI   )r   r8   r   rK   s       r   test_sequence_custom_integersr     sF    )HE8$%D
((3t9288:
.C==?h&&&r   c                     [        5       /n[        R                  " [        R                  SS9   [        R
                  " U " U5      [        R                  " 5       S9  S S S 5        g ! , (       d  f       g = f)Ntried to convert to intrz   r[   )r-   rn   ro   r3   ArrowInvalidr=   r   )r   r   s     r   test_broken_integersr     sC    M?D	r.G	H
T, 
I	H	Hs   /A''
A5c                     [         R                  " S5      [         R                  " S5      /n [        R                  " U 5      n[        R                  " SS/SS9nUR                  U5      (       d   e[         R                  " S5      [         R                  " S5      /n [        R                  " U 5      n[        R                  " SS/SS9nUR                  U5      (       d   eg )NrX   g      ?float64r[   float32)r   r   r   r3   r=   r>   r   )r   rK   r8   s      r   test_numpy_scalars_mixed_typer     s     HHRL"**S/*D
((4.CxxS		2H::h GGBKC)D
((4.CxxS		2H::hr   z)Type inference for uint64 not implemented)reasonro   c                     S[         R                  " [         R                  5      R                  /n [        R
                  " U [        R                  " 5       S9n[        R
                  " [         R
                  " U SS95      nUR                  U5      (       d   e[        R
                  " U 5      nUR                  U5      (       d   eg )Nr   r[   r   r   )r   r   r   r   r3   r=   r>   )r   rK   r8   arr_inferreds       r   test_uint64_max_convertr     s     rxx		"&&'D
((4biik
*CxxX67H::h88D>Lx((((r   bits)          @   c                    [        [        SU -  5      " 5       n[        R                  " [        [        R
                  45         [        R                  " SU S-
  -  /U5        S S S 5        [        R                  " [        [        R
                  45         [        R                  " SU S-
  -  * S-
  /U5        S S S 5        g ! , (       d  f       Nd= f! , (       d  f       g = f)Nzint%dr;   r0   r   r3   rn   ro   OverflowErrorr   r=   r   r7   s     r   test_signed_integer_overflowr     s    	Wt^	$	&B	r7	8
!q/"B' 
9	r7	8
1?"Q&', 
9	8 
9	8	8	8s   C #C 
C
Cc                    [        [        SU -  5      " 5       n[        R                  " [        [        R
                  45         [        R                  " SU -  /U5        S S S 5        [        R                  " [        [        R
                  45         [        R                  " S/U5        S S S 5        g ! , (       d  f       NZ= f! , (       d  f       g = f)Nzuint%dr;   r   r   s     r   test_unsigned_integer_overflowr     s    	X_	%	'B	r7	8
!t)b! 
9	r7	8
"r 
9	8 
9	8	8	8s   B3C3
C
Ctypc                     [         R                  " [        R                  5         [        R                  " U " S/5      US9  S S S 5        g ! , (       d  f       g = f)N1r[   )rn   ro   r3   r   r=   )r   r  s     r   test_integer_from_string_errorr    s4     
r	'
cU#& 
(	'	's   A
Ac                  2   / SQn / SQn[         R                  " XS9n[         R                  " / SQ5      nUR                  U5      (       d   e[        R                  " [
        5         [         R                  " XSS  S9  S S S 5        g ! , (       d  f       g = f)N)r0   r;   r<   r      )FTFFT)mask)r0   Nr<   r   Nr0   )r3   r=   r>   rn   ro   r   )r   r  resultr8   s       r   test_convert_with_maskr	    sj    D,DXXd&Fxx-.H=="""" 
z	"
H% 
#	"	"s   'B
Bc                      SS K n U R                  5         [        R                  " 5       n[        R                  " / SQ5        U R                  5         [        R                  " 5       U:X  d   eg )Nr   r   )gccollectr3   total_allocated_bytesr=   )r  bytes_befores     r   test_garbage_collectionr    sK     JJL++-LHH JJL##%555r   c                      / SQn [         R                  " U 5      n[        U5      S:X  d   eUR                  S:X  d   eUR                  [         R
                  " 5       :X  d   eUR                  5       U :X  d   eg )N      ?      ?N      @NNr   r<   )r3   r=   rE   rF   rG   r   rI   r   rK   s     r   test_sequence_doubler    sb    +D
((4.Cs8q==>>Q88rzz|###==?d"""r   c                  4   / SQn [         R                  " U 5      n/ SQn[         R                  " U5      nUR                  U5      (       d   e/ SQn[         R                  " U5      n/ SQn[         R                  " U5      nUR                  U5      (       d   eg )Nr  )r  r0   Nr  NN)r0   r  Nr  NN)r  r  Nr  NNr   )r   rK   data2rA   data3arr3data4arr4s           r   $test_double_auto_coerce_from_integerr  "  st    +D
((4.C+E88E?D::d+E88E?D,E88E?D;;tr   c                  p   / SQn / SQn/ SQn[         R                  " U 5        [        R                  " [        5         [         R                  " U5        S S S 5        [        R                  " [        5         [         R                  " U5        S S S 5        g ! , (       d  f       NH= f! , (       d  f       g = f)N)r  r0   r;   Nl          l       )r  r0   r;   Nl         )r  r0   r;   Nl      )r3   r=   rn   ro   r   )valid_valuesinvalid_valuesinvalid_values2s      r   .test_double_integer_coerce_representable_ranger"  5  sr    9L5N9O HH\ 
z	"
  
# 
z	"
! 
#	" 
#	" 
#	"s   B6B'
B$'
B5c                  "   [         R                  n U " S5      SS/nU " S5      S/nU " S5      S/n[        R                  " U[        R                  " 5       S9  [        R
                  " [        5         [        R                  " U[        R                  " 5       S9  S S S 5        [        R
                  " [        5         [        R                  " U[        R                  " 5       S9  S S S 5        g ! , (       d  f       NZ= f! , (       d  f       g = f)Nr  i   i   i  ir[   )r   r   r3   r=   rn   ro   r   )f32r  r   r!  s       r   /test_float32_integer_coerce_representable_ranger%  E  s    
**CHgz2L#h.N3x!12O HH\

- 
z	"
bjjl3 
# 
z	"
rzz|4 
#	" 
#	" 
#	"s   2)C/=)D /
C= 
Dc                     [         R                  " [        SS9   [        R                  " SS/[        R
                  " 5       S9  S S S 5        [         R                  " [        SS9   [        R                  " SS/[        R                  " 5       S9  S S S 5        [         R                  " [        SS9   [        R                  " SS/5        S S S 5        g ! , (       d  f       N= f! , (       d  f       NZ= f! , (       d  f       g = f)	Nztried to convert to booleanrz   Tfoor[   ztried to convert to float32r  ztried to convert to double)rn   ro   r   r3   r=   r   r   r!   r   r   test_mixed_sequence_errorsr(  W  s    	z)F	G
$RXXZ0 
H 
z)F	G
#uBJJL1 
H 
z)E	F
#u 
G	F 
H	G 
H	G 
G	Fs#   +C&+C%2C6
C"%
C36
Dznp_str_scalar,pa_typefloat16r   r   r   TFc                 r   [        [        U5      nU" S5      U" S5      S U" S5      S [        R                  /n[        R                  " U " U5      US9n[        U5      S:X  d   eU(       a  UR                  S:X  d   eOUR                  S:X  d   eU(       a  UR                  U:X  d   eO%UR                  [        R                  " 5       :X  d   eUR                  5       S S US S :X  d   eU(       a  UR                  5       S	   b   eg [        R                  " UR                  5       S	   5      (       d   eg )
Nr  r0   r  r   r   r<   r;   r   r  )r   r   r   r3   r=   rE   rF   rG   r   rI   isnan)r   r   r   r   r   r   rK   s          r   test_sequence_numpy_doubler-  b  s    M*IcNIaL$	#bffMD
((3t9+
6Cs8q==~~"""~~""" xx7"""xx2::<'''==?2A$r(***}}q!)))xx*++++r   c                    [         R                  [        4 GH#  n[         R                  " U" SS/5      U" / SQ5      U" [         R                  /5      S /[        S9n[
        R                  " X S9n[        U5      S:X  d   eUR                  S:X  d   eUR                  [
        R                  " [
        R                  " 5       5      :X  d   eU (       a!  UR                  5       SS// SQS /S /:X  d   eM  [         R                  R                  UR                  5       SS// SQ[         R                  /S /5        GM&     g )Nr         @)r  r/        @r   r+  r   r0   )r   r=   r   r   r   r3   rE   rF   rG   r   r   rI   testingassert_equal)r   r   r   rK   s       r    test_ndarray_nested_numpy_doubler3    s     hh%	xxr2hl#rvvh	

  hht53x1}}~~"""xx288BJJL1111==?Sz?TFD&QQQQJJ##CMMO&("X|bffXt$LN &r   c                  x   [         R                  " S[        S9n [         R                  " SS/[         R                  S9[         R                  " SS/[         R                  S9/U S S & [         R                  " S[        S9nSS/US'   SS/US'   [
        R                  " [
        R                  " [
        R                  " 5       5      5      n[
        R                  " U /5      U:X  d   e[
        R                  " X/5      n[
        R                  " SS/SS//SS/SS///US	9nUR                  U5      (       d   e[         R                  " S[        S9n [         R                  " S/5      [         R                  " S/5      /U S S & [
        R                  " X /5      nUR                  5       S/S//S/S///:X  d   eg )
Nr;   r   r0   r<   r   r   r  r   r[   )
r   r   r   r=   r   r3   r   
infer_typer>   rI   rK   rA   expected_typer  r8   s        r   #test_nested_ndarray_in_object_arrayr8    sv    ((1F
#Chh1vRXX.hh1vRXX.0CF 88AV$D!fDG!fDGHHRXXbhhj12M==#=000XXsk"Fxx1a&1a&)QFQF+;<*,H =="""" ((1F
#ChhsmRXXqc]+CFXXsj!FA3*sQCj!9999r   z?Type inference for multidimensional ndarray not yet implementedc                      [         R                  " SS/SS//[         R                  S9n [         R                  " SS/SS//[         R                  S9n[        R                  " [        R                  " [        R                  " 5       5      5      n[        R
                  " U /5      U:X  d   e[        R                  " X/5      n[        R                  " SS/SS//SS/SS///US9nUR                  U5      (       d   eg )	Nr0   r;   r<   r   r   r  r   r[   )r   r=   r   r3   r   r5  r>   r6  s        r   ,test_multidimensional_ndarray_as_nested_listr:    s     ((QFQF#288
4C88aVaV$BHH5DHHRXXbhhj12M==#=000XXsk"Fxx1a&1a&)QFQF+;<*,H ==""""r   )r   
value_typer0   r;   N)r0   r/  r0  Nr0   sr;   usrX   )seconds   a   b)s   aaas   bbbs   cccr<   )r@  rA     cabcrD  rE  r  rD  rE  c                     [         R                  " U5      n[        R                  " U [        S9n[         R                  " U/US9nUR
                  R                  U5      (       d   eUR                  5       U /:X  d   eg Nr   r[   )r3   r   r   r=   r   rG   r>   rI   )r   r;  r7   ndarrayrK   s        r   #test_list_array_from_object_ndarrayrK    sc    . 
*	Bhht6*G
((G92
&C88??2==?tf$$$r   r   c                 v   [         R                  " [        U 5      [        S9nU  Vs/ s H  n[         R                  " U[        S9PM     snUS S & [
        R                  " U5      n[
        R                  " U/US9nUR                  R                  U5      (       d   eUR                  5       U /:X  d   eg s  snf rI  )
r   r   rE   r   r=   r3   r   rG   r>   rI   )r   r;  rJ  itemr7   rK   s         r   *test_nested_list_array_from_object_ndarrayrN    s     hhs4y/G;?@44"((4v.4@GAJ	*	B
((G92
&C88??2==?tf$$$ As   #B6c                  N   [         R                  " [        5         [        R                  " [        S5      S/5        S S S 5        [        R                  " [        S5      S/SS9n [        R                  " S S/5      nU R                  U5      (       d   eg ! , (       d  f       N_= f)Nr   strTr+  )rn   ro   r   r3   r=   floatr>   )rK   r8   s     r   !test_array_ignore_nan_from_pandasrR    su     
z	"
%,&' 
# ((E%L%(d
;Cxxu&H::h 
#	"s   "B
B$c                     [         R                  " / SQSS9S [         R                  " / SQSS9/n [        R                  " U 5      n[        R                  " / SQS / SQ/[        R                  " [        R                  " 5       5      S9nUR                  U5      (       d   e[        R                  " [        R                  " 5       5      n[        R                  " XS9nUR                  U5      nUR                  U5      (       d   eg )Nr   r   r   )r   r  r   r
   r[   )r   r=   r3   r   r   r>   r
   cast)r   rK   r8   t2rA   	expected2s         r   $test_nested_ndarray_different_dtypesrW    s     	'*
(+D ((4.CxxD)4XXbhhj13H::h	"))+	B88D"Db!I;;y!!!!r   c                      / SQn [         R                  " U 5      n[        U5      S:X  d   eUR                  S:X  d   eUR                  [         R
                  " 5       :X  d   eUR                  5       U :X  d   eg )Nr'  barN   mañanar   r0   )r3   r=   rE   rF   rG   stringrI   r  s     r   test_sequence_unicoder]    sb    *D
((4.Cs8q==>>Q88ryy{"""==?d"""r   r7   c                     / SQn[         R                  " XS9n[        U5      S:X  d   eUR                  S:X  d   eUR                  U :X  d   eUR                  5       U:X  d   eg )NrY  r[   r   r0   )r3   r=   rE   rF   rG   rI   )r7   r   rK   s      r   #test_sequence_unicode_explicit_typer_    s[    *D
((4
!Cs8q==>>Q88r>>==?d"""r   c                 n   SS[        S5      /n/ SQn/ SQn[        R                  " U5      n[        R                  " U[        R                  " 5       S9nUR                  [        R                  " 5       :X  d   eUR                  U5      (       d   e[        R                  " X S9n[        R                  " X0S9nUR                  U :X  d   eUR                  U5      (       d   e[        R                  " X!S9n[        R                  " XAS9nUR                  U:X  d   eUR                  U5      (       d   eg )Nqux   foo   barz)s   quxrb  rc  )ra  r'  barzr[   )	bytearrayr3   r=   binaryrG   r>   )binary_typestring_typer   b_valuesu_valuesrK   r8   s          r   check_array_mixed_unicode_bytesrk  %  s    VYw/0F(H%H
((6
Cxxryy{3H88ryy{"""::h
((6
,Cxx3H88{"""::h
((6
,Cxx3H88{"""::hr   c                  0   [        [        R                  " 5       [        R                  " 5       5        [        [        R                  " 5       [        R
                  " 5       5        [        [        R                  " 5       [        R                  " 5       5        g r   )rk  r3   rf  r\  large_binarylarge_stringbinary_viewstring_viewr!   r   r   test_array_mixed_unicode_bytesrq  :  sH    #BIIK=#BOO$5r7HI#BNN$4bnn6FGr   c                    Sn[         R                  " S[        U5      -  5      nU/U-  n[        R                  " X0S9n[        U[        R                  5      (       d   eUR                  U :X  d   e[        U5      U:X  d   eg )Nsh  0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz       r[   )mathceilrE   r3   r=   
isinstanceArrayrG   )r7   r=  nrepeatsr   rK   s        r   test_large_binary_arrayry  @  sr     	5Ayy)s1v-.H3>D
((4
!Cc288$$$$88r>>s8xr   c                 j   Sn[         R                  " S[        U5      -  5      n[        R                  " SX-  S S/U S9n[        U[        R                  5      (       d   eUR                  U :X  d   e[        U5      S:X  d   eUS   R                  5       n[        U5      [        U5      U-  :X  d   eg )N$   0123456789abcdefghijklmnopqrstuvwxyzrs  rb     barr[   r   r0   )	rt  ru  rE   r3   r=   rv  rw  rG   	as_buffer)r7   r=  rx  rK   bufs        r   test_large_binary_valuer  M  s    
 	0Ayy)s1v-.H
((FAL$7b
ACc288$$$$88r>>s8q==
a&


Cs8s1v((((r   c                     Sn[         R                  " S[        U5      -  5      n[        R                  " [
        R                  5         [
        R                  " SX-  S S/U S9  S S S 5        g ! , (       d  f       g = f)Nr{  rs  rb  r|  r[   )rt  ru  rE   rn   ro   r3   ArrowCapacityErrorr=   )r7   r=  rx  s      r   test_string_too_larger  \  sW     	0Ayy)s1v-.H	r,,	-
&!,f5B? 
.	-	-s   	A..
A<c                     Sn S[        S5      [        S5      S S S2   U R                  S5      [        S5      S /nS [        R                  " 5       [        R
                  " 5       [        R                  " 5       4 H  n[        R                  " XS9n[        U5      S	:X  d   eUR                  S
:X  d   eUR                  U:X  d  [        R                  " 5       (       d   eUR                  5       SSSU SS /:X  a  M   e   g )Ns   mañanarb  s   dadas   d-a-t-ar;   zutf-8r|  r[   r   r0   s   data)
memoryviewdecodere  r3   rf  rm  ro  r=   rE   rF   rG   rI   )u1r   r7   rK   s       r   test_sequence_bytesr  f  s    	Bwz"3Q3'IIgfD RYY["//"3R^^5EFhht%3x1}}~~"""xx2~,,}}67GR"NNNN Gr   c                 T   / SQn[         R                  " XS9nUR                  U :X  d   eUS   R                  5       S:X  d   eSR	                  S5      n[
        R                  " [         R                  5         [         R                  " U/U S9  S S S 5        g ! , (       d  f       g = f)N)rb  Nr|  r[   r   r'  r[  z	utf-16-le)r3   r=   rG   as_pyencodern   ro   r   )r7   r   rK   vals       r   test_sequence_utf8_to_unicoder  w  s}     "D
((4
!C88r>>q6<<>U""" 

[
)C	r	'
#R  
(	'	's   9B
B'c                  6   SS [        S5      S/n [        R                  " U [        R                  " S5      S9n[	        U5      S:X  d   eUR
                  S:X  d   eUR                  [        R                  " S5      :X  d   eUR                  5       / SQ:X  d   eg )N   foof   barb   2346r   r[   r0   )r  Nr  r  )re  r3   r=   rf  rE   rF   rG   rI   r  s     r   test_sequence_fixed_size_bytesr    s~    T9W-w7D
((4biil
+Cs8q==>>Q88ryy|###==?????r   c                      / SQn [         R                  " [        R                  5         [        R                  " U [        R
                  " S5      S9  S S S 5        g ! , (       d  f       g = f)N)rb  Nr  r  r   r[   )rn   ro   r3   r   r=   rf  r   s    r   5test_fixed_size_bytes_does_not_accept_varying_lengthsr    s9    +D	r	'
BIIaL) 
(	'	's   *A
A*c                      S/n [        U S   5      S:X  d   e[        R                  " S5      n[        R                  " XS9nUR	                  5       U :X  d   eg )Ns   h    Ar      r[   )rE   r3   rf  r=   rI   )r   r7   rK   s      r   #test_fixed_size_binary_length_checkr    sO    78DtAw<2	2B
((4
!C==?d"""r   c                     [         R                  " SSS5      S [         R                  " SSS5      [         R                  " SSS5      /n [        R                  " U 5      n[	        U5      S:X  d   eUR
                  [        R                  " 5       :X  d   eUR                  S:X  d   eUS   R                  5       [         R                  " SSS5      :X  d   eUS   R                  5       b   eUS   R                  5       [         R                  " SSS5      :X  d   eUS	   R                  5       [         R                  " SSS5      :X  d   eg )
N  r0   i  i  r;      r   r   r<   )	datetimedater3   r=   rE   rG   date32rF   r  r  s     r   test_sequence_dater    s   MM$1%tX]]4A-FMM$2&(D
((4.Cs8q==88ryy{""">>Qq6<<>X]]4A6666q6<<>!!!q6<<>X]]4A6666q6<<>X]]4B7777r   inputi*  l    ,Uqc                    U u  p[         R                  " SSS5      S /n[        R                  " X1S9n[        R                  " X!S9nXE4 H}  n[	        U5      S:X  d   eUR
                  U:X  d   eUR                  S:X  d   eUS   R                  5       [         R                  " SSS5      :X  d   eUS   R                  5       c  M}   e   g )Nr  r0   r[   r;   r   )r  r  r3   r=   rE   rG   rF   r  )r  t	ex_valuesr   rK   rA   rh   s          r   test_sequence_explicit_typesr    s     LAMM$1%t,D
((4
 C88I&D[1v{{vv{{||q   tzz|x}}T1a8888tzz|### r   c                      SS /n [         R                  " [        [        R                  45         [        R
                  " U [        R                  " 5       S9  S S S 5        g ! , (       d  f       g = f)Nl        r[   )rn   ro   r   r3   ArrowExceptionr=   r  )r  s    r   test_date32_overflowr    sB    DME	r'8'89	:
RYY[) 
;	:	:s   )A!!
A/)	time_typeunitint_typemsnsc           
      B  ^ U4S jnU4S jn[         R                  " SSSS5      [         R                  " SSSS	5      S [         R                  " S
SSS5      [         R                  " SSSS5      /nU " T5      n[        R                  " XVS9n[	        U5      S:X  d   eUR
                  U:X  d   eUR                  S
:X  d   eUR                  U5      n[        [        X55      5      n	UR                  5       U	:X  d   eUS   R                  5       U" US   5      :X  d   eUS
   R                  5       U" US
   5      :X  d   eUS   R                  5       b   eUS   R                  5       U" US   5      :X  d   eUS   R                  5       U" US   5      :X  d   eSS jn
g )Nc                    > / SQnSUR                  T5      S-  -  nU c  g U R                  S-  U R                  S-  -   U R                  -   U R                  S-  -   n[        X2-  5      $ )Nr=  r  r>  r  rX   r<   i  <   gư>)indexhourminutesecondmicrosecondint)r  units
multiplierr?  r  s       r   expected_integer_value@test_sequence_time_with_timezone.<locals>.expected_integer_value  sy     (%++d+a/0
9FFTMHHrMHH MMF"# 	 7'((r   c                 |   > TS:X  a  U R                  SS9$ TS:X  a  U R                  U R                  S-  S-  S9$ U $ )Nr=  r   r  r    )replacer  )r  r  s    r   expected_time_value=test_sequence_time_with_timezone.<locals>.expected_time_value  sH     3;999++T\99!--4*?4)G9HHHr   r      "   @ r  r   r  r0      8   雙 rX   í r[   r;   r<   r   c                 V    [         R                  " XS9n[         R                  " U5      $ )N)hoursminutes)r  	timedeltatimezone)r  r  offsets      r   tz,test_sequence_time_with_timezone.<locals>.tz  s#    ##%A  ((r   )r   )r  timer3   r=   rE   rG   rF   rT  r   r   rI   r  )r  r  r  r  r  r   r7   rK   r   r8   r  s    `         r    test_sequence_time_with_timezoner    s   ) 	aR(aAt$aR(b"a(D 
4B
((4
!Cs8q==88r>>>>Q XXhFC.56H))) q6<<>0a9999q6<<>0a9999q6<<>!!!q6<<>0a9999q6<<>0a9999)r   c                     [         R                   " SSSSSSS5      S [         R                   " SSSS	SS
S5      [         R                   " SSSSSSS5      /n [        R                  " U 5      n[        U5      S:X  d   eUR                  [        R
                  " S5      :X  d   eUR                  S:X  d   eUS   R                  5       [         R                   " SSSSSSS5      :X  d   eUS   R                  5       b   eUS   R                  5       [         R                   " SSSS	SS
S5      :X  d   eUS   R                  5       [         R                   " SSSSSSS5      :X  d   eg N        r0   r  r  r    r  r  r    r   r  .   9   r  r   r>  r   r;   r<   )r  r3   r=   rE   rG   	timestamprF   r  r  s     r   test_sequence_timestampr    sd   $2q"b&9$2r2r6:$2q"b&9	D ((4.Cs8q==88r||D))))>>Qq6<<>X..tQA/12v? ? ? ?q6<<>!!!q6<<>X..tQB/12v? ? ? ?q6<<>X..tQA/12v? ? ? ?r   r  )NUTCz	Etc/GMT-1zEurope/Budapestr  r  c                 >  ^ ^^ [         R                  " S5      mU4S jnUU U4S jn[        R                  " SSSSSS	S
5      TR                  R	                  [        R                  " SSSSSSS5      5      S TR                  S5      R	                  [        R                  " SSSSS	SS5      5      TR                  S5      R	                  [        R                  " SSSSSSS5      5      /nTR                  R	                  US   5      US   S US   R                  TR                  5      US   R                  TR                  5      /n[        R                  " TT S9n[        R                  " XFS9n[        U5      S:X  d   eUR                  U:X  d   eUR                  S:X  d   eUR                  S5      n[        [        X%5      5      n	UR!                  5       U	:X  d   e[#        [        U5      5       H#  n
Xz   R%                  5       U" XZ   5      :X  a  M#   e   g )Npytzc                    > / SQnSUR                  T5      S-  -  nU c  g [        R                  " [        U R	                  5       5      5      n[        X2-  5      $ )Nr  rX   r<   )r  decimalDecimalrP  r  r  )dtr  r  tsr  s       r   r  Etest_sequence_timestamp_with_timezone.<locals>.expected_integer_value%  sP    '%++d+a/0
: R\\^!45Br''r   c                    > U c  g TS:X  a  U R                  SS9n O%TS:X  a  U R                  U R                  S-  S-  S9n Tc  U R                  S S9$ U R                  TR                  T5      5      $ )Nr=  r   r  r  r  tzinfo)r  r  
astimezoner  )r  r  r  r  s    r   expected_datetime_valueFtest_sequence_timestamp_with_timezone.<locals>.expected_datetime_value/  sz    :3;*BT\4)?4(GHB ::T:** ==x!899r   r  r  r  r   r  r  r    r0   r  r   r  
US/Easternr  r  r  r  Europe/Moscowr  r  r<   r   r  r[   r   )rn   importorskipr  utclocalizer  r  r3   r  r=   rE   rG   rF   rT  r   r   rI   rS   r  )r  r  r  r  r   utcdatar7   rK   r   r8   ir  s   ``         @r   %test_sequence_timestamp_with_timezoner    s    v&D(:$ 	$2q"b&9dAq!Q48	
 	l#,,dAr2r2v>	
 	o&//dAr1aF;	
D 	$q'"QQ488$Q488$G 
dx	(B
((4
!Cs8q==88r>>>>Q XXgFC.89H))) 3s8_v||~!8!DDDD r   c                    [         R                  " S5        SS KnU R                  SS5        [        R                  " SSSSS	S
S5      UR
                  R                  [        R                  " SSSSSSS5      5      UR                  S5      R                  [        R                  " SSSSS
SS5      5      UR                  S5      R                  [        R                  " SSSSSSS5      5      /nU Vs/ s H  oDR                  S S9PM     nnUb1  UR                  U5      nU Vs/ s H  oFR                  U5      PM     nn[        R                  " SUS9n[        R                  " X7S9nUR                  5       U:X  d   eg s  snf s  snf )Nr  r   PYARROW_IGNORE_TIMEZONEr  r  r  r  r   r  r  r  r  r0   r  r  r  r  r  r  r  r  r  r  r  r>  r  r[   )rn   r  r  setenvr  r  r  r  r  fromutcr3   r  r=   rI   )	monkeypatchr  r  r   r  r8   r  r7   rK   s	            r   1test_pyarrow_ignore_timezone_environment_variabler  e  sc    0#6$2q"b&9dAq!Q48	
 	l#,,dAr2r2v>	
 	o&//dAr1aF;	
D 377$B

$
'$H7x(19:2NN2&:	dx	(B
((4
!C==?h&&& 8 ;s   4F&Fc                     [         R                  " S5        SS Kn [        R                  " SSSSSSS	5      U R                  R                  [        R                  " S
SSSSSS5      5      S U R                  S5      R                  [        R                  " SSSSSSS5      5      U R                  S5      R                  [        R                  " SSSSSSS5      5      /n[        R                  " SS S9[        R                  " SSS9[        R                  " SS S9[        R                  " SSS9[        R                  " SSS9/n[        X5       H3  u  p4U/U-   n[        R                  " U5      nUR                  U:X  a  M3   e   g )Nr  r   r  r  r  r   r  r  r  r  r0   r  r  r  r  r  r  r  r  r  r  r>  r  r  )rn   r  r  r  r  r  r  r3   r  zipr=   rG   )r  r   r8   r  r7  	prependedrK   s          r   /test_sequence_timestamp_with_timezone_inferencer    sY   
 	$2q"b&9dAq!Q48	
 	l#,,dAr2r2v>	
 	o&//dAr1aF;	
D 	Td#
Te$
Td#
Tl+
To.H !0D4K	hhy!xx=((( 1r   c                     [         R                  " S5        SS Kn [        R                  " SSSSSSS	5      [        R                  " S
SSSSSS[        R                  R
                  S9S [        R                  " SSSSSSSU R                  SS9S9[        R                  " SSSSSSSU R                  SS9S9/n[        R                  " SS S9[        R                  " SSS9[        R                  " SS S9[        R                  " SSS9[        R                  " SSS9/n[        X5       H3  u  p4U/U-   n[        R                  " U5      nUR                  U:X  a  M3   e   g )Nzoneinfor   r  r  r  r   r  r  r  r  r0   r  r  r  r  r  r  r  r  )rv   r  r  r  r>  r  r  )rn   r  r   r  r  r  ZoneInfor3   r  r  r=   rG   )r   r   r8   r  r7  r  rK   s          r   8test_sequence_timestamp_with_zoneinfo_timezone_inferencer    sN   

# 	$2q"b&9$1aAt!)!2!2!6!6	8$2r2r6!)!2!2|!2!D	F$2q!Q!)!2!2!2!G	I	D 	Td#
Te$
Td#
Tl+
To.H !0D4K	hhy!xx=((( 1r   c                     [         R                  " S5        SS Kn SS KnUR	                  SU R                  S5      SS9[        R                  " SSS	S
SSS5      U R                  R                  [        R                  " SSSSSSS5      5      S /nUS   R                  U R                  5      U R                  R                  US   5      US   R                  U R                  5      S /n[        R                  " U5      nUR                  [        R                  " SSS9:X  d   eUR                  S5      nU Vs/ s H'  of(       a  [        UR                  5       S-  5      OS PM)     nnUR!                  5       U:X  d   eg s  snf )Nr  r   l   {FK| r  r  )r  r  r  r  r  r   r  r  r  r  r0   r  r  r;   r>  r  r   i@B )rn   r  r  pandas	Timestampr  r  r  r  r  r3   r=   rG   r  rT  r  rI   )r  pdr   r  rK   r   r  r8   s           r   ?test_sequence_timestamp_from_mixed_builtin_and_pandas_datetimesr    s\   
 	(T]]<-H 	 	 $2q"b&9dAq!Q48	
 	D 	Q488$$q'"Q488$	G ((4.C88r||D\::::XXgFFMNgrBLLNU*+t;gHN))) Os   :.Fc                  X   [         R                   " SSS5      /n [        R                  " [        SS9   [        R
                  " U [        R                  " S5      S9  S S S 5        [        R
                  " U [        R                  " S5      S9nUR                  5       U :X  d   e[         R                  " [         R                  " S	S
95      n[         R                   " SSSSUS9/n [        R                  " [        SS9   [        R
                  " U [        R                  " S5      S9  S S S 5        [        R
                  " U [        R                  " S5      S9nUR                  5       S   [         R                   " SSS5      :X  d   eg ! , (       d  f       GN3= f! , (       d  f       Ny= f)Ni  r   r  zout of boundsrz   r  r[   r>  r   )r  r  r  r  r   )
r  rn   ro   r   r3   r=   r  rI   r  r  )r   rK   r  s      r   0test_sequence_timestamp_out_of_bounds_nanosecondr	    s+    dAr*+D	z	9
BLL./ 
: ((4bll40
1C==?d""" 
		8--B7	8BdAr2b9:D	z	9
BLL./ 
: ((4bll40
1C==?1!2!24B!???? 
:	9 
:	9s   *F	>*F	
F
F)c                  @   [         R                  " [        R                  " SSSSSSS5      5      S [         R                  " [        R                  " SSSS	SS
S5      5      [         R                  " [        R                  " SSSSSSS5      5      /n [        R                  " U 5      n[        U5      S:X  d   eUR                  [        R                  " S5      :X  d   eUR                  S:X  d   eUS   R                  5       [        R                  " SSSSSSS5      :X  d   eUS   R                  5       b   eUS   R                  5       [        R                  " SSSS	SS
S5      :X  d   eUS   R                  5       [        R                  " SSSSSSS5      :X  d   eg r  )
r   
datetime64r  r3   r=   rE   rG   r  rF   r  r  s     r   test_sequence_numpy_timestampr    s    	h''aQBGH
h''aRRHI
h''aQBGH	D ((4.Cs8q==88r||D))))>>Qq6<<>X..tQA/12v? ? ? ?q6<<>!!!q6<<>X..tQB/12v? ? ? ?q6<<>X..tQA/12v? ? ? ?r   c                       \ rS rSrSrg)MyDatei
  r!   Nr   r   r   r   r    r!   r   r   r  r  
      r   r  c                       \ rS rSrSrg)
MyDatetimei  r!   Nr  r!   r   r   r  r    r  r   r  c                       \ rS rSrSrg)MyTimedeltai  r!   Nr  r!   r   r   r  r    r  r   r  c            
         [        SSS5      /n [        R                  " 5       n[        R                  " XS9n[	        U5      S:X  d   eUR
                  U:X  d   eUS   R                  5       [        R                  " SSS5      :X  d   e[        SSSSSSS	5      /n [        R                  " S
5      n[        R                  " S5      n[        R                  " S5      n[        R                  " XS9n[	        U5      S:X  d   eUR
                  U:X  d   eUS   R                  5       [        R                  " SSSSSSS5      :X  d   e[        R                  " XS9n[	        U5      S:X  d   eUR
                  U:X  d   eUS   R                  5       [        R                  " SSSSSSS5      :X  d   e[        R                  " XS9n[	        U5      S:X  d   eUR
                  U:X  d   eUS   R                  5       [        R                  " SSSSSSS	5      :X  d   e[        SSS5      /n [        R                  " S
5      n[        R                  " S5      n[        R                  " S5      n[        R                  " U 5      n[	        U5      S:X  d   eUR
                  U:X  d   eUS   R                  5       [        R                  " SSS5      :X  d   e[        R                  " XS9n[	        U5      S:X  d   eUR
                  U:X  d   eUS   R                  5       [        R                  " SS5      :X  d   e[        R                  " XS9n[	        U5      S:X  d   eUR
                  U:X  d   eUS   R                  5       [        R                  " SSS5      :X  d   e[        R                  " XS9n[	        U5      S:X  d   eUR
                  U:X  d   eUS   R                  5       [        R                  " SSS5      :X  d   eg )Nr  r  r  r[   r0   r   r  r  r  r=  r  r>  ix {   i  i  r  )r  r3   r  r=   rE   rG   r  r  r  r  r  r  durationr  )	r   	date_typearr_dater=  r  r>  arr_sarr_msarr_uss	            r   test_datetime_subclassingr    s   tQD 		Ixx-Hx=A==I%%%A;(--a"<<<< 	4B2r62D 	SA	d	B	d	BHHT"Eu:??::??8>>x00q"a13R < < < < XXd$Fv;!;;"!9?? 1 1$2q24b&!B B B B XXd$Fv;!;;"!9?? 1 1$2q24b&!B B B B 	Cd#D 	CA	T	B	T	BHHTNEu:??::8>>x11#sDAAAAHHT"Eu:??::??8>>x11#s;;;;XXd$Fv;!;;"!9?? 2 23T BBBBXXd$Fv;!;;"!9?? 2 23T BBBBr   z)pandas required for nanosecond conversion)r   c                  t   [         R                   " SSSSSSS5      /[        SSSSSSS5      //n U  H  n[        R                  " S5      n[        R                  " XS	9n[        U5      S:X  d   eUR                  U:X  d   eUS
   R                  5       [         R                   " SSSSSSS5      :X  a  M   e   g )Nr  r  r  r0   r  r  r  r  r[   r   )r  r  r3   r  r=   rE   rG   r  )inputsr   r  arr_nss       r   #test_sequence_timestamp_nanosecondsr!  W  s     
		4B2r6	:;	D!RBF	34F
 \\$$(6{a{{b   ay H$5$5dAr168"f%F F 	F F r   c                  F   S/n [         R                  " S5      n[         R                  " S5      n[         R                  " S5      n[         R                  " XS9n[        U5      S:X  d   eUR                  U:X  d   e[        US   5      S:X  d   e[        US   5      S:X  d   e[         R                  " XS9n[        U5      S:X  d   eUR                  U:X  d   e[        US   R                  5       5      S	:X  d   e[        US   5      S
:X  d   e[         R                  " XS9n[        U5      S:X  d   eUR                  U:X  d   e[        US   R                  5       5      S:X  d   e[        US   5      S:X  d   e[        n " S S5      n[         R                  " S5      [         R                  " 5       [         R                  " 5       4 H>  n	[        R                  " U5         [         R                  " SU" 5       /U	S9  S S S 5        M@     g ! , (       d  f       MR  = f)Nr0   r=  r  r>  r[   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.001000)datetime.datetime(1970, 1, 1, 0, 0, 0, 1)1970-01-01 00:00:00.000001c                       \ rS rSrSrg)?test_sequence_timestamp_from_int_with_unit.<locals>.CustomClassi  r!   Nr  r!   r   r   CustomClassr&    s    r   r'  r  )r3   r  r=   rE   rG   reprrP  r  r|   r  date64rn   ro   )
r   r=  r  r>  r  r  r  expected_excr'  r7   s
             r   *test_sequence_timestamp_from_int_with_unitr+  h  s   3D
SA	d	B	d	BHHT"Eu:??::??a>:   uQx=1111XXd$Fv;!;;"q	!"6   vay>9999XXd$Fv;!;;"q	!"3   vay>9999L  ||D!299;		<]]<(HHa'b1 )( =((s   'H
H 	c                  T   SS K n S/n[        R                  " S5      n[        R                  " XS9n[	        U5      S:X  d   eUR
                  U:X  d   eUS   R                  5       n[        X@R                  5      (       d   e[        U5      S:X  d   e[        US   5      S:X  d   eg )Nr   r0   r  r[   z*Timestamp('1970-01-01 00:00:00.000000001')z1970-01-01 00:00:00.000000001)r  r3   r  r=   rE   rG   r  rv  r  r(  rP  )r  r   r  r   r  s        r   5test_sequence_timestamp_from_int_with_unit_nanosecondr-    s    
 3D	d	BXXd$Fv;!;;"AY__Ffll++++<4   vay><<<<r   c                  0   S/n [         R                  " S5      n[         R                  " XS9n[        U5      S:X  d   eUR                  U:X  d   e[
        R                  " [        SS9   US   R                  5         S S S 5        g ! , (       d  f       g = f)Nr0   r  r[   z&not safely convertible to microsecondsrz   r   )	r3   r  r=   rE   rG   rn   ro   r   r  )r   r  r   s      r   :test_sequence_timestamp_from_int_nanosecond_without_pandasr/    su    
 3D	d	BXXd$Fv;!;;"	z)Q	Rq	 
S	R	Rs   *B
Bc                     S/n [         R                  " S5      n[         R                  " XS9n[        U5      S:X  d   eUR                  U:X  d   eUS   R                  5       n[        U5      S:X  d   e[        US   5      S:X  d   eg )Nr  r  r[   r0   r   r#  r$  )r3   r  r=   rE   rG   r  r(  rP  )r   r  r   r  s       r   Dtest_sequence_timestamp_from_int_nanosecond_divisible_without_pandasr1    s    
 6D	d	BXXd$Fv;!;;"AY__F<3   vay>9999r   c                     [         R                  " SSS5      n [         R                  " SSS5      nU S U/n[        R                  " U5      n[	        U5      S:X  d   eUR
                  [        R                  " S5      :X  d   eUR                  S:X  d   eUS   R                  5       U :X  d   eUS   R                  5       b   eUS   R                  5       U:X  d   eg 	Nr;   i  r0   d   r  r<   r>  r   )	r  r  r3   r=   rE   rG   r  rF   r  td1td2r   rK   s       r   test_sequence_durationr8    s    


Qa
(C


QT
*CsD
((4.Cs8q==88r{{4((((>>Qq6<<>S   q6<<>!!!q6<<>S   r   c                     [         R                  " SSS5      n [         R                  " SSS5      n[        R                  " U 5      S [        R                  " U5      /n[        R
                  " U5      n[        U5      S:X  d   eUR                  [        R                  " S5      :X  d   eUR                  S:X  d   eUS   R                  5       U :X  d   eUS   R                  5       b   eUS   R                  5       U:X  d   eg r3  )r  r  r   timedelta64r3   r=   rE   rG   r  rF   r  r5  s       r    test_sequence_duration_np_scalarr;    s    


Qa
(C


QT
*CNN3r~~c':;D
((4.Cs8q==88r{{4((((>>Qq6<<>S   q6<<>!!!q6<<>S   r   c                    [         R                  " SSS5      /n[         R                  " SS5      [         R                  " SSS5      [         R                  " SSS5      [         R                  " SSS5      S.n[        R                  " U 5      n[        R                  " XS9n[        U5      S:X  d   eUR                  U:X  d   eUS   R                  5       X    :X  d   eg )	Nr<      i  r  r  r[   r0   r   )r  r  r3   r  r=   rE   rG   r  )r  r   r8   r7   r  s        r    test_sequence_duration_with_unitr>    s     	1b$'D ''2.((B5((B5((B57H
 
T	BHHT#Eu:??::8>>x~---r   c                     S/n[         R                  " U 5      n[         R                  " XS9n[        U5      S:X  d   eUR                  U:X  d   eUS   R
                  S:X  d   eg )Nr  r[   r0   r   )r3   r  r=   rE   rG   r'   )r  r   r7   rK   s       r   )test_sequence_duration_from_int_with_unitr@    s[    3D	T	B
((4
!Cs8q==88r>>q6<<1r   c                  ^   [         R                  " SSS5      n [         R                  " SS5      nU S /X//n[        R                  " U5      n[	        U5      S:X  d   eUR
                  [        R                  " [        R                  " S5      5      :X  d   eUR                  5       U:X  d   eg )Nr0   r  r4  r;   r>  )	r  r  r3   r=   rE   rG   r   r  rI   r5  s       r   #test_sequence_duration_nested_listsrB    s    


Q4
(C


Q
$C$K#$D
((4.Cs8q==88rxxD 12222==?d"""r   c                 r   [         R                  " SSS5      n[         R                  " SS5      nUS /X//n[        R                  " X0" [        R                  " S5      5      S9n[        U5      S:X  d   eUR                  U " [        R                  " S5      5      :X  d   eUR                  5       U:X  d   eg )Nr0   r  r4  r  r[   r;   )r  r  r3   r=   r  rE   rG   rI   )r   r6  r7  r   rK   s        r   6test_sequence_duration_nested_lists_with_explicit_typerD    s     

Q4
(C


Q
$C$K#$D
((4gbkk$&78
9Cs8q==88wr{{401111==?d"""r   c                     [         R                  " SSS5      n [         R                  " SS5      n[        R                  " U 5      S /[        R                  " U 5      [        R                  " U5      //n[        R
                  " U5      n[        U5      S:X  d   eUR                  [        R                  " [        R                  " S5      5      :X  d   eUR                  5       U S /X//:X  d   e[        R
                  " [        R                  " U 5      S /SS9[        R
                  " [        R                  " U 5      [        R                  " U5      /5      /n[        R
                  " U5      n[        U5      S:X  d   eUR                  [        R                  " [        R                  " S5      5      :X  d   eUR                  5       U S /X//:X  d   eg )Nr0   r  r4  r;   r>  ztimedelta64[us]r   )r  r  r   r:  r3   r=   rE   rG   r   r  rI   r5  s       r   )test_sequence_duration_nested_lists_numpyrF    sf   


Q4
(C


Q
$C^^C $'^^C ".."568D ((4.Cs8q==88rxxD 12222==?T{SJ7777HHbnnS)408IJHHbnnS)2>>#+>?@BD ((4.Cs8q==88rxxD 12222==?T{SJ7777r   c                  r   / SQn [         R                  " U 5      nUR                  [         R                  " 5       :X  d   eUR	                  5       U :X  d   eS/S/S /n [         R                  " U 5      nUR                  [         R
                  " [         R                  " 5       5      :X  d   eUR	                  5       U :X  d   eS// SQS //n [         R                  " U 5      nUR                  [         R
                  " [         R                  " 5       5      :X  d   eUR	                  5       U :X  d   eS S S/// SQS /S //n [         R                  " U 5      nUR                  [         R
                  " [         R
                  " [         R                  " 5       5      5      :X  d   eUR	                  5       U :X  d   e[         R                  [         R                  4n[        R                  " U5         [         R                  " SSS//5        S S S 5        [        R                  " U5         [         R                  " SS/ /5        S S S 5        [        R                  " U5         [         R                  " S/S/S S///5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N]= f! , (       d  f       g = f)Nr<  r0   r;   )r;   r<   r   )
r3   r=   rG   r   rI   r   r   ArrowTypeErrorrn   ro   )r   rK   
exceptionss      r   test_sequence_nesting_levelsrJ  5  s   D
((4.C88rxxz!!!==?d"""C!dD
((4.C88rxx
++++==?d"""CTF#D
((4.C88rxx
++++==?d"""D!9+	404&9D
((4.C88rxx 45555==?d"""//2#4#45J 
z	"
!Q 
# 
z	"
!Q 
# 
z	"
1#sTA3K() 
#	" 
#	" 
#	" 
#	"s$   -J&JJ(
J
J%(
J6c                      / SQn [         R                  " [        R                  5         [        R                  " U 5        S S S 5        g ! , (       d  f       g = f)N)rD  r0   r/  )rn   ro   r3   rH  r=   r  s    r   test_sequence_mixed_types_failsrL  W  s0    D	r((	)
 
*	)	)s   A		
Ac                      SSSS0SSS/n [         R                  " 5       n[        R                  " [        5         [         R
                  " XS9  S S S 5        g ! , (       d  f       g = f)	Nz-10z-5rD  r0   0510r[   )r3   r\  rn   ro   r|   r=   )r   rG   s     r   3test_sequence_mixed_types_with_specified_type_failsrQ  ]  sG    4#q3T2D99;D	y	!
! 
"	!	!s   A
A&c            	      D   [         R                  " S5      [         R                  " S5      /n [        R                  [        R                  [        R
                  [        R                  4 H2  n[        R                  " X" SSS9S9nUR                  5       U :X  a  M2   e   g )Nz1234.183z8094.234r  r<   	precisionscaler[   	r  r  r3   	decimal32	decimal64
decimal128
decimal256r=   rI   r   rG   rK   s      r   test_sequence_decimalr\  e  sm    OOJ')DEDr||R]]BMMJhht$!"<=}}$&&& Kr   c            	      &   [         R                  " S5      [         R                  " S5      /n [        R                  [        R                  [        R
                  4 H2  n[        R                  " X" SSS9S9nUR                  5       U :X  a  M2   e   g )Nz1234234983.183z80943244.234r  r<   rS  r[   r  r  r3   rX  rY  rZ  r=   rI   r[  s      r   *test_sequence_decimal_different_precisionsr_  l  sk    ()7??>+JD r}}bmm<hht$1"=>}}$&&& =r   c                  $   [         R                  " S5      [         R                  " S5      /n [        R                  [        R                  [        R
                  4 H1  n[        R                  " X" SS9S9nUR                  5       U :X  a  M1   e   g )N
12342349838094324rX   )rT  r[   r^  r[  s      r   test_sequence_decimal_no_scalerc  u  sd    OOL)7??9+EFDr}}bmm<hht$"45}}$&&& =r   c            	      &   [         R                  " S5      [         R                  " S5      /n [        R                  [        R                  [        R
                  4 H2  n[        R                  " X" SSS9S9nUR                  5       U :X  a  M2   e   g )Nz-1234.234983z	-8.094324rX   r   rS  r[   r^  r[  s      r   test_sequence_decimal_negativere  |  sf    OON+W__[-IJDr}}bmm<hht$1"=>}}$&&& =r   c            	      D   [         R                  " S5      [         R                  " S5      /n [        R                  [        R                  [        R
                  [        R                  4 H2  n[        R                  " X" SSS9S9nUR                  5       U :X  a  M2   e   g )Nz	-.4234983z.0103943r  rS  r[   rV  r[  s      r   #test_sequence_decimal_no_whole_partrg    sm    OOK('//**EFDr||R]]BMMJhht$!"<=}}$&&& Kr   c            	         [         R                  " S5      [         R                  " S5      /n [        R                  [        R                  4 H2  n[        R
                  " X" SSS9S9nUR                  5       U :X  a  M2   e   g )Nz-394029506937548693.42983z32358695912932.01033r  r  rS  r[   r  r  r3   rY  rZ  r=   rI   r[  s      r   #test_sequence_decimal_large_integerrj    se    OO78OO235D.hht$1"=>}}$&&& /r   c            	         / SQn U  Vs/ s H  n[         R                  " U5      PM     nn[        R                  [        R                  4 H2  n[        R
                  " X" SSS9S9nUR                  5       U:X  a  M2   e   g s  snf )N)r   r0   lc&E(ON    r  rS  r[   ri  )r   rh   r8   rG   rK   s        r   #test_sequence_decimal_from_integersrm    sk    +D,01Dq"DH1.hht$1"=>}}(*** / 2s    Bc                      [         R                  " [        SS9   [        R                  " [
        R                  " S5      /5        S S S 5        g ! , (       d  f       g = f)Nzprecision out of rangerz   P11111111111111111111111111111111111111111111111111111111111111111111111111111111)rn   ro   r   r3   r=   r  r  r!   r   r   (test_sequence_decimal_too_high_precisionrp    s6    	z)A	B
'//(+,- 
C	B	Bs   ,A
Ac                     [         R                  " S5      [        R                  " SS5      4[         R                  " S5      [        R                  " SS5      4[         R                  " S5      [        R                  " SS	5      4[         R                  " S
5      [        R                  " SS5      4[         R                  " S5      [        R                  " SS5      4[         R                  " S5      [        R                  " SS5      4[         R                  " S5      [        R                  " SS5      4[         R                  " S5      [        R                  " SS5      4[         R                  " S5      [        R                  " SS5      44	 Hd  u  p[        R                  " U /5      U:X  d   e[        R
                  " U /5      nUR                  U:X  d   eUR                  5       S   U :X  a  Md   e   g )N1.234r   r<   12300r  r   z12300.0r   r0   1.23E+4z123E+2z123E+4r  z0.0123z0.01230z1.230E-2r  r  r3   rY  r5  r=   rG   rI   )r   r  rK   s      r   test_sequence_decimal_inferrv    sb    
	!2==A#67		!2==A#67		#R]]1a%89		#R]]1a%89		"BMM!Q$78		"BMM!Q$78		"BMM!Q$78		#R]]1a%89		$bmmAq&9:	 }}dV$+++hhvxx3}}q!T)))%r   c                  n   [         R                  " S5      [         R                  " S5      /[        R                  " SS5      4[         R                  " S5      [         R                  " S5      /[        R                  " SS5      4[         R                  " S5      [         R                  " S5      /[        R                  " SS5      4[         R                  " S	5      [         R                  " S
5      /[        R                  " SS5      4[         R                  " S5      [         R                  " S5      /[        R                  " SS5      4[         R                  " S5      [         R                  " S5      /[        R                  " SS5      4[         R                  " S5      [         R                  " S5      /[        R                  " SS5      4/n U  H_  u  p[        R                  " U5      U:X  d   e[        R
                  " U5      nUR                  U:X  d   eUR                  5       U:X  a  M_   e   g )Nrr  z3.456r   r<   z456.7r   z123.4z4.567123e24567e3r  r   123e44567e2z0.123z0.04567r  z0.001z1.01E5	   ru  )casesr   r  rK   s       r   !test_sequence_decimal_infer_mixedr~    s    //'
"GOOG$<	=	q!		
//'
"GOOG$<	=	q!		
//'
"GOOG$<	=	q!		
//'
"GOOH$=	>	q!		
//'
"GOOH$=	>	q!		
//'
"GOOI$>	?	q!		
//'
"GOOH$=	>	q!		E  	}}T"c)))hhtnxx3}}$&&&	 r   c            	      |   [         R                  " S5      [        R                  " SS5      [        R                  " SS5      [        R                  " SS5      /[        R                  " SS5      [        R                  " SS5      /4[         R                  " S5      [        R                  " SS5      [        R                  " SS5      [        R                  " SS	5      /[        R                  " SS5      [        R                  " SS
5      /4[         R                  " S5      [        R                  " SS5      [        R                  " SS5      [        R                  " SS	5      /[        R                  " SS5      [        R                  " SS
5      /44 H  u  pnU HD  n[        R                  " U /US9nUR
                  U:X  d   eUR                  5       S   U :X  a  MD   e   U H<  n[        R                  " [        5         [        R                  " U /US9  S S S 5        M>     M     g ! , (       d  f       MT  = f)Nrr  r   r<   r  r;   rs  r   r   rt  r[   )
r  r  r3   rY  r=   rG   rI   rn   ro   r   )r   typs
wrong_typsr  rK   s        r    test_sequence_decimal_given_typer    s    OOG$]]1a "--1"5r}}Q7JK]]1a "--1"56	
 OOG$]]1a "--1"5r}}Q7KL]]1a "--2"67	
 OOI&]]1a "--1"5r}}Q7KL]]1a "--2"67	
#J( C((D6,C88s?"?==?1%---  Cz*$c* +* 1#2 +*s   H,,
H;c                      [         R                  " [        S5      5      n [         R                  " S5      nU R                  U5      (       d   eg )Nr<   rP   )r3   r=   rS   r>   r?   s     r   test_range_typesr    s7    88E!HD88ID;;tr   c                      [         R                  " [        S5      5      n [        U 5      S:X  d   eU R                  S:X  d   eU R
                  [         R                  " 5       :X  d   eU R                  5       / :X  d   eg rD   )r3   r=   rS   rE   rF   rG   rH   rI   rJ   s    r   test_empty_ranger    sb    
((58
Cs8q==>>Q88rwwy   ==?b   r   c                  (   [         R                  R                  / / S9n U R                  [         R                  " / 5      :X  d   e[        U 5      S:X  d   eU R                  5       / :X  d   e[         R                  " / SQ[         R                  " 5       S9n[         R                  " / SQ[         R                  " 5       S9n[         R                  " / SQ[         R                  " 5       S9n[         R                  R                  XU// SQ5      n S SS	S.S
S SS.SSS S./nU R                  5       nXT:X  d   XT45       e[        R                  " [        5         [         R                  R                  U/SS/5        S S S 5        g ! , (       d  f       g = f)N)namesr   Nr;   r<   r[   rD  NrF  TFN)intsstrsboolsrD  Tr;   Fr<   rF  r  r  )r3   StructArrayfrom_arraysrG   structrE   rI   r=   r   r\  r   rn   ro   r   )rK   r  r  r  r8   pylists         r   test_structarrayr    s9   
..
$
$Rr
$
2C88ryy}$$$s8q====?b   88Lrxxz2D88$299;7DHH(rxxz:E
..
$
$	U!#C
 sT2D51C$/H ]]_F111 
z	"
""D6FF+;< 
#	"	"s   $F
Fc            	      x   [         R                  " [         R                  " S[         R                  " 5       5      [         R                  " S[         R                  " 5       5      [         R                  " S[         R
                  " 5       5      /5      n [         R                  " / U S9nUR                  5       / :X  d   eSSSS.S	S
SS./n[         R                  " X S9nUR                  5       U:X  d   eSSS.S 0 S S
S./n[         R                  " X S9nSS SS.S S S S S.S S
S S./nUR                  5       U:X  d   eg )NrD  rE  rF  r[   r  r'  TrC  r   rZ  FrD  rF  rG  r3   r  fieldr   r\  r   r=   rI   )r7   rK   r   r8   s       r   test_struct_from_dictsr    s    	BHHS"((*-HHS"))+.HHS"((*-/ 
0B ((2B
C==?b   %d+%e,.D
((4
!C==?d""" $U#%D ((4
!Cd.D1T24H ==?h&&&r   c            	         [         R                  " [         R                  " S[         R                  " 5       5      [         R                  " S[         R                  " 5       5      [         R                  " S[         R
                  " 5       5      /5      n [         R                  " / U S9nUR                  5       / :X  d   eSSS.SS	S
./n[         R                  " X S9nUR                  5       SSS S.SS S	S./:X  d   eg )NrD  rE  rF  r[   r  r'  )r@  rA  r   F)r@  rB  rC  r  )r7   rK   r   s      r   !test_struct_from_dicts_bytes_keysr  0  s    	BHHS"((*-HHS"))+.HHS"((*-/ 
0B ((2B
C==?b   E"E"$D
((4
!C==?e$'d'   r   c            	      Z   [         R                  " [         R                  " S[         R                  " 5       5      [         R                  " S[         R                  " 5       5      [         R                  " S[         R
                  " 5       5      /5      n SS/nSSSS	.S
SSS	./n[         R                  " XS9n[        R                  " [        U5      [        S9nXS S & [         R                  " X@S9nUR                  5       U:X  d   eUR                  U5      (       d   e/ SQnSSS S	.S S
S SS	./n[         R                  " XS9nUR                  5       U:X  d   eS H;  n[        R                  " [        SS9   [         R                  " U/U S9  S S S 5        M=     g ! , (       d  f       MO  = f)NrD  rE  rF  r  r'  T)r   rZ  Fr  r'  TrC  r   rZ  Fr[   r   ))r  r'  NN)r   NF))r  r'  r!   )rO  r'  TN(?i)tuple sizerz   )r3   r  r  r   r\  r   r=   r   r   rE   r   rI   r>   rn   ro   r   )r7   r   r8   rK   data_as_ndarrayrA   tups          r   test_struct_from_tuplesr  A  s`   	BHHS"((*-HHS"))+.HHS"((*-/ 
0B De$/e%02H
((4
!Chhs4y7OA88O-D==?h&&&::dD e$/d/1H ((4
!C==?h&&& :]]:-=>HHcU$ ?> :>>s   7F
F*	c            	      >   [         R                  " [         R                  " S[         R                  " 5       5      [         R                  " S[         R                  " 5       5      [         R                  " S[         R
                  " 5       5      /5      n / SQ/ SQS /n[         R                  " XS9nUR                  5       SSS	S
.SSSS
.S /:X  d   e[         R                  " [         R                  " S[         R                  " 5       5      [         R                  " S[         R                  " 5       5      [         R                  " S[         R
                  " 5       5      /5      n / SQ/ SQ/n[         R                  " XS9n[        R                  " [        5         UR                  5         S S S 5        [         R                  " [         R                  " S[         R                  " 5       5      [         R                  " S[         R                  " 5       5      [         R                  " S[         R
                  " 5       5      /5      n / / SQSS// SQ/nS S S S
.SSS	S
.SSS S
.SSSS
./n[         R                  " XS9nUR                  5       U:X  d   eg ! , (       d  f       N= f)NrD  rE  rF  )rD  r  rE  r'  rF  T)rD  r   rE  rZ  rF  Fr[   r  r'  TrC  r   rZ  F)r  )rD  r'  )rE  T)r  )rD  rZ  )rE  F)rD  r;   )rE  baz)rD  r0   r  r  )djuliar;   r  r0   )r3   r  r  r   r\  r   r=   rI   rn   ro   r   )r7   r   rK   r8   s       r   test_struct_from_list_of_pairsr  d  s   	
bhhj!
biik"
bhhj! 
B 	..D
 ((4
!C==?e$'e%(    

bhhj!
biik"
bhhj! 
B 	..D ((4
!C	z	" 
#
 

bhhj!
biik"
bhhj! 
B 	-	< >	D D)e$'e$'e%(	H ((4
!C==?h&&&/ 
#	"s   J
Jc            	         [         R                  " [         R                  " S[         R                  " 5       5      [         R                  " S[         R                  " 5       5      [         R                  " S[         R
                  " 5       5      /5      n / / SQ/nSn[        R                  " [        US9   [         R                  " XS9  S S S 5        Sn[        5       [        S5      [        S	5      S
/nU H  n[        R                  " UR                  [        U5      [        U5      R                   5      5      n[        R                  " ["        US9   [         R                  " U// SQ/U S9  S S S 5        [        R                  " ["        US9   [         R                  " / SQU//U S9  S S S 5        M     g ! , (       d  f       N= f! , (       d  f       N`= f! , (       d  f       M  = f)NrD  rE  rF  )r  r  )rE  Nz0The expected field name is `b` but `c` was givenrz   r[   zKCould not convert {} with type {}: was expecting tuple of (key, value) pairzunknown-keyr\  )r  r  )rF  N)r3   r  r  r   r\  r   rn   ro   r   r=   r   reescapeformatr(  rG   r   r|   )r7   r   msgtemplater}  key_value_pairs         r   %test_struct_from_list_of_pairs_errorsr    sp   	
bhhj!
biik"
bhhj! 
B 	,D =C	z	-
 
.	 
 	cm	E  ii $~"6"?"?
  ]]9C0HH 5  1 ]]9C0HH5   10   
.	-( 10 10s$   3F6GG6
G
G	
G'	c            	         [         R                  " [         R                  " S[         R                  " 5       5      [         R                  " S[         R                  " 5       5      [         R                  " S[         R
                  " 5       5      /5      n SSSSS./n[        R                  " [        5         [         R                  " XS	9  S S S 5        g ! , (       d  f       g = f)
NrD  rE  rF  r  r   rZ  FrC  r[   )
r3   r  r  r   r\  r   rn   ro   r|   r=   )r7   r   s     r   test_struct_from_mixed_sequencer    s    	BHHS"((*-HHS"))+.HHS"((*-/ 
0B %e,.D	y	!
 
"	!	!s   4C
C c                     [         R                  " [         R                  " S[         R                  " 5       5      [         R                  " S[         R                  " 5       5      [         R                  " S[         R
                  " 5       5      /5      n SSSS.SS	S
S./n[         R                  " U5      n[        UR                  U 5        UR                  5       U:X  d   eSSS.S 0 S S	S./nSS SS.S S S S S.S S	S S./n[         R                  " U5      n[        R                  " [        U5      [        S9nXS S & [         R                  " U5      n[        UR                  U 5        UR                  5       U:X  d   eUR                  U5      (       d   e[         R                  " [         R                  " S[         R                  " [         R                  " S[         R                  " [         R                  " 5       5      5      [         R                  " S[         R
                  " 5       5      /5      5      [         R                  " S[         R                  " 5       5      /5      n SS/SS.SS.S S
S.S S.S S	S./n[         R                  " U5      nUR                  5       U:X  d   e[         R                  " 0 /5      nUR                  [         R                  " / 5      :X  d   eUR                  5       0 /:X  d   e[         R"                  " [         R$                  [         R&                  45         [         R                  " SSS0/5        S S S 5        g ! , (       d  f       g = f)NrD  rE  rF  r  r'  TrC  r   rZ  Fr  rG  r   aaab)r  r  r0   r;   )r3   r  r  r   r\  r   r=   r9   rG   rI   r   r   rE   r   r>   r   rn   ro   r   rH  )r7  r   rK   r8   r  rA   s         r    test_struct_from_dicts_inferencer    s   IIrxxRXXZ8!xxRYY[9!xxRXXZ8: ;M %d+%e,.D ((4.Cchh.==?d""" $U#%D d.D1T24H
 ((4.Chhs4y7OA88D>Dchh.==?h&&&::d II
bii$0D!E!#$
!;!= > 	?
biik"$ %M Qt,59U+$7U#%D ((4.C==?d""" ((B4.C88ryy}$$$==?rd""" 
):):;	<
!c1X 
=	<	<s   -M
Mc            
      ,   / SQn / SQn/ SQn/ SQnXX#/n[         R                  R                  U/ SQ5      n[         R                  R                  [         R                  " U SS9[         R                  " USS9[         R                  " U5      [         R                  " USS9// SQ5      n[        R
                  " [        5         [         R                  R                  U5        S S S 5        UR                  U5      (       d   eg ! , (       d  f       N'= f)	Nr  r  r  r   )r  r  r  int_nonnullr   r[   utf8)r3   r  r  r=   rn   ro   r   r>   )r  r  r  ints_nonnullarraysr  r8   s          r   #test_structarray_from_arrays_coercer  	  s    DDEL%.F^^'')89F ~~))	$W	%	$V	$	%	,W	-	/ 	12H 
z	"
""6* 
# =="""" 
#	"s    D
Dc                  l   [         R                  " S5      S [        S5      [         R                  " S5      /n [        R                  " [
        5         [        R                  " U 5      nS S S 5        [        R                  " U SS9nUR                  [        R                  " SS5      :X  d   eUR                  5       U S S S S /-   :X  d   e[        R                  " U [        R                  " SS5      SS	9nUR                  5       [         R                  " S
5      S S S /:X  d   eg ! , (       d  f       N= f)Nrr  r   Tr+  r   r<   r;   rX   r   z1.2340)r  r  rQ  rn   ro   r|   r3   r=   rG   rY  rI   )r   r=   s     r   $test_decimal_array_with_none_and_nanr  !  s    oog&eElGOOE<RSF	y	!  
" HHV.E::q!,,,,??r
dD\ 9999HHV"--A"6DIE??!:D$ MMMM 
"	!s   D%%
D3c            
      @   SSS.SSS./SSS./SS	S.S
SS.SS S./SSS.//n U  VVs/ s H  o Vs/ s H  o"S   US   4PM     snPM     nnn[         R                  " U[         R                  " [         R                  " 5       [         R                  " 5       5      S9nUR                  5       U:X  d   eS U S'   S US'   [         R                  " U[         R                  " [         R                  " 5       [         R                  " 5       5      S9nUR                  5       U:X  d   eSS0/0 /SSS./4 HP  n[        R                  " [        SS9   [         R                  " U/[         R                  " SS5      S9  S S S 5        MR     SSS./SSS00/4 HZ  n[        R                  " [         R                  SS9   [         R                  " U/[         R                  " SS5      S9  S S S 5        M\     g s  snf s  snnf ! , (       d  f       M  = f! , (       d  f       M  = f)Nr@  r0   )rv   r'   rA  r;   rB  r<      dr      er     f   gr  rv   r'   r[   )r   r   zInvalid Maprz   i4r  r   )
r3   r=   map_rf  r   rI   rn   ro   r   r   )r   entryr  r8   rK   s        r   test_map_from_dictsr  0  s   A&q(ABA&'A&q(AD)+A&'	)D
 FJJTE7AE(AgJ'7THJ
((8"''"))+rxxz"B
CC==?h&&& DGHQK
((8"''"))+rxxz"B
CC==?h&&& Q<.2$qq)9(:;]]:];HHeW2774#67 <; <
 +,|/D.EF]]2??2KLHHeW2774#67 ML G) 8J  <;
 MLs.   	G6G1G6,G<8,H1G6<
H	
H	c            	         SS/S// SQS//n [         R                  " U [         R                  " [         R                  " 5       [         R                  " 5       5      S9nUR                  5       U :X  d   eS U S'   [         R                  " U [         R                  " [         R                  " 5       [         R                  " 5       5      S9nUR                  5       U :X  d   eS/S	/S
/4 HP  n[        R                  " [        SS9   [         R                  " U/[         R                  " SS5      S9  S S S 5        MR     g ! , (       d  f       Md  = f)N)r@  r0   )rA  r;   )rB  r<   ))r  r   )r  r  )r  N)r  r  r[   r0   )r  r!   )rO  r'  Tr  rz   r  )	r3   r=   r  rf  r   rI   rn   ro   r   )r8   rK   r  s      r   test_map_from_tuplesr  O  s    I&4H
 ((8"''"))+rxxz"B
CC==?h&&& HQK
((8"''"))+rxxz"B
CC==?h&&& &2$!3 45]]:-=>HHeW2774#67 ?> 6>>s   ,D;;
E
	c                  r   [         R                  " [         R                  " 5       [         R                  " 5       S9n [         R                  " / SQU S9n[        UR                  [         R                  5      (       d   eUR                  R                  U 5      (       d   e[         R                  " / SQ[         R                  " 5       S9n[         R                  " SS/[         R                  " 5       S9nUR                  R                  U5      (       d   eUR                  R                  U5      (       d   eg )Nr;  )FFTFTr[   )r   r   r0   r   r0   FT)
r3   
dictionaryr   r   r=   rv  rG   DictionaryTyper>   indices)r  rD  expected_indicesexpected_dictionarys       r   test_dictionary_from_booleanr  f  s    
--	bhhj
9C
2=Aaffb//000066==xxbggi@((E4=rxxzB99,----<<23333r   r;  c                 &   [         R                  " [         R                  " 5       U S9n[         R                  " / SQUS9n[	        UR
                  [         R                  5      (       d   eUR
                  R                  U5      (       d   e[         R                  " / SQ[         R                  " 5       S9n[         R                  " / SQU S9nUR                  R                  U5      (       d   eUR                  R                  U5      (       d   eg )Nr  )r0   r;   r0   r0   r;   r<   r[   )r   r0   r   r   r0   r;   r   )	r3   r  r   r=   rv  rG   r  r>   r  r;  r  rD  r  r  s        r   test_dictionary_from_integersr  r  s     --	j
9C
##.Aaffb//000066==xx 2C((9:>99,----<<23333r   input_index_typec                     [         R                  " U [         R                  " 5       S9n[         R                  " [	        S5      US9nUR
                  R                  U5      (       d   eg )Nr  rX   r[   )r3   r  r   r=   rS   rG   r>   )r  r  rK   s      r   test_dictionary_index_typer    sH     --(RXXZ
@C
((593
'C88??3r   c                  n   [         R                  " [         R                  " 5       [         R                  " 5       S9n [         R                  " [        S5      U S9n[         R                  " [         R                  " 5       [         R                  " 5       5      nUR                  R                  U5      (       d   e[         R                  " [        S5      U S9n[         R                  " [         R                  " 5       [         R                  " 5       5      nUR                  R                  U5      (       d   eg )Nr     r[      )	r3   r  r   r   r=   rS   rG   r>   r   )r  rD  r8   s      r   "test_dictionary_is_always_adaptiver    s     --	bhhj
9C
t3'A}}RWWY
3H66==""""
xs+A}}RXXZ4H66==""""r   c                  z   [         R                  " 5       [         R                  " 5       4 H  n [         R                  " [         R                  " 5       U 5      n[         R
                  " / SQUS9n[        UR                  [         R                  5      (       d   e[         R
                  " / SQ[         R                  " 5       S9n[         R
                  " / SQU S9nUR                  R                  U5      (       d   eUR                  R                  U5      (       a  M   e   [         R                  " [         R                  " 5       [         R                  " S5      5      n[         R
                  " / SQUS9n[        UR                  [         R                  5      (       d   e[         R
                  " / SQ[         R                  " 5       S9n[         R
                  " / SQ[         R                  " S5      S9nUR                  R                  U5      (       d   eUR                  R                  U5      (       d   eg )	N) rD  bbrD  r  cccr[   )r   r0   r;   r0   r;   r<   )r  rD  r  r  r<   )aaar  bbbr  r  )r   r   r0   r;   r0   )r  r  r  )r3   rf  r\  r  r   r=   rv  rG   r  r  r>   r  s        r   test_dictionary_from_stringsr    sz   yy{BIIK0
mmBGGIz2HH6SA!&&""3"3444488$6RWWYG hh'=JOyy 01111||""#67777 1 --	299Q<
0C
43?Aaffb//0000xxbggi@((#8ryy|L99,----<<23333r   )r  r8    )milliseconds)microsecondsie;c                 \   [         R                  " U 5      n[         R                  " S/US9n[         R                  " UR                  5       US9nUR	                  U5      (       d   eU/nU S:X  a   SS KnUR                  SSS9/nUR                  5       U:X  d   eg ! [         a     N#f = f)Nr  r[   r  r   r  )r3   r  r=   rI   r>   r  	TimedeltaImportError)r  r8   r7   rK   restoredexpected_listr  s          r   *test_duration_array_roundtrip_corner_casesr    s     
T	B
((K=r
*Cxxb1H::hJMt|	C  \\+D\ABM=000  		s   2B 
B+*B+c                  X   SS K n [        R                  " S5      n[        R                  " S/US9nUR	                  5       n[        US   U R                  5      (       d   e[        R                  " X1S9nUR                  U5      (       d   eUR	                  5       U R                  SSS9/:X  d   e[        R                  " S5      n[        R                  " S/US9nUR	                  5       n[        US   U R                  5      (       d   e[        R                  " X1S9nUR                  U5      (       d   eUR	                  5       U R                  SSS9/:X  d   e[        R                  " SSS9nSn[        R                  " U/US9nUR	                  5       n[        US   U R                  5      (       d   e[        R                  " X1S9nUR                  U5      (       d   eUR	                  5       U R                  USS9R                  S	5      R                  S5      /:X  d   eg )
Nr   r  l      "9} r[   r  r  r  l    ^,j2 r  )r  r3   r  r=   rI   rv  r  r>   r  r  tz_localize
tz_convert)r  r7   rK   r   r  r'   s         r   <test_roundtrip_nanosecond_resolution_pandas_temporal_objectsr    s    	T	B
(('(r
2C==?Dd1gr||,,,,xx&H::h
(t4$    
d	B
(('(r
2C==?Dd1gr||,,,,xx&H::h
(t4$    
d|	,BE
((E7
$C==?Dd1gr||,,,,xx&H::h
U&22	:l+$   r   c                     U R                  5       n[        R                  " XR                  S9nUR	                  U 5      (       d   eg )Nr[   )rI   r3   r=   rG   r>   )rK   r   r  s      r   test_array_to_pylist_roundtripr  	  s6     --/Cxx((+H??3r   c                     SS-  n SS-  nU /S-  SS U/-   n[         R                  " U[         R                  " 5       S9n[        U[         R                  5      (       d   e[        U5      S:X  d   eUS   R                  5       S:X  d   eUS   R                  5       b   eUS	   R                  5       U:X  d   eUS
/-   n[         R                  " U[         R                  " 5       S9n[        U[         R                  5      (       d   eUR                  S:X  d   e[        UR                  S5      5      S:X  d   e[        UR                  S5      5      S:X  d   eUR                  S5      S   R                  5       S:X  d   eUR                  S5      S   R                  5       b   eUR                  S5      S	   R                  5       U:X  d   eUR                  S5      R                  5       S
/:X  d   eUS-  SS/-   n[         R                  " U[         R                  " 5       S9n[        U[         R                  5      (       d   eUR                  S:X  d   e[        UR                  S5      5      S:X  d   e[        UR                  S5      5      S:X  d   e[        UR                  S5      5      S:X  d   e[        S5       Hx  nUR                  U5      S   R                  5       S:X  d   eUR                  U5      S   R                  5       b   eUR                  U5      S	   R                  5       U:X  a  Mx   e   UR                  S5      R                  5       SS/:X  d   eg )N   x k   r   r[   r     r=  s   twor;   r   r0   s   threer<   )r3   r=   rf  rv  rw  rE   r  ChunkedArray
num_chunkschunkrI   rS   )v1v2one_chunk_datarK   two_chunk_datathree_chunk_datar  s          r   test_auto_chunking_binary_liker  		  s    
		B			B TBY#tR0N
((>		
4Cc288$$$$s8r>>r7==?c!!!r7==?"""r7==?b    $vh.N
((>		
4Cc2??++++>>Qsyy|"""syy|!!!99Q<!!#s***99Q<!!#+++99Q<!!#r)))99Q<!!#x/// &)Xx,@@
((#"))+
6Cc2??++++>>Qsyy|"""syy|"""syy|!!!1Xyy|B%%'3...yy|B%%'///yy|B%%'2---  99Q<!!#(';;;;r   c                  x   S//S-  n [         R                  " U 5      n[        U[         R                  5      (       d   eUR                  S:X  d   e[        UR                  S5      5      S:X  d   e[        UR                  S5      5      S:X  d   eUR                  S5      R                  5       S//S-  :X  d   eg )N   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi   r;   r   i r0   )r3   r=   rv  r  r   rE   r  rI   )valsrK   s     r   !test_auto_chunking_list_of_binaryr  3	  s     L>]+D
((4.Cc2??++++>>Qsyy|	)))syy|!!!99Q<!!#~'9999r   c                     [         R                  " SSS9n U /S-  n[        R                  " U[        R                  " [        R
                  " 5       5      S9n[        U[        R                  5      (       d   e[        U5      S:X  d   e[         R                  " SSS9n U /S-  n[        R                  " U[        R                  " [        R
                  " 5       5      S9n[        U[        R                  5      (       d   eUR                  S:X  d   e[        UR                  S5      5      S:X  d   e[        UR                  S	5      5      S	:X  d   eUR                  S	5      nUS   n[        U[        R                  5      (       d   e[        R                  " U [        R
                  " 5       S9nUR                  U:X  d   eg )
N)   r   r   r  r[   r   r;   r   r0   )r   onesr3   r=   r   r   rv  rw  rE   r  r   r  
ListScalarr   )rM  r   rK   r  scalarr8   s         r   test_auto_chunking_list_liker  ?	  sR   7787+D6XD
((4bhhrxxz2
3Cc288$$$$s8q==7787+D6D=D
((4bhhrxxz2
3Cc2??++++>>Qsyy|!!!syy|!!!IIaLE1XFfbmm,,,,xx288:.H==H$$$r   c                     [         R                  " [         R                  " 5       [         R                  " 5       5      n S/S-  nU/S-  n[         R                  " X S9n[	        U[         R
                  5      (       d   e[        UR                  S5      5      S:X  d   e[        UR                  S5      5      S:X  d   eg )N)r0   r0   r  r   r[   r   r  r0   )r3   r  r   r=   rv  r  rE   r  )r7   rM  r   rK   s       r   test_auto_chunking_map_typer  U	  s     
BGGI	&B8eD6D=D
((4
!Cc2??++++syy|!!!syy|!!!r   )r7   charrh   r  c                 L   US-  nUS-  n[         R                  " [         R                  " S[         R                  " 5       5      [         R                  " S[         R                  " 5       5      [         R                  " SU 5      /5      nSSUS./S	-  nUR                  SSUS.5        [         R                  " XTS
9n[        U[         R                  5      (       d   eUR                  SSUS.5        [         R                  " XTS
9n[        U[         R                  5      (       d   eUR                  S:X  d   e[        UR                  S5      5      S:X  d   e[        UR                  S5      5      S:X  d   eUR                  S5      S   R                  5       SSUS.:X  d   eg )Nr  r  boolintegerstring-likeTr0   )r  r  r  r  r[   r;   r   r  )r3   r  r  r   r   appendr=   rv  rw  r  r   rE   r  r  )r7   r  r  r  struct_typer   rK   s          r   test_nested_auto_chunkingr  b	  sd    
		B			B))
$
BHHJ'
# K a;<rADKK!B?@
((4
*Cc288$$$$KK!DAB
((4
*Cc2??++++>>Qsyy|"""syy|!!!99Q<?  "'   r   c                     S/S-  n [         R                  " U [         R                  " 5       S9n[        U[         R                  5      (       d   e[        U5      S:X  d   e[        UR                  5      S:  d   e[        R                  " S[        5      n[         R                  " X[         R                  " 5       S9n[        U[         R                  5      (       d   e[        U5      S:X  d   e[        UR                  5      S:  d   e[         R                  " U [         R                  " 5       S9n[        U[         R                  5      (       d   e[        U5      S:X  d   e[        UR                  5      S:  d   eg )Ns   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai   r[   r0   r  rG   r3   r=   r\  rv  r  rE   chunksr   zerosr  rf  itemsrK   r  s      r   $test_array_from_pylist_data_overflowr#  	  s    MW%E
((5ryy{
+Cc2??++++s8uszz?Q88E4 D
((5"))+
6Cc2??++++s8uszz?Q
((5ryy{
+Cc2??++++s8uszz?Qr   c                     S/S-  n [         R                  " U [         R                  " 5       S9n[        U[         R                  5      (       d   e[        U5      S:X  d   e[        UR                  5      S:  d   e[        R                  " S[        5      n[         R                  " X[         R                  " 5       S9n[        U[         R                  5      (       d   e[        U5      S:X  d   e[        UR                  5      S:  d   e[         R                  " U [         R                  " 5       S9n[        U[         R                  5      (       d   e[        U5      S:X  d   e[        UR                  5      S:  d   eg )Nr@  l        r[   r0   r  r  r!  s      r   &test_array_from_pylist_offset_overflowr%  	  s    FgE
((5ryy{
+Cc2??++++s8uszz?Q88E4 D
((5"))+
6Cc2??++++s8uszz?Q
((5ryy{
+Cc2??++++s8uszz?Qr   )r   scalar_datar;  r  )r0   NN)r  r/  Nr  r/  i  )r0   r   ir   r[   r  r  )r0   r;   r  )rE  r;   )r0   rZ  r  c                 X   [        U " U5      5      [        :X  a  [        R                  " S5        [        R
                  " XS9n[        R
                  " U " U5      5      nUR                  U5      (       d   e[        R
                  " U " U5      US9nUR                  U5      (       d   eg )Nz&The elements in the set get reordered.r[   )rG   r6   rn   skipr3   r=   r>   )r   r   r&  r;  expectr  s         r   !test_array_accepts_pyarrow_scalarr*  	  s    D C$<=XXd,FXXc+&'F==    XXc+&Z8F==    r   c                 $   U " [         R                  " S5      [         R                  " S5      [         R                  " S5      /5      n[        R                  " [         R                  SS9   [         R
                  " U5        S S S 5        U " S[         R                  " S5      S /5      n[        R                  " [         R                  SS9   [         R
                  " U5        S S S 5        U " [        R                  " S5      [         R                  " S5      S /5      n[        R                  " [         R                  SS9   [         R
                  " U5        S S S 5        U " [         R                  " S5      [        R                  " S5      S /5      n[        R                  " [         R                  SS9   [         R
                  " U5        S S S 5        [        R                  " [         R                  SS9   [         R
                  " [         R                  " S5      /[         R                  " 5       S	9  S S S 5        [        R                  " [         R                  S
S9   [         R
                  " [         R                  " S5      /[         R                  " 5       S	9  S S S 5        g ! , (       d  f       GN-= f! , (       d  f       GN= f! , (       d  f       GN{= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       g = f)Nr0   rD  r0  z'cannot mix scalars with different typesrz   zIpyarrow scalars cannot be mixed with other Python scalar values currentlyz0.1z=Cannot append scalar of type string to builder for type int32r[   z;Cannot append scalar of type int64 to builder for type null)
r3   r  rn   ro   r   r=   r   r)  r   rH   )r   sequences     r   (test_array_accepts_pyarrow_scalar_errorsr-  
  s    BIIaL"))C."))C.ABH	rF
H

H Aryy~t,-H	r>
? 	
?
 BJJu%ryy~t<=H	r>
? 	
?
 BIIcNBJJu$5t<=H	r>
? 	
?
 
r9
: 	"))C.!
3
:
 
r8
9 	"))A,bggi0
9 
97
H 
H

? 
?
? 
?
? 
?

: 
:

9 
9sH   +J(J:K6K8>K0!>L(
J7:
K	
K
K-0
K>
L)r   r  r  r`   rt  r  
hypothesishrn   numpyr   r  pyarrow.pandas_compatr   pyarrowr3   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-   r9   rB   rL   rT   rV   rY   r]   rb   rq   rs   r}   r   r   r   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-  r3  r8  AssertionErrorr:  r   rH   r  todayr  r)  r  time32time64nowr  r  r  rf  rm  r\  rn  r  rK  rN  rR  rW  r]  rp  r_  rk  rq  large_memoryry  slowr  r  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-  nopandasr/  r1  r8  r;  r>  r@  rB  rD  rF  rJ  rL  rQ  r\  r_  rc  re  rg  rj  rm  rp  rv  r~  r  r  r  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_intervalro  r  r*  r-  r!   r   r   <module>rQ     sf  $      	   .  ' ' RWWYbhhjbhhjbhhjbhhjryy{ryy{ryy{ "%n!5  ,# #  
$!!!7 
*!
 I&>/*?+n<K.0 "(++"9"9	>#  #)++"9"9	>#  &,[[%<%<	& "
 $ $ ! ! !' !'  8 ! 8  ? ! ? $! $! !# !# !HHbmmR\\2+=+=%? @#@ !# $	L $	L ! HHbmmR\\2+=+=%? @1@ !1  - ! -D !+ !+  ,n=	' > ! 	' #L1' 2 $ '  L1' 2 ! ' !' !'  ,n=
' > ! 
'  ,n=
' > ! 
' !' !' $- $-     E'  ))) ) 1- 2- 1 2 $-' . $'&	6#&"  5 5"  0





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

%mmT"BIIK0
HMM!"BIIK0mmAq!d#RYYs^4
HMM!Q"#RYYt_5t$bll4&89$%r{{3'78
D\299;ryy|,*+biik"boo'(q	4qt!45
		C#c288:%678!2 *%+ ,% /!fqc]BHHRXXZ()!fq!frxx
A./cAq6]BMM"((*-.2 
% %  " "$# 		R__->@PQR# S# *H  12??3DEF  G    12??3DEF	) G  	) 		RYY["..:JKL@ M @O" 		R__->@PQR
! S
!@*#
8 99;699;)94(@ACD$D$* :YYWYYgYYgYYg	= 7)7)t?(  &   " @E@EF  & '':)< ) )6 * *:@* ? ?(	X]] 		"" 		($$ 	>CB {...E  GFGF &2 &2R =  =(    :  :"! ! ! !89. :." !89 :	# HHbmmR\\2+=+=%? @	#@	# 8 8**D"''''''+.*,'4+<!=6'2" % %D4'n+\  1  1 h#0N8>8.	4 GGIHHJHHJHHJHHJIIKIIKIIKJJLJJL( 	4	4 +GGIHHJHHJHHJ	.   #4. -(

[
12	8;78	8;78	8845	0 11* # #L      &< &<R : : % %* "  " YY[#YY[$* 	 
8  *   , $>299T?BIIe,<dCRXXZP	1ryy|RYYtRXXZ%@A


 ryy|T299T288:+FGT
D\BIIdORYYt_5rwwyAbiimRYYr]D92::<H	x}}""$%	ryy,,./0
		 
x}}""$%	ryy,,.		<=
		 
q!Q	&	8==Aq)	*D1
		$ 
		B	'(	8%%b1	23
D 
x  q!,-	ryy**4A678
T 
	)*	2???3	45
""$
 
3Z"))C."))C.1299;?
D\BIIdORYYt_5ryy{C	t	41	&		$		!(EF
		!
 [299Y'("((288:*>?
Cj\BIIsCj)*BHHRYY[,AB[299YR\\"((*-EFG\\"((*
Cj\BIIsCjr||BIIK/HIJ\\"))+  		12779	%ryy'CTJ
	
 Y3RXXZ0$7D		5ryy|	,biiBIIaL.QR
		! Vbii"//"345r7HI	URYYs!234boo6GH
Vbii".."234bnn6FG	URYYs!123R^^5EF		3R]]288:ryy{C	DE
bhhj"))+. 
c
	3bhhj"))+>	?	3bhhj"))+>	?	A
bhhj"))+.	 
	12==RXXZ@	AB
bhhj"((*- 
	Hh'bii2779RWWY/0/2 
3 	4
		C#c2779%567	 
	Hl+"))2779RYY[1234 
5 	6
		C#c299;%789	s_A _@!A_ $B! # 1 $  1EP  	Bs   Aq- q-Aq9q8Aq9