+
    nDjD                    `+   ^ RI Ht ^ RIt^ RIt^ RIt^ RIHt ^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt ^ RIt^ RIt^ RIHu Ht ^ RIHt ^ RIHt ]
P8                  P:                  R 4       tR tR t R t!R t"R	 t#R
 t$R t%R t&R t'R t(]
P8                  P                  R 4       t)]
P8                  P                  R 4       t*]
P8                  P                  R 4       t+]
P8                  P                  R 4       t,]
P8                  P                  ]
P8                  P[                  R. RO4      ]
P8                  P[                  RRR.4      R 4       4       4       t.]
P8                  P                  ]
P8                  P[                  R. RO4      R 4       4       t/]
P8                  P                  R 4       t0]
P8                  Pb                  R 4       t2]
P8                  Pf                  ]
P8                  Pb                  R 4       4       t4]
P8                  P[                  RR]Pj                  ! 4       ]Pl                  ! 4       ]Pn                  ! 4       .4      R  4       t8R! t9R" t:R# t;]
P8                  P                  R$ 4       t<R% t=R& t>R' t?R( t@R) tAR* tB]
P8                  P                  R+ 4       tC]
P8                  P                  R, 4       tDR- tE]
P8                  P                  R. 4       tFR/ tGR0 tH]
P8                  P[                  R1]P                  ]P                  ]P                  ]P                  .4      R2 4       tMR3 tNR4 tOR5 tP]
P8                  P[                  R6R4      R7 4       tQ]
P8                  P                  R8 4       tR]
P8                  P                  R9 4       tS]
P8                  P                  R: 4       tTR; tUR< tV]
P8                  P                  ]
P8                  P[                  R]P                  ]P                  3]P                  ]P                  3.4      R= 4       4       tY]
P8                  P[                  R]P                  ]P                  3]P                  ]P                  334      ]
P8                  P[                  R>R^ ..R^ R.^ ..^ .^..34      R? 4       4       tZ]
P8                  P[                  R]P                  ]P                  3]P                  ]P                  334      R@ 4       t[RA t\RB t]RC t^]
P8                  P                  RD 4       t_RE t`RF taRG tbRH tcRI tdRJ teRKRLRMRL/RN ltf]
P8                  P                  RO 4       tgRP thRQ tiRR tjRS tkRT tlRU tm]
P8                  P                  RV 4       tn]
P8                  P                  RW 4       to]
P8                  P                  RX 4       tpRY tqRZ tr]
P8                  P                  R[ 4       tsR\ ttR] tu]
P8                  P                  R^ 4       tv]
P8                  P                  R_ 4       twR` txRa tyRb tzRc t{Rd t|Re t}Rf t~Rg tRh tRi tRj t]
P8                  P                  Rk 4       t]
P8                  P                  Rl 4       t]
P8                  P                  Rm 4       tRn t]
P8                  P                  Ro 4       t]
P8                  P                  Rp 4       t]
P8                  P                  Rq 4       tRr tRs t]
P8                  P[                  ER Rt. ERO3Rv]! ^ ^4      3Rw]! ^ ^4      3Rx]! ^ ^
4      3Ry]! ^ ^
4      3Rz]! ^ ^
4      3R{]! ^ ^
4      3R|]! ^ ^
4      3R}]! ^ ^
4      3R~. ERO3R. ERO3R. ERO3R. ERO3]EP                  ! ^4      . ERO3.4      R 4       t]
P8                  P[                  ER. ERO]EP                  ! 4       3. ERO]EP                   ! 4       3. ER	O]EP"                  ! 4       3. ER
O]Pn                  ! 4       3. R3^^.^..]P                  ! ]EP                   ! 4       4      3^^.^..]P                  ! ]EP$                  ! 4       4      3R.RRR..]P                  ! ]Pn                  ! 4       4      3^^.^..]P                  ! ]EP                   ! 4       4      3^^.^..]P                  ! ]EP$                  ! 4       4      3R.RRR..]P                  ! ]Pn                  ! 4       4      3. ERO]P                  ! ]EP&                  ! R]EP                   ! 4       4      ]EP&                  ! R]Pn                  ! 4       4      .4      3.4      t]R 4       tR t]
P8                  P                  ]EP.                  ! ]EP0                  EP2                  3R7      ]EP4                  ! ]EP6                  ! ]EP8                  ]EP:                  ! ^ ^
R7      R7      4      R 4       4       4       t]R 4       t]
P8                  P                  R 4       t]
P8                  P                  R 4       t]
P8                  P                  R 4       tR t]
P8                  P                  R 4       t]
P8                  P                  R 4       t]
P8                  Pb                  R 4       t]
P8                  P                  R 4       tR t]
P8                  P                  ]
P8                  P[                  ERR]EPR                  ! R4      3R]EPR                  ! R4      3R]EPR                  ! R4      3R]EPR                  ! R4      3.4      R 4       4       t]
P8                  P                  R 4       t]
P8                  P                  ]
P8                  P[                  R. ERO4      R 4       4       t]
P8                  P                  ]
P8                  P[                  R. ERO4      R 4       4       t]
P8                  P                  R 4       t]
P8                  P                  ]
P8                  P[                  ERR]EP^                  ! R4      3R]EP^                  ! R4      3R]EP^                  ! R4      3R]EP^                  ! R4      3.4      R 4       4       t]
P8                  P                  R 4       t]
P8                  P                  ]
P8                  P[                  RR]EP                  ! 4       ]EPd                  ! 4       ]EPf                  ! 4       .4      R 4       4       tR t]
P8                  Pb                  R 4       tR t]
P8                  Pb                  R 4       t]
P8                  P                  ]
P8                  P[                  RR]EPr                  ! 4       ]EPt                  ! 4       ]EPv                  ! 4       .4      R 4       4       t]
P8                  P                  R 4       t]
P8                  P                  R 4       t]
P8                  P                  R 4       t]
P8                  P                  R 4       t]
P8                  P                  R 4       t]
P8                  P                  R 4       t]
P8                  P                  R 4       tR t]
P8                  P                  R 4       tR t]
P8                  P                  R 4       tR tR tR t]
P8                  P[                  ER]EP                  ! 4       ]P                  3]EP                   ! 4       ]P                  3.4      R 4       t]
P8                  P[                  R]P                  ! ]EP                  ! 4       4      ]P                  ! ]EP                  ! 4       ^R7      ]P                  ! ]EP                  ! 4       4      .4      R 4       t]
P8                  P[                  ER]EP                  ! 4       ]P                  ! ]EP                  ! 4       4      3]EP                  ! 4       ]P                  ! ]EP                  ! 4       ^R7      3]EP                   ! 4       ]P                  ! ]EP                  ! 4       4      3]EP                  ! 4       ]P                  ! ]EP                  ! 4       4      3]EP                   ! 4       ]P                  ! ]EP                  ! 4       4      3.4      R 4       t]
P8                  P[                  R1]P                  ]P                  .4      R 4       t]
P8                  P[                  R]P                  ]P                  .4      R 4       tR tR tR tR tR tR tR tR t]
P8                  P                  R 4       t]
P8                  P                  ]
P8                  EP                  ]
P8                  EP                  ]
P8                  P[                  RRuRL.4      R 4       4       4       4       t]
P8                  EP                  R 4       t]
P8                  P                  R 4       t]
P8                  P                  R 4       t]
P8                  P                  R 4       t]
P8                  Pb                  R 4       t]
P8                  P                  R 4       t]
P8                  P                  R 4       t]
P8                  P                  R 4       tR t]
P8                  P                  R 4       t]
P8                  P                  R 4       t ! R R4      t ! R R4      t]
P8                  P[                  R]].4      R 4       tR tR tR tR t]
P8                  Pb                  R 4       t]
P8                  Pb                  R 4       tR tR tR tR tERR ltR tR tR t]
P8                  P                  R 4       t]
P8                  P                  R 4       t]
P8                  Pb                  R 4       t]
P8                  P[                  R]EP                  ]P                  3]EP                  ]P                  3.4      R 4       t]
P8                  P[                  R]EP                  ]P                  3]EP                  ]P                  3.4      R 4       t]
P8                  P[                  ER]EP                  ]P                  ]EP                  ! 4       3]EP                  ]P                  ]EP                   ! 4       3.4      R 4       Et ]
P8                  P[                  R]EP                  ]EP                  .4      R 4       Et]
P8                  P                  ]
P8                  P[                  R. ERO4      R 4       4       EtR EtR EtR EtR EtR EtR EtR#   ] d    Rt ELvi ; i(      )IterableN)Versionc                  Z   R p \         P                  ! \        P                  RV .R\         P                  R7      pVP
                  ^ 8w  d6   \        VP                  \        P                  R7       VP                  4        \        VP                  P                  4       4      ^ 8X  g   Q hR# )zOif 1:
    import pyarrow as pa

    assert pa.total_allocated_bytes() == 0
    z-cT)universal_newlinesstderr)fileN)
subprocessrunsys
executablePIPE
returncodeprintr   check_returncodelen
splitlines)coderess     R/data/cameron/venvs/s3viz/lib/python3.14/site-packages/pyarrow/tests/test_array.pytest_total_bytes_allocatedr   )   sz    D
 ..#..$5,0JC
~~cjjszz*szz$$&'1,,,    c                      \         P                  ! . RO4      p \        P                  ! V 4      pV! 4       f   Q h? V! 4       e   Q hR#    Nr         )paarrayweakrefref)arrwrs     r   test_weakrefr$   8   s;    
((9
C	S	B44<<r   c                      \         P                  ! . RO4      p V ^,          P                  4       e   Q hV ^,          P                  RJ g   Q h\	        V ^,          \         P
                  4      '       g   Q hR# )r   NFr   Nr   )r   r   as_pyis_valid
isinstanceInt64Scalarr"   s    r   test_getitem_NULLr,   @   sW    
((<
 Cq6<<>!!!q6??e###c!fbnn----r   c                      \         P                  ! \        4      ;_uu_ 4        \        P                  ! ^^.4       RRR4       R#   + '       g   i     R# ; ir   N)pytestraises	TypeErrorr   Array r   r   test_constructor_raisesr4   G   s2     
y	!	!
!Q 
"	!	!	!s   AA	c                      \         P                  ! R .R. RO.4      p V P                  4       pRpW8X  g   Q hV P                  ^
R7      pRpW8X  g   Q hR# )fooNzQ[
  [
    "foo"
  ],
  null,
  [
    "bar",
    "a longer string",
    null
  ]
])element_size_limitz`[
  [
    "foo"
  ],
  null,
  [
    "bar",
    "a longer (... 7 chars omitted)",
    null
  ]
])barza longer stringNr   r   	to_stringr"   resultexpecteds      r   test_list_formatr>   N   s_    
((UGT#CD
EC]]_FH ]]b]1FH r   c                  j    \         P                  ! . RO4      p V P                  4       pRpW8X  g   Q hR# ) Nz[
  "",
  null,
  "foo"
]r@   Nr6   r9   r;   s      r   test_string_formatrB   o   s1    
(($
%C]]_FH r   c                  |    \         P                  ! \        ^d4      4      p V P                  ^R7      pRpW8X  g   Q hR# )d   )windowz[
  0,
  1,
  ...
  98,
  99
]N)r   r   ranger:   r;   s      r   test_long_array_formatrG   {   s9    
((5:
C]]!]$FH r   c                  n    \         P                  ! . RO4      p V P                  ^R7      pRpW8X  g   Q hR# )r@   N)indentz[
 "",
 null,
 "foo"
]rA   r9   r;   s      r   test_indented_string_formatrJ      s2    
(($
%C]]!]$F+Hr   c                  n    \         P                  ! . RO4      p V P                  ^R7      pRpW8X  g   Q hR# )r@   N)top_level_indentz [
   "",
   null,
   "foo"
 ]rA   r9   r;   s      r   %test_top_level_indented_string_formatrM      s2    
(($
%C]]A].F3Hr   c                  j    \         P                  ! . RO4      p V P                  4       pRpW8X  g   Q hR# )    Nz([
  00,
  ,
  null,
  01666F6F,
  80FF
])rO   r   Ns   foos   r9   r;   s      r   test_binary_formatrP      s1    
((@
AC]]_FH r   c                  F   \         P                  ! . RORR7      p \         P                  ! . RORR7      pV P                  ^8X  g   Q hV P                  ^^4      P                  ^8X  g   Q hVP                  ^8X  g   Q hVP                  ^^4      P                  ^8X  g   Q hR# )   0000Nbinarytypelarge_binary)rR   Ns   11111s   222222s   3333333)r   r   total_values_lengthslice)r"   	large_arrs     r   test_binary_total_values_lengthrZ      s    
((C "CI,.I ""b(((99Q?.."444((B...??1a 44:::r   c                     \         P                  ! \        ^
4      4      p V P                  4       pV P	                  4       ^,          pVP
                  VP                  P                  8X  g   Q hRp ^ RIpVP                  4        VP                  f   Q h\        P                  ! ^
4      p\        P                  P                  W4       R# 
   N)r   r   rF   to_numpybuffersaddressctypesdatagccollectbasenparangetestingassert_array_equal)r"   np_arr	arrow_bufrc   r=   s        r   test_to_numpy_zero_copyrl      s    
((59
C\\^F a I 2 2222
CJJL ;;"""yy}HJJ!!&3r   c                  P   . RO. RO.p \         P                  ! V 4      pRp\        P                  ! \        VR7      ;_uu_ 4        VP                  RR7       RRR4       VP                  4       p. ROp\        P                  P                  W44       R#   + '       g   i     LE; i)	r   z>zero_copy_only must be False for pyarrow.ChunkedArray.to_numpymatchTzero_copy_onlyN)r   r      )rr      rD   )r   r   rr   rr   rs   rD   )	r   chunked_arrayr/   r0   
ValueErrorr^   rf   rh   ri   )elementschunked_arrmsgrj   r=   s        r   %test_chunked_array_to_numpy_zero_copyry      sx    ;'H""8,K
JC	z	-	-D1 
. !!#F#HJJ!!&3 
.	-s   BB%	c                     \         P                  ! . RO4      p \        P                  ! \        4      ;_uu_ 4        V P                  4        RRR4       V P                  RR7      p\        P                  ! . RO4      p\        P                  P                  W4       \         P                  ! . RO4      p\        P                  ! \        4      ;_uu_ 4        VP                  4        RRR4       VP                  RR7      p\        P                  ! . RO\        R7      p\        P                  P                  W4       \         P                  ! . R	O4      p\        P                  ! \        RR7      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     ELS; i  + '       g   i     L; i  + '       g   i     R# ; i)
TFNrp   dtypezwith 1 nullsrn   TFTNNNr   r   N)
r   r   r/   r0   ru   r^   rf   rh   ri   object)bool_arrr<   r=   null_arrr"   s        r   test_to_numpy_unsupported_typesr      s!    xx+,H	z	"	" 
# e4Fxx+,HJJ!!&3xx*+H	z	"	" 
# e4Fxx*&9HJJ!!&3
((<
 C	z	8	8 
9	8% 
#	"	" 
#	" 
9	8	8s#   FF*;F=F'	*F:	=G	c                     \         P                  ! \        ^
4      4      p V P                  4       p\        P
                  ! \        4      ;_uu_ 4        ^
V^ &   RRR4       V P                  RRR7      p^
V^ &   V ^ ,          P                  4       ^ 8X  g   Q h\        P
                  ! \        4      ;_uu_ 4        V P                  RRR7       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r]   NFT)rq   writable)r   r   rF   r^   r/   r0   ru   r'   )r"   rj   np_arr2s      r   test_to_numpy_writabler      s    
((59
C\\^F 
z	"	"q	 
# ll%$l?GGAJq6<<>Q 
z	"	"D48 
#	" 
#	" 
#	"	"s   C8C)C&	)C:	unitsmsusnstzUTCc                     \         P                  ! . RO\         P                  ! WR7      4      p\        P                  ! . RORV  R2R7      pVP	                  4       p\        P
                  P                  WC4       R# )r   r   zdatetime64[]r{   Nr   )r   r   	timestamprf   r^   rh   ri   )r   r   r"   r=   rj   s   &&   r   test_to_numpy_datetime64r     sS     ((9bll47
8Cxx	;tfA)>?H\\^FJJ!!&3r   c                     \         P                  ! . RO\         P                  ! V 4      4      p\        P                  ! . RORV  R2R7      pVP	                  4       p\        P
                  P                  W24       R# )r   ztimedelta64[r   r{   Nr   )r   r   durationrf   r^   rh   ri   )r   r"   r=   rj   s   &   r   test_to_numpy_timedelta64r     sS     ((9bkk$/
0Cxx	<vQ)?@H\\^FJJ!!&3r   c                      \         P                  ! . RO4      P                  4       p \        P                  ! . RO\        R7      pV P                  RR7      p\        P                  P                  W!4       R# )ar{   Frp   N)r   br   )r   r   dictionary_encoderf   r   r^   rh   ri   )r"   r=   rj   s      r   test_to_numpy_dictionaryr     sM     ((?
#
5
5
7Cxxv6H\\\/FJJ!!&3r   c                  4   ^ RI p \        P                  ! \        ^
4      4      p\        ^
4       F2  pVP	                  4       p\
        P                  ! V4      R9   g   Q hRpK4  	  \
        P                  ! V4      R9   g   Q h\        ^
4       F  p\        P                  ! \        ^
4      4      pVP	                  4       pRpV P                  4        \
        P                  ! VP                  P                  4      pV^8X  g   Q hVP                  4        K  	  R# )r   N)r   r   )rc   r   r   rF   	to_pandasr   getrefcountrd   valuesre   sum)rc   r"   iseriesbase_refcounts        r   test_to_pandas_zero_copyr      s    
((59
C2Y v&&000  ??36)))2YhhuRy!


 (:(:;!!!

 r   c                  T   \         P                  ! \        ^4      4      p \        P                  ! V  Uu. uF  qNK  	  up4      pVP                  4       . R	O8X  g   Q hVP                  \        P                  ! R4      8X  g   Q h\        V^ ,          \         P                  P                  4      '       g   Q h\        P                  ! V 4      pVP                  4       . R	O8X  g   Q hVP                  \        P                  ! R4      8X  g   Q h\        P                  ! V RR7      pVP                  4       . R
O8X  g   Q h\         P                  ! . RO4      p V P                  \         P                  ! 4       8X  g   Q h\        P                  ! V 4      pVP                  4       pVR,          . RO8X  g   Q h\        P                  ! V^,          4      '       g   Q hVP                  \        P                  ! R4      8X  g   Q h\         P                  P                  \         P                  ! . RO4      \         P                  ! . RO4      4      p \        P                  ! V 4      pVP                  \        P                  ! R4      8X  g   Q hVP                  4       . RO8X  g   Q hR# u upi )rr   Oint64strr{   N:Nr   Nfloat64r   r   r   r   r   )0123)r   r   r   N)              ?       @r   r   r   r   r   r   r   c)r   r   r   r   r   )r   r   rF   rf   asarraytolistr|   r)   lib
Int64ValuerU   r   isnanDictionaryArrayfrom_arrays)r"   _rj   rv   s       r   test_asarrayr   >  s   
 ((58
C ZZC(CqC()F==?l***<<288C=(((fQi!2!23333 ZZ_F==?l***<<288G,,,, ZZ5)F==?2222 ((?
#C88rxxz!!!ZZ_F}}HB<<'''88HQK    <<288I.... 


(
(
!288O#<>CZZ_F<<288H----==?7777; )s   
J%tyc                 >   \         P                  ! ^V R7      p\         P                  ! . ROV R7      p\        V4      ^8X  g   Q hVP	                  V4      '       g   Q hV f)   VP
                  \         P                  ! 4       8X  g   Q hR# VP
                  V 8X  g   Q hR# )r   rT   Nr~   )r   nullsr   r   equalsrU   nullr   r"   r=   s   &  r   
test_nullsr   f  sw     ((12
Cxx*4Hs8q==::h	zxx2779$$$xx2~~r   c                  h	   \         P                  ! R 4      p \        P                  P	                  4       p\        P                  P                  4       pVP                  V P                  R7      pVP                  V P                  R4      4      p\        P                  ! ^R7      pR^\        P                  ! R.4      3R^
\        P                  ! ^
4      3R^\        P                  ! . RO\        P                  ! 4       R7      3R^\        P                  ! RR.\        P                  ! 4       R7      3R^\        P                  ! R.^,          4      3\        P                   ! ^\        P"                  ! 4       R7      ^\        P                  ! ^.^,          \        P"                  ! 4       R7      3\        P                   ! R4      ^\        P                  ! . RO4      3\        P                   ! R4      ^\        P                  ! R.^,          4      3V^\        P                  ! V.^,          4      3V^
\        P                  ! V.^
,          4      3V^\        P                  ! V.^,          \        P$                  ! R	V P                  R4      R
7      R7      3VP'                  4       ^	\        P                  ! VP'                  4       .^	,          4      3V^\        P                  ! V.^,          4      3R^	\        P                  ! R.^	,          4      3^^.^\        P                  ! ^^.^^..4      3\        P                   ! R^.\        P(                  ! \        P*                  ! 4       4      R7      ^\        P                  ! R^..^,          \        P(                  ! \        P*                  ! 4       4      R7      3R^R^/^\        P                  ! R^R^/.^,          4      3.pV F  w  rxp	\        P,                  ! Wx4      p
\/        V
4      V8X  g   Q hV
P0                  P3                  V	P0                  4      '       g   Q hV
P3                  V	4      '       g   Q hV	P0                  \        P4                  ! 4       8X  d   V
P6                  V8X  g   Q hK  V
P6                  ^ 8X  d   K  Q h	  R# )pytz)tzinfoz
US/Eastern)daysNrT   gGz@stringTr   r   Fr   r   )r   r   r   r~   )r/   importorskipdatetimedatetodaynowreplaceutc
astimezonetimezone	timedeltar   r   r   r   r   scalaruint8r   time
large_listint8repeatr   rU   r   r   
null_count)r   r   r   now_utcnow_with_tzonedaycasesvaluesizer=   r"   s              r   test_array_from_scalarr   y  sn   v&DMM!E





!Ckkk*G$$T]]<%@AKQ'F 
q"((D6"#	r288B< 	QBHHJ78	q"((D$<bjjl;<	1bhhzA~./IIabhhj)HHaS2XBHHJ/	

 
4!RXX&89:	4"bhhv{34	288UGaK()	b"((C52:&'HH	A\\$4==+FG	
 
Q#((*!123	BHHfX\*+	288UGaK()
QBHHq!fq!f-./IIr1gBMM"'')$<=HHr1gY]rwwy)AB	

 q#q	1bhhaa(8'9A'=>?A!EF "'Xii$3x4xxx}}----zz(####==BGGI%>>T)))>>Q&&& "'r   c                     . ROp \         P                  P                  . ROV R7      p\         P                  ! V^ ,          ^4      p\         P                  P                  ^.^,          V R7      pVP	                  V4      '       g   Q h\         P                  ! V^,          ^4      p\         P                  P                  ^ .^,          V R7      pVP	                  V4      '       g   Q hR# )r6   )
dictionaryNr6   r8   baz)r   r   r   r   )r   r   r   r   r   )r   r"   r<   r=   s       r   !test_array_from_dictionary_scalarr     s    &J



(
(*
(
MCYYs1vq!F!!--qcAg*-MH==""""YYs1vq!F!!--qcAg*-MH==""""r   c                     \         P                  ! \        ^
^4      4      p V P                  4       p\        \	        V 4      ) \	        V 4      4       F&  pW,          P                  4       W,          8X  d   K&  Q h	  \        R\	        V 4      ,          \	        V 4      ) 4       F6  p\        P                  ! \        4      ;_uu_ 4        W,           RRR4       K8  	  \        \	        V 4      ^\	        V 4      ,          4       F6  p\        P                  ! \        4      ;_uu_ 4        W,           RRR4       K8  	  R#   + '       g   i     K  ; i  + '       g   i     Ka  ; i)r]   N)	r   r   rF   	to_pylistr   r'   r/   r0   
IndexErrorr"   lstidxs      r   test_array_getitemr     s    
((5R=
!C
--/Cc#hYC)x~~38+++ *R#c(]SXI.]]:&&H '& / SXq3s8|,]]:&&H '& - '&& '&&s   	D;$	E;EE c                  "   \         P                  ! \        ^
^4      4      p V P                  4       p\        \	        V 4      ) \	        V 4      4       F;  pV \
        P                  ! V4      ,          P                  4       W,          8X  d   K;  Q h	  R# r\   )r   r   rF   r   r   rf   int32r'   r   s      r    test_array_getitem_numpy_scalarsr     sb    
((5R=
!C
--/Cc#hYC)288C=!'')SX555 *r   c                     \         P                  ! \        ^
4      4      p V P                  ^4      p\         P                  ! \        ^^
4      4      pVP	                  V4      '       g   Q hV P                  ^^4      p\         P                  ! \        ^^4      4      pVP	                  V4      '       g   Q hV P                  ^ 4      P	                  V 4      '       g   Q h\        V P                  \        V 4      4      4      ^ 8X  g   Q h\        V P                  \        V 4      ^,           4      4      ^ 8X  g   Q h\        V P                  \        V 4      ^,           ^d4      4      ^ 8X  g   Q h\        P                  ! \        4      ;_uu_ 4        V P                  R4       RRR4       \        P                  ! \        4      ;_uu_ 4        V P                  ^R4       RRR4       V R,          P	                  V P                  ^4      4      '       g   Q hV R,          P	                  V P                  ^^4      4      '       g   Q hV RR P	                  V P                  \        V 4      ^,
          4      4      '       g   Q h\        V 4      p\        V) ^,          V^,          4       F  p\        V) ^,          V^,          4       Fo  pWV pVP                  4        V P                  4       Wg pVP                  4       V8X  g   Q h\        f   KJ  VP                  4       P                  4       V8X  d   Ko  Q h	  K  	  R#   + '       g   i     EL; i  + '       g   i     EL|; i)r]   Nr   NNr   rs   Nr   )r   r   rF   rX   r   r   r/   r0   r   ru   validater   rf   r^   r   )	r"   slicedr=   sliced2	expected2nstartstopr   s	            r   test_array_slicer     ss   
((59
CYYq\Fxxa%H==""""ii1oGq!%I>>)$$$$ 99Q<s#### syyS"#q(((syySA&'1,,,syySAs+,111	z	"	"		" 
# 
z	"	"		!R 
# r7>>#))A,''''s8??399Q?++++rs8??399SX\23333CArAvq1u%1"q&!a%(DD/CLLN}}u2H==?h...~||~,,.(::: ) & 
#	"	" 
#	"	"s   L:M:M	M	c                  \   \        \        ^4      4      p \        P                  ! V 4      p\        P                  ! V.4      p\        RRR4      \        R^R4      \        ^
^R4      \        ^RR4      \        ^^
R4      \        ^
^R4      \        RR^4      \        ^ ^
^4      \        ^RR4      \        RRR4      .
pV F  pW,          p\        P                  ! W,          VP                  R7      pVP                  V4      '       g   Q h\        P                  ! V.R.R7      V,          p\        P                  ! V.R.R7      pVP                  V4      '       g   Q hW$,          p\        P                  ! W,          .VP                  R7      pVP                  V4      '       d   K  Q h	  R# )	   NrT   f0namesr   r   ii)	listrF   r   r   rt   rX   rU   r   record_batch)r   r"   rw   r   caser<   r=   s          r   test_array_slice_negative_stepr    sf   %)_F
((6
C""C5)K 	dD"dArb!RaraRb!RdD!aQb#rc3E 88FLsxx8}}X&&&&#tf5d;??H:dV<}}X&&&&"##V\NB}}X&&&& r   c                     . ROp V  F{  p\         P                  ! V!  pVP                  RR7       VP                  \         P                  ! \        \        V!  4      \         P                  ! 4       R7      4      '       d   K{  Q h	  \         P                  ! R^e\         P                  ! 4       R7      pVP                  RR7       VP                  \         P                  ! \        \        R^e4      4      \         P                  ! 4       R7      4      '       g   Q h\        P                  ! \         P                  4      ;_uu_ 4        \         P                  ! ^ ^
^ 4       RRR4       R#   + '       g   i     R# ; i)rs   TfullrT   memory_poolNr   ))rs   g   )r      r   )rr   r  rs   )r]   ir   )rD   i)r   r   )r   r]   r   )r]   r   r   )r   rg   r   r   r   r  rF   r   default_memory_poolr/   r0   ArrowInvalid)r   r  r<   s      r   test_aranger    s    	E D!T"}}RXXd5$<&8rxxzJKKKK  YYr3B,B,B,DEF
OOO==$uR~"6RXXZHIIII 
r	'	'
		!R 
(	'	'	's   E((E9	c                     \         P                  ! R .\         P                  ! 4       R7      p \         P                  ! . RO\         P                  ! 4       R7      p\         P                  ! . R	O4      p\         P                  ! . ^.R.\         P                  ! \         P                  ! 4       4      R7      p\         P                  ! . R
O\         P
                  ! 4       R7      p\         P                  ! ^^.\         P
                  ! 4       R7      pV P                  V 4      R8X  g   Q hV P                  V4      R8X  g   Q hV P                  V4      P                  4       R8X  g   Q hV P                  V4      P                  4       R8X  g   Q hV P                  V4      P                  4       R8X  g   Q hVP                  V4      R8X  g   Q hVP                  V4      R8X  g   Q hR# )r6   rT   Nr@   z
@@ -1, +1 @@
+"bar"
+null
z'# Array types differed: string vs int64z3# Array types differed: string vs list<item: int64>z&
@@ -0, +0 @@
-1.5
+1
@@ -2, +2 @@
-6
r6   r8   Nr   )g      ?r      )r   r   utf8list_r   float16diffstrip)arr1arr2arr3arr4arr5arr6s         r   test_array_diffr!  8  sj   88UG"''),D88(rwwy9D88ID88R!dO"((288:*>?D88Kbjjl3D88QF.D99T?b   99T?    
 99T?  "&OOOO99T?  "&OOOO99T?  " (; < < <99T?b   99T?    r   c                      \         P                  ! \        ^
4      4      p \        \        ^
4      V 4       F  w  rWP	                  4       8X  d   K  Q h	  \        V \        4      '       g   Q hR# r\   )r   r   rF   zipr'   r)   r   )r"   r   js      r   test_array_iterr%  U  sP    
((59
CE"Is#GGI~~ $ c8$$$$r   c                  Z   \         P                  ! \         P                  ! R \         P                  ! 4       4      \         P                  ! R\         P                  ! 4       4      .4      p \         P
                  ! . ROV R7      pVR,          P                  4       R ^RR/R ^RR/.8X  g   Q hR# )r   r         @      @rT   r   NNNr         @r   r'  )rs   r(  )r   structfieldr   float32r   r   )r   r"   s     r   test_struct_array_slicer1  ^  s    	BHHS"''),HHS"**,/1 
2B
((1
;Cr7CC#5$'C#5#7 7 7 7r   c                       ! R  R4      p \         P                  ! V ! 4       .4      p\        P                  ! \        4      ;_uu_ 4        \
        P                  ! V4       RRR4       R#   + '       g   i     R# ; i)c                       ] tR tRtRtR# )1test_array_factory_invalid_type.<locals>.MyObjectij  r3   N)__name__
__module____qualname____firstlineno____static_attributes__r3   r   r   MyObjectr4  j  s    r   r:  Nrf   r   r/   r0   ru   r   )r:  r"   s     r   test_array_factory_invalid_typer<  g  sI      ((HJ<
 C	z	"	"
 
#	"	"	"s   	A**A;	c                      \         P                  ! . RO4      p \        P                  ! V 4      p\        P                  ! V 4      p\        P                  ! V 4      V^,           8X  g   Q hR# r   )rf   r   r   r   r   )r"   refcountr  s      r   test_array_ref_to_ndarray_baser?  r  sF    
((9
Cs#H88C=D??3HqL111r   c                     \         P                  ! . RO\         P                  ! 4       R7      p \         P                  ! . RO\         P                  ! 4       R7      p\         P                  ! . RO\         P                  ! 4       R7      pW8H  RJ g   Q hW8g  RJ g   Q hW8H  RJ g   Q hW8g  RJ g   Q hV ^8H  RJ g   Q hV R8H  RJ g   Q hR# )r   rT   TFNr   )r   r   r   r   )r  r  r  s      r   test_array_eqrA  {  s     88IBHHJ/D88IBHHJ/D88IBHHJ/DLT!!!LU"""LU"""LT!!!AI%DLU"""r   c            	      `   \         P                  ! \        P                  ! . RO4      4      p \         P                  ! \        P                  ! ^.4      4      p\         P
                  P                  \         P                  ! 4       ^W.4      pVP                  \         P                  ! 4       8X  g   Q hVP                  4       . RO8X  g   Q h\         P
                  P                  \         P                  ! 4       ^RV .4      pVP                  \         P                  ! 4       8X  g   Q hVP                  4       . RO8X  g   Q h\         P
                  P                  \         P                  ! 4       ^W.^R7      pVP                  \         P                  ! 4       8X  g   Q hVP                  4       . RO8X  g   Q h\        P                  ! \        4      ;_uu_ 4        \         P
                  P                  \         P                  ! 4       ^RR.^R7       RRR4       R#   + '       g   i     R# ; i)rr   Noffsetr@   rr   rs   r     )rr   Nr  rF  )Nr  rF  )r   	py_bufferrf   int16r   r2   from_buffersrU   r   r/   r0   r1   )
values_buf	nulls_bufr"   s      r   test_array_from_buffersrL    sh   bhh|45JRXXzl34I
((


A	/F
GC88rxxz!!!==?o---
((


Aj/A
BC88rxxz!!!==?l***
((


A	/F'(   *C88rxxz!!!==?l***	y	!	!
bhhj!b"Xa@ 
"	!	!	!s   9HH-	c                     \         P                  ! . RO4      p V P                  4       p\         P                  P	                  \        V 4      V^,          V^,          V^ ,          V P                  V P                  4      pVP                  4       . RO8X  g   Q h\         P                  P	                  \         P                  ! 4       \        V 4      V P                  4       V P                  V P                  4      pVP                  4       . RO8X  g   Q h\         P                  P	                  \        V 4      V^,          V^,          V^ ,          4      pVP                  4       . RO8X  g   Q hV R,          pVP                  4       p\         P                  P	                  \        V4      V^,          V^,          V^ ,          RVP                  4      pVP                  4       . R	O8X  g   Q hVP                  ^8X  g   Q hV R,          pVP                  4       p\         P                  P	                  \        V4      V^,          V^,          RRVP                  4      pVP                  4       RR.8X  g   Q hVP                  ^ 8X  g   Q hR# )
r   Nr   r   r)  r   )r   Nr   r   )   aN   b   cr   )Nr   r   )r   r   r_   StringArrayrI  r   r   rD  r   r2   rS   )r   r_   copiedbinary_copyr   s        r   test_string_binary_from_buffersrT    s   HH*+EmmoG^^((E
GAJ
GAJ8H8HF !6666((''		SZ(-9I9I(-6K   "&>>>>^^((E
GAJ
GAJ8F!66662YFnnG^^((FWQZWQZV]]LF!1111!!! 2YFnnG^^((FWQZT2v}}FF#s+++!!!r   c                  ^   \         P                  ! . RO\         P                  ! 4       R7      p V P                  4       p\         P                  P                  \         P                  ! 4       \        V 4      V4      pVP                  RR7       VP                  4       . RO8X  g   Q hRp\        P                  ! \        VR7      ;_uu_ 4        \         P                  P                  \         P                  ! 4       \        V 4      VR,          4       RRR4       R#   + '       g   i     R# ; i)	 String longer than 12 charactersNrT   Tr	  znumber of buffers is at least 2rn   :r   r   N)rV  NshortzLength is 12)r   r   string_viewr_   StringViewArrayrI  r   r   r   r/   r0   ru   )r   r_   rR  ro   s       r   test_string_view_from_buffersrZ    s    HH	

  "E mmoG,,
#e*g/F
OOO "    /E	z	/	/
''NNc%j'#,	8 
0	/	/	/s   ADD,	list_type_factoryc           	         V ! \         P                  ! 4       4      p\         P                  ! . ROR. . RO.VR7      pVP                  V8X  g   Q hVP	                  4       p\
        P                  ! \        4      ;_uu_ 4        \         P                  P                  V^VRVP                   4       RRR4       \         P                  P                  \         P                  ! 4       ^W1P                  R 4      p\         P                  P                  V^VRVP                   V.R7      pVP                  V4      '       g   Q h\
        P                  ! \        4      ;_uu_ 4        \         P                  P                  V^VRVP                   WD.R7       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   NrT   childrenr   r   r   )r   rr   rs   )r   rH  r   rU   r_   r/   r0   ru   r2   rI  num_buffersr   )r[  r   r   r_   childrR  s   &     r   test_list_from_buffersrb    s@    
288:	&BHHir95B?E::mmoG	z	"	"
b!W_bnn%=> 
# HH!!"((*a1IJEXX""2q'/2>>*BeW"UF==	z	"	"
b!W_bnn%=(-~ 	 	7 
#	" 
#	" 
#	"	"s   /F $2F3 F0	3G	c            	      b   \         P                  ! \         P                  ! R \         P                  ! 4       4      \         P                  ! R\         P                  ! 4       4      .4      p \         P
                  ! R ^ RR/RR ^RR/.V R7      pVP                  4       p\        P                  ! \        4      ;_uu_ 4        \         P                  P                  V ^RV^,          .4       RRR4       \         P                  P                  \         P                  ! 4       ^VR,          4      \         P                  P                  \         P                  ! 4       ^VR,          4      .p\         P                  P                  V ^VR,          VR	7      pVP                  V4      '       g   Q h\        P                  ! \        4      ;_uu_ 4        \         P                  P                  V ^V^ ,          .VR,          R	7       RRR4       R#   + '       g   i     EL); i  + '       g   i     R# ; i)
r   r   r6   Nr@   rT   :r   r   N:r   NN:Nr   Nr]  )r   r.  r/  rH  r  r   r_   r/   r0   ru   r2   rI  r   )r   r   r_   r^  rR  s        r   test_struct_from_buffersrd    sz   	BHHS"((*-rxxRWWY/GH	IBHHsAsE*D332CDEmmoG	z	"	"
b!dGAJ%78 
# %%bhhj!WS\B%%bggiGBK@BHXX""2q'"+"IF==	z	"	"
b!gaj\'/| 	 	5 
#	" 
#	"	" 
#	"	"s   >+H	3H	H	H.	c            
         \         P                  ! . RO\         P                  ! 4       R7      p \         P                  ! . RO4      p\         P                  ! ^^.R^R..4      pR^RRR^^./R^RRRR/R^RRR^R./.p\         P                  P	                  WV.. RO4      pVP
                  \         P                  ! RV P
                  3RVP
                  3RVP
                  3.4      8X  g   Q hVP                  4       V8X  g   Q h\        P                  ! \        4      ;_uu_ 4        \         P                  P	                  WV.RR.4       RRR4       \         P                  P	                  . . 4      pVP
                  \         P                  ! . 4      8X  g   Q hVP                  4       . 8X  g   Q h\         P                  ! RV P
                  RR	7      p\         P                  ! RVP
                  4      p\         P                  ! RVP
                  4      p\         P                  P	                  WV.WVV.R
7      pVP
                  \         P                  ! WVV.4      8X  g   Q hVP
                  ^ ,          P                  '       d   Q hVP                  4       V8X  g   Q h\         P                  ! WVV.4      p\         P                  P	                  WV.VR7      pVP
                  \         P                  ! WVV.4      8X  g   Q hVP
                  ^ ,          P                  '       d   Q hVP                  4       V8X  g   Q h\        P                  ! \        4      ;_uu_ 4        \         P                  P	                  WV.WV.R
7       RRR4       \         P                  P	                  . . R
7      pVP
                  \         P                  ! . 4      8X  g   Q hVP                  4       . 8X  g   Q h\         P                  ! R\         P                  ! 4       4      p	\        P                  ! \        RR7      ;_uu_ 4        \         P                  P	                  WV.WV.R
7       RRR4       WV.p
WVV.p\         P                  ! . RO4      p\         P                  P	                  WVR7      pVP                  4       R.VR,          ,           8X  g   Q h\         P                  P	                  V
. ROVR7      pVP                  4       R.VR,          ,           8X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        \         P                  P	                  W. ROR7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \         P                  P	                  W\         P                  ! . RO4      R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \         P                  P	                  W\         P                  ! V.4      R7       RRR4       \         P                  P	                  . . VR7      pVP!                  4       V8X  g   Q hVP                  4       R/ / .8X  g   Q hR#   + '       g   i     ELE; i  + '       g   i     EL; i  + '       g   i     ELV; i  + '       g   i     ELi; i  + '       g   i     EL; i  + '       g   i     L; i)rr   rT   r8   Nr@   r   r   r   Fnullable)fieldszint64 vs int32rn   )rh  maskr)  r  ri  zMask must beri  znot contain nullsrr   rs   r  )r8   Nr@   r   )TFF)TFN)r   r   r   StructArrayr   rU   r.  r   r/   r0   ru   r/  rg  r   r1   rt   is_null)r   r   r   expected_listr"   fafbfc
structtypefa2arraysrh  ri  s                r   test_struct_from_arraysrv  	  s9   
,A
"#A
1a&$D	*+A	aeS1a&)	adC&	ab#4y)M ..
$
$aAY
@C88ryy
qvvaffQVV}57 7 7 7==?m+++	z	"	"
""A!9sCj9 
# ..
$
$R
,C88ryy}$$$==?b    
#qvv	.B	#qvv	B	#qvv	B
..
$
$aAY|
$
DC88ryy""....xx{#####==?m+++ BB<(J
..
$
$aAYZ
$
@C88ryy""....xx{#####==?m+++	z	"	"
""A!9bX"> 
# ..
$
$R
$
3C88ryy}$$$==?b    ((3

#C	z)9	:	:
""A!9cr]"C 
; AYFb\F88()D
..
$
$V
$
FC==?tf}R'88888
..
$
$V?
$
NC==?tf}R'88888 
y	7	7
""68L"M 
8 
z)<	=	=
""*=!> 	# 	@ 
> 
y	7	7
""!1!14&!9 	# 	; 
8
 ..
$
$R$
$
7C;;=D   ==?tRn,,,y 
#	"	". 
#	"	" 
;	:	: 
8	7	7 
>	=	= 
8	7sH   )%Z
%%Z?&Z2$[8[67[.
Z	Z/	2[	[	[+	.[>	c                     \         P                  ! . RO. RO.4      p \        P                  ! \        RR7      ;_uu_ 4        \         P
                  P                  V .R.4       RRR4       R#   + '       g   i     R# ; i)r   zExpected Arrayrn   r6   Nr   rl  )r   rt   r/   r0   r1   rm  r   )rw   s    r   test_struct_array_from_chunkedrx  X  sR     ""Iy#9:K	y(8	9	9
""K=5': 
:	9	9	9s   #A..A?	rD  c                 (   \         P                  ! . RO4      P                  4       p\         P                  P	                  VP
                  \        V4      V ,
          VP                  P                  4       VP                  V R7      pWR V8X  g   Q hR# )onerC  N)rz  twothreer{  rz  )
r   r   r   r   rI  rU   r   indicesr_   r   )rD  r   r   s   &  r   test_dictionary_from_buffersr~  b  sp    
67IIKA
''Av()		(9(9(;Q\\/5 	( 	7A W:??r   c                     \         P                  ! . RO^4      p \         P                  ! . RO\        R7      p\         P                  ! . RO4      p\        P
                  P                  W4      p\        P
                  P                  WVR7      pVP                  P                  4       V P                  4       8X  g   Q hVP                  P                  4       V P                  4       8X  g   Q hVP                  P                  4       VP                  4       8X  g   Q hVP                  P                  4       VP                  4       8X  g   Q h\        \        V 4      4       F  pW5,          P                  4       WV,          ,          8X  g   Q hW%,          '       d   WE,          P                  4       e   Q hKW  WE,          P                  4       WV,          ,          8X  d   K  Q h	  R# )r   r{   rk  Nr_  r   )FFTFFFrf   r   r   r   r   r   r   r}  r   r   r   rF   r   r'   )r}  r   ri  d1d2r   s         r   test_dictionary_from_numpyr  k  sW   ii	1%G/v>J88=>D				'	'	<B				'	'$	'	GB::!W^^%5555::!W^^%5555==""$
(9(9(;;;;==""$
(9(9(;;;;3w< u{{}
1: 6666775;;=(((5;;=Jqz$:::: !r   c                  >   \         P                  ! . R	O4      P                  RR7      p \         P                  P	                  \         P                  ! . R
O4      \         P                  ! R R.4      4      p\
        P                  P                  VP                  RR7      V 4       \        P                  ! \         P                  4      ;_uu_ 4        VP                  RR7       RRR4       \         P                  P	                  \         P                  ! . RO4      \         P                  ! R R.4      4      p\         P                  ! . RO4      P                  RR7      p \
        P                  P                  VP                  RR7      V 4       \        P                  ! \         P                  4      ;_uu_ 4        VP                  RR7       RRR4       \         P                  P	                  \         P                  ! . RO4      \         P                  ! RR.4      4      p\         P                  ! . RO4      P                  4       p \
        P                  P                  VP                  RR7      V 4       \
        P                  P                  VP                  RR7      V 4       \         P                  P	                  \         P                  ! . R
O4      \         P                  ! RR.4      4      p\         P                  ! . RO4      P                  RR7      p \
        P                  P                  VP                  RR7      V RR7       \         P                  P	                  \         P                  ! . R
O4      \         P                  ! ^^.4      4      p\         P                  ! . RO4      P                  RR7      p \
        P                  P                  VP                  RR7      V RR7       R#   + '       g   i     EL; i  + '       g   i     ELE; i)r6   r8   NFrp   Tffffff+@      &@)	equal_nan)r6   r8   Nr6   )r   r   Nr   )r   r   r   r   )r6   r8   r8   r6   )r  r  r  r  )r  r  Nr  )rF     NrF  )r   r   r^   r   r   rf   rh   ri   r/   r0   r  assert_allclose)r=   r   anonullsafloatafloat2aintss         r   test_dictionary_to_numpyr    s   xx#heh$  	&&
!
% 	A JJ!!!**E*"B"*, 
r	'	' 	


$
' 
( !!--

% H xx$heh$  JJ!!("3"35"3"I"*, 
r	'	'. 
( ++

$F xx01::<HJJ!!&///"F"*,JJ!!&///"G"*,   ,,
!
$G xx heh$  JJ.   **
!
!RE xx()22%2HHJJe,  i 
(	'	'$ 
(	'	's   O7<P7P	P	c                  P   \         P                  ! . RO^4      p \         P                  ! . RO\        R7      p\        P                  ! V 4      p\        P                  ! V4      p\        P
                  P                  W#4      pVP                  P                  4       V P                  4       8X  g   Q hVP                  P                  4       VP                  4       8X  g   Q h\        \        V 4      4       F-  pWE,          P                  4       WV,          ,          8X  d   K-  Q h	  R# )r   r{   Nr_  r   r  )r}  r   iarrdarrr  r   s         r   !test_dictionary_from_boxed_arraysr    s    ii	1%G/v>J88GD88JD				'	'	3B::!W^^%5555==""$
(9(9(;;;;3w< u{{}
1: 6666 !r   c                     \         P                  ! . RO4      p \         P                  ! . RO4      p\         P                  ! . RO4      p\         P                  ! . RO4      p\         P                  P                  W4       \        P
                  ! \         P                  4      ;_uu_ 4        \         P                  P                  W4       RRR4       \        P
                  ! \         P                  4      ;_uu_ 4        \         P                  P                  W#4       RRR4       \         P                  P                  WRR7       R#   + '       g   i     L; i  + '       g   i     LF; i)r   NFsafer   r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r/   r0   ArrowException)indices1indices2indices3r   s       r   'test_dictionary_from_arrays_boundscheckr    s    xx*+Hxx
#Hxx%H/0J ""88	r((	)	)
&&x< 
* 
r((	)	)
&&x< 
*
 ""8e"D 
*	) 
*	)s   , E  EE	E.	c                      \         P                  ! . RO4      p \         P                  ! . RO4      p\         P                  P                  W4      pVP                  P                  RR7       R# )r   Tr	  Nr  r   )r   r   r   r   r}  r   )r}  r   r"   s      r   test_dictionary_indicesr    sK    hh)*G/0J



(
(
=CKKd#r   c                    \         P                  ! . RORR7      p\        P                  ! VRR7      p. ROp\        P                  ! VRR7      pV P                  W54      p\        P                  ! VR,          VR,          VR,          .V! \        P                  ! 4       4      R7      pVP                  V4      '       g   Q hV! \        P                  ! R	\        P                  ! 4       4      4      pV P                  W5V4      pVP                  V8X  g   Q hVP                  P                  P                  R	8X  g   Q h. ROp. ROpV P                  W54      p\        P                  ! VR,          R
VR,          .V! \        P                  ! 4       4      R7      pVP                  V4      '       g   Q h. ROp	V P                  W4      p\        P                  ! VR,          VR,          R
.V! \        P                  ! 4       4      R7      pVP                  V4      '       g   Q h. ROp\         P                  ! ^4      p\        P                  ! \        4      ;_uu_ 4        V P                  W54       R
R
R
4       . ROp\        \        ^4      4      pV P                  W54      p\        P                  ! \        4      ;_uu_ 4        VP!                  RR7       R
R
R
4       V! \        P                  ! 4       4      p\        P                  ! \"        4      ;_uu_ 4        V P                  W5VR7       R
R
R
4       R
#   + '       g   i     L; i  + '       g   i     L~; i  + '       g   i     R
# ; i)r   i4r{   r   rT   rS   Nr   Nr   rs      NnameNr   Tr	  r   r   rs   r  rN  rO  rP     d   e   f   g   hr   Nr   r  rN  rO  rP  r  r  r  )r   r   Nr  )r   r   r]   )r   r   r   r  )rf   r   r   r   rS   r   r/  rU   value_fieldr  rg   r/   r0   ru   r  rF   r   r1   )
list_array_typer[  offsets_arroffsetspyvaluesr   r<   r=   typoffsets2s
   &&        r   test_list_from_arraysr    s   
 ((<t4Khh{1G?HXXhX.F((9Fxx"x}hsmD.ryy{;=H =="""" BHHVRYY[9
:C((#>F;;#;;""''6111 G1F((9FxxT6":6.ryy{;=H =="""" H((:FxxVBZ6.ryy{;=H=="""" GYYq\F	z	"	"##G4 
# G%(^F((9F	z	"	"T" 
# BIIK
(C	y	!	!##G##> 
"	! 
#	" 
#	"
 
"	!	!s$   L9MM9M		M	M0	r"   c                     \         P                  ! W!! \         P                  ! 4       4      4      pV P                  VP                  VP
                  VP                  4       R 7      pW#8X  g   Q hR# )rk  N)r   r   r   r   r  r   rn  )r  r[  r"   reconstructed_arrs   &&& r   !test_list_array_types_from_arraysr  1  sW     ((3)"'')4
5C'33SZZckkm 4 5###r   c                    \         P                  ! ^ .R^ R.^ ..V! \         P                  ! 4       4      4      p\         P                  ! . RO4      pV P                  VP                  VP
                  4      pVP                  4       ^ .. ^ R.^ ..8X  g   Q hV P                  W2P
                  4      pW$8X  g   Q hV P                  VP                  VP
                  VP                  4       R7      pW$8X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        V P                  W2P
                  VP                  4       R7       RRR4       VR,          pRp\        P                  ! \        VR7      ;_uu_ 4        V P                  VP                  VP
                  VP                  4       R7       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   Nrk  zAmbiguous to specify both rn   r)  -Null bitmap with offsets slice not supported.)r   Nr   r   rr   )r   r   r   r   r  r   r   rn  r/   r0   ru   NotImplementedError)r  r[  r"   r  r  	arr_slicerx   s   &&     r   &test_list_array_types_from_arrays_failr  C  s    ((QC4y1#.0A"'')0L
MChh)*G (33CKKL&&(aS"q$i!,EEEE (33GZZH###'33CKK47JJ9< 4 H ### 
z)E	F	F##GZZckkm#L 
G BI
9C	*#	6	6##y//i6G6G6I 	$ 	K 
7	6 
G	F 
7	6	6s   ,F?>7G?G	G#	c                  0   \         P                  ! \         P                  ! 4       \         P                  ! 4       4      p \         P                  ! ^^/.V R7      pVP	                  \         P                  ! \         P
                  ! 4       \         P                  ! 4       4      4      p\         P                  ! \         P
                  ! 4       \         P                  ! 4       4      p\         P                  ! ^^/.VR7      pVP                  V4      '       g   Q hR# )r   rT   N)r   map_r   r   castr   r   )tr"   r<   
t_expectedr=   s        r   test_map_castr  g  s    

BHHJ'A
((QF8!
$CXXbggbhhj"((*56FRXXZ0Jxx!Qz2H==""""r   c                     \         P                  ! \         P                  ! R RRR7      R4      p \         P                  ! RR	.R
..V R7      pVP                  P
                  \         P                  ! R \         P                  ! 4       RR7      8X  g   Q hVP                  P                  \         P                  ! R\         P                  ! 4       4      8X  g   Q h\        V4      ^8X  g   Q hR# )r  r   Frf  r   rT   r   Nr   r   r   r   r   r   )
r   r  r/  r   rU   	key_fieldr  
item_fieldr   r   )r  r"   s     r   test_map_labelledr  s  s    
E:GDA
((Xx(8*5A
>C88&"'')e!LLLL88"((7BHHJ"????s8q==r   c                     \         P                  ! RR.R..\         P                  ! \         P                  ! 4       \         P                  ! 4       4      4      p \         P                  ! R ^R^/R^/.\         P                  ! \         P                  ! 4       \         P                  ! 4       4      4      pV P                  V4      '       g   Q hR# )r   r   r   Nr  r  r  )r   r   r  r   r   r   )tup_arrdict_arrs     r   test_map_from_dictr  |  s    hh8,xj9wwryy{BHHJ79Gxx#q#q)C84		RXXZ8:H >>(####r   c                     \         P                  ! . RORR7      p \        P                  ! V RR7      p. ROp\        \	        \        V4      4      4      p\        \        W#4      4      pVR,          VR,          VR,          .p\        P                  ! VRR7      p\        P                  ! VRR7      p\        P                  P                  WV4      p\        P                  ! V\        P                  ! \        P                  ! 4       \        P                  ! 4       4      R7      p	VP                  V	4      '       g   Q h. ROp. ROp. ROp\        \        W#4      4      pVR,          R	VR
,          .p\        P                  ! VRR7      p\        P                  ! VRR7      p\        P                  P                  WV4      p\        P                  ! V\        P                  ! \        P                  ! 4       \        P                  ! 4       4      R7      p	VP                  V	4      '       g   Q h\        P                  P                  WV\        P                  ! VP                  VP                  4      4      pVP                  V	4      '       g   Q h\        P                  ! \        P                   RR7      ;_uu_ 4        \        P                  P                  WV\        P"                  ! 4       4       R	R	R	4       \        P                  ! \        P                   RR7      ;_uu_ 4        \        P                  P                  WV\        P                  ! VP                  \        P$                  ! 4       4      4       R	R	R	4       \        P                  P                  . ROWg\        P                  ! VP                  VP                  4      \        P                  ! . RO\        P&                  ! 4       R7      R7      pVP(                  ^8X  g   Q hVP                  V	4      '       g   Q h\        P                  P                  . ROWg\        P                  ! . RO\        P&                  ! 4       R7      R7      pVP                  V	4      '       g   Q h. ROpR	R	VR
,          .p\        P                  P                  . ROWg\        P                  ! VP                  VP                  4      \        P                  ! . RO\        P&                  ! 4       R7      R7      p\        P                  ! V\        P                  ! \        P                  ! 4       \        P                  ! 4       4      R7      p	VP(                  ^8X  g   Q hVP                  V	4      '       g   Q hRp
\        P                  ! \        P*                  V
R7      ;_uu_ 4        \        P                  P                  WV\        P                  ! VP                  VP                  4      \        P                  ! . RO\        P&                  ! 4       R7      R7       R	R	R	4       Rp\        P                  ! . RO\        P                  ! 4       4      p\        P                  ! \        P,                  VR7      ;_uu_ 4        \        P                  P                  VP/                  ^4      Wg\        P                  ! VP                  VP                  4      \        P                  ! . RO\        P&                  ! 4       R7      R7       R	R	R	4       . ROp\         P0                  ! ^4      p\         P0                  ! ^4      p\        P                  P                  WV4      p\        P                  ! \2        4      ;_uu_ 4        \        P                  P                  V^.,           Wg4       R	R	R	4       \        P                  ! \2        4      ;_uu_ 4        \        P                  P                  W\         P4                  ! Ww.4      4       R	R	R	4       \        V4      R	R R	.,           p\        V4      \        V4      8X  g   Q h\        P                  ! \2        4      ;_uu_ 4        \        P                  P                  WV4       R	R	R	4       \        P                  ! V\        P                  ! 4       4      p\        P                  P                  VP/                  ^4      Wg4      p\        P                  P                  . ROWg4      p	VP                  V	4      '       g   Q hVP6                  ^8X  g   Q hV	P6                  ^ 8X  g   Q h\        P                  ! . RO\        P                  ! 4       4      p\        P                  P                  VP/                  ^4      \        P                  ! . \        P"                  ! 4       4      \        P                  ! . \        P"                  ! 4       4      4      p\        P                  P                  . RO\        P                  ! . \        P"                  ! 4       4      \        P                  ! . \        P"                  ! 4       4      4      p	VP                  V	4      '       g   Q hVP6                  ^8X  g   Q hV	P6                  ^ 8X  g   Q hR	#   + '       g   i     EL; i  + '       g   i     ELn; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELW; i  + '       g   i     EL; i  + '       g   i     EL; i)r   r  r{   r   rT   r  r   r  rS   Nr   zExpected map type, got stringrn   zMismatching map items typerk  z=Ambiguous to specify both validity map and offsets with nullsr  r  r  r  r  )r   r   r   Nrr   rs   r   r   r   r  FTF)r   NNr  )TTF)r   r   r   rs   r   r   r   rs   )r   r   r   r   r   r   )r   r   r   r   r   )rf   r   r   r  rF   r   r#  MapArrayr   r  rS   r   r   rU   r/   r0   ArrowTypeErrorr   r   bool_r   r  ArrowNotImplementedErrorrX   rg   ru   concatenaterD  )r  r  pykeyspyitemspypairs	pyentrieskeysitemsr<   r=   msg1msg2r   keys_with_nulls                 r   test_map_from_arraysr    sz   ((<t4Khh{1G=F5V%&G3v'(GgclGCL9I88F*DHHW4(E[[$$WE:Fxx			RXXZ(HIH=="""" G1F#G3v'(GdGBK0I88F*DHHW4(E[[$$WE:Fxx			RXXZ(HIH=="""" [[$$WE277		

< F =="""" 
r((0O	P	P
ubiikB 
Q 
r((0L	M	M
ubggIIHHJ7
 	 
N [[$$\4		

A XX*< % F
 !!!=="""" [[$$\4*,((3G8:
+D % 'F =="""" !GtWR[)I[[$$\4		

A XX)
; % F
 xx			RXXZ(HIH!!!=="""" KD	rd	3	3
ubggIIJJ7 .RXXZ@ 	  	
 
4 ;Dhh|RXXZ0G	r22$	?	?
a 0$rwwIIJJ@ .RXXZ@ 	  	
 
@ G99Q<DIIaLE
u5A 
z	"	"
1#t; 
# 
z	"	"
r~~un/MN 
# $Z_v-N~#e*,,,	z	"	"
? 
# hhw
+G[[$$W]]1%5tCF{{&&y$>H==""""==A??ahh)288:6G[[$$a
RYY[!
RYY[!F
 {{&&
RYY[!
RYY[!H
 ==""""==A??aI 
Q	P	P 
N	M	ML 
4	3	3 
@	?	? 
#	"	" 
#	"	" 
#	"	"sW   >5k)Ak"
A8k6&Bl
')l:6l2!mk	"k3	6l	
l	l/	2m	m	c            	      
   \         P                  ! \        ^4      \         P                  ! 4       4      p \         P                  P                  V ^4      pVP                  4       . RO. RO. R	O.8X  g   Q hVP                  P                  \         P                  ! \         P                  ! 4       ^4      4      '       g   Q h\         P                  ! \         P                  ! R\         P                  ! 4       4      ^4      p\         P                  P                  WR7      pVP                  4       . RO. RO. R	O.8X  g   Q hVP                  P                  V4      '       g   Q hVP                  P                  P                  R8X  g   Q h\         P                  P                  V V\         P                  ! . R
O4      R7      pVP                  4       . ROR. R	O.8X  g   Q h\         P                  P                  V ^\         P                  ! . R
O4      R7      pVP                  4       . ROR. R	O.8X  g   Q h\        P                  ! \        4      ;_uu_ 4        \         P                  P                  V R4       RRR4       \        P                  ! \        4      ;_uu_ 4        \         P                  P                  \         P                  ! . \         P                  ! 4       4      ^ 4       RRR4       \        P                  ! \        4      ;_uu_ 4        \         P                  P                  V ^4       RRR4       \         P                  ! \         P                  ! 4       ^4      p\        P                  ! \        4      ;_uu_ 4        \         P                  P                  WR7       RRR4       \         P                  ! \         P                   ! 4       ^4      p\        P                  ! \"        4      ;_uu_ 4        \         P                  P                  WR7       RRR4       \        P                  ! \        4      ;_uu_ 4        \         P                  P                  V 4       RRR4       \         P                  ! \         P                  ! 4       ^4      p\        P                  ! \        4      ;_uu_ 4        \         P                  P                  V ^VR7       RRR4       R#   + '       g   i     EL|; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL$; i  + '       g   i     L; i  + '       g   i     R# ; i)   r  rT   rU   ri  N)	list_sizeri  )r  rU   r   rE  )r  	   r]   r  r  )r   r   rF   r   FixedSizeListArrayr   r   rU   r   r  r/  r  r  r/   r0   ru   r   r1   )r   r<   r  s      r    test_fixed_size_list_from_arraysr    s   XXeBi,F""..vq9F,n!MMMM;;bhhrxxz156666
((288FBHHJ/
3C""..v.@F,n!MMMM;;c"""";;""''6111""..v4746HH=Q4R / TF ,n!EEEE""..v9:46HH=Q4R / TF ,n!EEEE 
z	"	"
))&"5 
# 
z	"	"
))"((2rxxz*BAF 
# 
z	"	"
))&!4 
# ((288:q
!C	z	"	"
))&); 
# ((2::<
#C	y	!	!
))&); 
" 
z	"	"
))&1 
# ((288:q
!C	z	"	"
))&AC)H 
#	"3 
#	"	" 
#	"	" 
#	"	"
 
#	"	"
 
"	!	! 
#	" 
#	"	"sU   !S*!A	S>!T	!T&>!T:	 U=#U!*S;	>T	T#	&T7	:U	U	!U2	c                     \         P                  ! . RO\         P                  ! 4       4      p \         P                  ! . RO4      p\         P                  P	                  W4      pVP                  4       ^^.^^..8X  g   Q hVP                  P                  \         P                  ! \         P                  ! 4       4      4      '       g   Q h\         P                  ! . RO4      p\         P                  P	                  W4      pVP                  4       ^^.R^^..8X  g   Q h\        P                  ! \        4      ;_uu_ 4        \         P                  P	                  \         P                  ! . RO4      V 4       RRR4       \        P                  ! \        4      ;_uu_ 4        \         P                  P	                  \         P                  ! . RO4      V 4       RRR4       R#   + '       g   i     Ls; i  + '       g   i     R# ; i)r   Nr   r   r   rr   )r   r   rr   )r   Nr   rr   )r   r   rr   )r   r   rs   )r   r   r   	ListArrayr   r   rU   r   r  r/   r0   ru   )r   r  r<   s      r   test_variable_list_from_arraysr  G  sN   XXlBHHJ/Fhhy!G\\%%g6F1a&1a&!1111;;bhhrxxz23333hh'G\\%%g6F1a&$A!7777 
z	"	"
  *!5v> 
# 
z	"	"
  )!4f= 
#	" 
#	" 
#	"	"s   7G$#7G7$G4	7H	c            
        aaaa \         P                  ! . RORR7      o\         P                  ! . RORR7      o\         P                  ! . RORR7      p \         P                  ! . RORR7      p\         P                  ! . RORR7      o. ROoVVVV3R lpV! \         P                  P                  V SSS.4      RR.^ ^.V R	7       V! \         P                  P                  V SSS.R
R.4      R
R.^ ^.V R	7       V! \         P                  P                  VSSS.^^.R7      RR.^^.VR	7       V! \         P                  P                  VSSS.R
R.^^.4      R
R.^^.VR	7       \         P                  P                  VSSS.4      p\        P
                  ! \         P                  4      ;_uu_ 4        VP                  RR7       RRR4       \         P                  P                  V SSS.^^.R7      p\        P
                  ! \         P                  4      ;_uu_ 4        VP                  RR7       RRR4       \         P                  ! . RORR7      p\         P                  P                  WSS.4      p\        P
                  ! \         P                  4      ;_uu_ 4        VP                  RR7       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R# ; i)rN  rS   rT   r   r   r   c                   < V P                  R R7       \        V P                  P                  4       Uu. uF   pV P                  V,          P                  NK"  	  ppWQ8X  g   Q hV P                  P
                  R8X  g   Q hV P                  P                  V8X  g   Q hV P                  4       S8X  g   Q hVP                  V P                  4      '       g   Q hS	P                  V P                  4      '       g   Q hV P                  ^ 4      P                  S4      '       g   Q hV P                  ^4      P                  S4      '       g   Q h\        P                  ! \        4      ;_uu_ 4        V P                  R4       RRR4       \        P                  ! \        4      ;_uu_ 4        V P                  ^4       RRR4       R# u upi   + '       g   i     LS; i  + '       g   i     R# ; i)Tr	  denseNr   )r   rF   rU   
num_fieldsr  mode
type_codesr   r   r  r/  r/   r0   KeyError)
r<   expected_field_namesexpected_type_codesexpected_type_code_valuesr   actual_field_namesrS   r   py_valuevalue_offsetss
   &&&&  r   check_result+test_union_from_dense.<locals>.check_resultb  su   T"',V[[-C-C'DF'D! %kk!n11'D 	 F!999{{7***{{%%)<<<<!X---(//0A0ABBBB##FNN3333||A%%f----||A%%e,,,,]]8$$LL %]]8$$LLO %$F %$$$$s   &G.G*GG	G/	r   r   r  r  r  binintr  Tr	  NrN  rO  rP  r  r   r   r   r   r   r   r   r   r     r  r  r  r  r  )r   r   r   r   r   r   r   rN  r   rO  rP  r   r   r  )r   r   r   r   r   r   rr   )r   r   
UnionArray
from_denser/   r0   r  r   )	typeslogical_typesr  r"   bad_offsetsrS   r   r  r  s	        @@@@r   test_union_from_denser
  Z  sw   XX.X>FHHYW-EHH*8EHH9GMHH2AM0H & ))%+15/;'*Cj&'V+0	2 ))%+15/+0%.: (-en&'V+02 ))-+15/68"X * ? (+Cj&("X+8: ))-+15/+0%.2r(D (-en&("X+8: --
"
"=-$*E?4C	r	'	'$ 
(
--
"
"5-&%/12h # 8C	r	'	'$ 
( ((0w?K
--
"
"5
GC	r	'	'$ 
(	' 
(	'	' 
(	' 
(	'	's$   4K"K%K)K	K&	)K:	c            	      j  aaa \         P                  ! . RORR7      o\         P                  ! . RORR7      o\         P                  ! . RORR7      p \         P                  ! . RORR7      p. ROoVVV3R lpV! \         P                  P                  V SS.4      RR.^ ^.V R7       V! \         P                  P                  V SS.R	R
.4      R	R
.^ ^.V R7       V! \         P                  P                  VSS.^^.R7      RR.^^.VR7       V! \         P                  P                  VSS.R	R
.^^.4      R	R
.^^.VR7       \         P                  P                  VSS.4      p\        P
                  ! \         P                  4      ;_uu_ 4        VP                  RR7       RRR4       \         P                  P                  V SS.^^.R7      p\        P
                  ! \         P                  4      ;_uu_ 4        VP                  RR7       RRR4       \        P
                  ! \         P                  4      ;_uu_ 4        \         P                  P                  VSSR,          .4      pRRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)rN  rS   rT   r   r   c                 F  < V P                  R R7       V P                  4       S8X  g   Q h\        V P                  P                  4       Uu. uF   pV P                  V,          P
                  NK"  	  ppWQ8X  g   Q hV P                  P                  R8X  g   Q hV P                  P                  V8X  g   Q hVP                  V P                  4      '       g   Q hV P                  ^ 4      P                  S4      '       g   Q hV P                  ^4      P                  S4      '       g   Q h\        P                  ! \        P                  4      ;_uu_ 4        V P                   RRR4       \        P                  ! \        4      ;_uu_ 4        V P                  R4       RRR4       \        P                  ! \        4      ;_uu_ 4        V P                  ^4       RRR4       R# u upi   + '       g   i     L; i  + '       g   i     Lf; i  + '       g   i     R# ; i)Tr	  sparseNr   )r   r   rF   rU   r  r  r  r  r   r/  r/   r0   r   r  r  r  )	r<   r  r  r  r   r  rS   r   r  s	   &&&&  r   r  ,test_union_from_sparse.<locals>.check_result  s   T"!X---',V[[-C-C'DF'D! %kk!n11'D 	 F!999{{8+++{{%%)<<<<(//0A0ABBBB||A%%f----||A%%e,,,,]]2,,--NN .]]8$$LL %]]8$$LLO %$F .-$$$$$s*   &G$G)G<H)G9	<H	H 	r   r   r  r  r  r  Tr	  Nr)  )rN      rO  rP  r  r  r  )r   r   r   r   r   r   r   r  r  r  )r   r   r  from_sparser/   r0   r  r   )r  r  r  r"   rS   r   r  s       @@@r   test_union_from_sparser    s0   XX@#%FHH*9EHH*8EHH9GM0H( **565/B'*Cj&'V+02 **565/,15>;',en&'V+0	2 **=65/792h + @'*Cj&("X+8	: **=65/,15>,.85 (-en&("X+8: --
#
#MFE?
CC	r	'	'$ 
(
--
#
#EFE?02Bx $ 9C	r	'	'$ 
( 
r	'	'mm''b	7JK 
(	' 
(	' 
(	' 
(	'	's$   I; J*J!;J	J	!J2	c            	         \         P                  P                  \         P                  ! . RO\         P                  ! 4       R7      \         P                  ! . RO4      \         P                  ! . RO4      .4      p V P                  4       . RO8X  g   Q h\         P                  P                  \         P                  ! . RO\         P                  ! 4       R7      \         P                  ! . RO\         P                  ! 4       R7      \         P                  ! . R	O4      \         P                  ! . R
O4      .4      p V P                  4       . RO8X  g   Q hR# )r   rT   N)r   r   r   r   r   )r   皙?Nffffff
@皙@)TNFTF)r   NNr  F)r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r  Nr  )TNF)r   Tr  Nr  NF)r   r  r  r   r   r   r  r   r+   s    r   %test_union_array_to_pylist_with_nullsr    s    
--
#
#
rwwy1HH/0HH56	
C ==?;;;;
--
"
"
&RWWY7
&RXXZ8HH*+HH()	
C ==?FFFFr   c                     \         P                  P                  \         P                  ! . RO\         P                  ! 4       R7      \         P                  ! . R	O4      \         P                  ! . R
O4      .4      p V R,          P                  4       . RO8X  g   Q h\         P                  ! . RORR7      p\         P                  ! . RORR7      p\         P                  ! . RORR7      p\         P                  ! . RORR7      p\         P                  P                  W4W.4      p V P                  4       p\        \        V 4      4       F:  p\        V\        V 4      4       F  pWV P                  4       WVV 8X  d   K  Q h	  K<  	  R# )r   rT   r)  rS   r   r   r   N)r   r   r   r   )r   r   r   dr  )r   r   rr   r   r   r  )r   r   r   r   r   r   r   )	r   r  r  r   r   r   r  rF   r   )r"   rS   r   r  r  r   r   r$  s           r   test_union_array_slicer    s   
--
#
#BHH\	$J%'XX.B%C%'XXl%;%=>C r7+---XX.X>FHHYW-EHH*8EHH2AM
--
"
"5&
IC
--/C3s8_q#c(#A8%%'38333 $ r   r  Tcheck_array_constructionc                4   V w  r4rV\        V\        P                  4      '       d   VP                  V8X  g   Q hTpM\        P                  ! WVR 7      p\        V\        P                  4      '       d   VP                  V8X  g   Q hTpM\        P                  ! W4R 7      pVP                  WaR7      p	V	P                  RR7       V	P                  V4      '       g   Q hV'       d4   \        P                  ! W6VR7      pVP                  V4      '       g   Q hR# R# )rT   r  Tr	  rU   r  N)r)   r   r2   rU   r   r  r   r   )
r  r  r  in_datain_typeout_dataout_typer=   in_arrcasteds
   &$$       r   _check_cast_caser#    s    +/(Gh(BHH%%}}(((88H4 '288$$||w&&&'0[[[-F
OOO==""""  't<}}X&&&&  r   c            
      H   \         P                  ! . RORR7      R\         P                  ! . RORR7      \        P                  ! 4       3\         P                  ! . RORR7      R\         P                  ! . RORR7      \        P                  ! 4       3\         P                  ! . RORR7      R\         P                  ! . RORR7      \        P
                  ! 4       3\         P                  ! . RORR7      R\         P                  ! . RORR7      \        P                  ! 4       3.p V  F  p\        V4       K  	  \         P                  ! R.RR7      R	R
3\         P                  ! R.RR7      R	R3\         P                  ! R.RR7      R	R3\         P                  ! R.RR7      RR
3.pV Fc  w  r4p\        P                  ! W4R7      p\        P                  ! \        P                  4      ;_uu_ 4        VP                  V4       RRR4       Ke  	  R#   + '       g   i     Kz  ; i)r   i1r{   r   r  u4u1f8P  r   rH  p uint16u2rT   Nr   r   )rf   r   r   r   r+  r   r   r#  r/   r0   r  r  )
safe_casesr  unsafe_casesr  r  r   r!  s          r   test_cast_integers_safer/  +  s    
,d	+V	,d	+RXXZ	9	,d	+V	,d	+RYY[	:	,d	+V	,d	+RXXZ	9	,d	+V	,d	+RZZ\	;	J   
5'	&9	5'	&:	2$d	#Wh7	5'	&':	L '3"('0]]2??++KK! ,+ '3 ,++s   0HH!c                      \         P                  ! . RO4      p \        P                  ! \        4      ;_uu_ 4        V P                  R4       RRR4       R#   + '       g   i     R# ; ir   )r   r   r/   r0   r1   r  r+   s    r   test_cast_noner1  H  s9    
((9
C	y	!	! 
"	!	!	!s   AA(	c                  N   \         P                  ! ^^.^^..4      p \        P                  ! \        4      ;_uu_ 4        V P                  \         P                  ! 4       4       RRR4       \         P                  ! RR.R..\         P                  ! \         P                  ! 4       4      4      p \        P                  ! \        4      ;_uu_ 4        V P                  \         P                  ! 4       4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   NrN  rO  rP  )	r   r   r/   r0   r  r  r   r  rS   r+   s    r   test_cast_list_to_primitiver3  P  s    
((QFQF#
$C	*	+	+ 
, ((T4L4&)288BIIK+@
AC	*	+	+ 
,	+	 
,	+ 
,	+	+s   %D %D D	D$	c                      \         P                  ! . R R7      p V P                  ^ 8X  g   Q hV R,          pVP                  V 4      '       g   Q hV R,           R# )r   rT   NNN:Nrs   NN)r   rt   
num_chunksr   )r"   r<   s     r   $test_slice_chunked_array_zero_chunksr7  [  sO    


2F
+C>>QVF== GGr   c                     \         P                  ! . RO4      \         P                  ! . RO4      .p \         P                  ! V 4      p\         P                  ! 4       pVP	                  V4      p\         P                  ! V  Uu. uF  qDP	                  V4      NK  	  up4      pVP                  V4      '       g   Q hR# u upi )r   Nr   rl  )r   r   rt   r   r  r   )ru  carrtargetr"  xr=   s         r   test_cast_chunked_arrayr<  g  s    hhy!288I#67FF#DZZ\FYYvF @A @AH=="""" !As   B<c                     \         P                  ! \         P                  ! 4       \         P                  ! 4       4      \         P                  ! 4       3\         P                  ! 4       \         P
                  ! 4       33 F_  w  r\         P                  ! . V R 7      pVP                  V4      p\         P                  ! . VR 7      pVP                  V4      '       d   K_  Q h	  R# rT   N)	r   r   r   r   r   r   rt   r  r   )typ1typ2r"   r<   r=   s        r   test_cast_chunked_array_emptyrA  q  s    bggi=ryy{K
BHHJ/1
 r-$##BT2}}X&&&&1r   c                     \         P                  ! \        4      ;_uu_ 4        \        P                  ! . .4      P
                  p R R R 4       \        X \        P                  4      '       g   Q hR #   + '       g   i     L4; iN)r/   warnsFutureWarningr   rt   rb   r)   ChunkedArray)r   s    r   test_chunked_array_data_warnsrG  |  sN    	m	$	$t$)) 
%c2??++++ 
%	$s   "A11B	c            	         \         P                  ! R .RR7      R\         P                  ! R .4      P                  RR7      \        P                  ! 4       3\         P                  ! R.RR7      R\         P                  ! R.4      P                  RR7      \        P
                  ! 4       3\         P                  ! R
.RR7      R\         P                  ! R
.4      P                  RR7      \        P
                  ! 4       3\         P                  ! R .RR7      \        P
                  ! 4       \         P                  ! R .4      P                  RR7      \        P                  ! 4       3.p V  F  p\        VRR7       K  	  R	# )r)  r  r{   r   i2r*  r,  Fr  Nr   )rf   r   astyper   rH  r+  r#  r.  r  s     r   test_cast_integers_unsaferL    s    
5'	&	5'		!	!	!	-rxxz	;	5'	&	5'		!	!	!	-ryy{	<	2$d	#W	2$		T		*BIIK	9	5'	&			5'		!	!	!	-rxxz	;	L E* r   c            	         \         P                  ! . RORR7      R\         P                  ! . R	ORR7      \        P                  ! 4       3\         P                  ! . RORR7      R\         P                  ! . R	ORR7      \        P                  ! 4       3\         P                  ! . R
ORR7      R\         P                  ! . RORR7      \        P                  ! 4       3.p V  F  p\	        VRR7       K  	  R# )r   r0  r{   r  r   Tr  Nr   r         @r   )g      $g      4@g      >ir   i)rf   r   r   r   r#  r-  r  s     r   !test_floating_point_truncate_saferR    s     
/	3Y	)4	("((*	6	/	3Y	)4	("((*	6	&i	8)	.	-rxxz	;J D) r   c            	         \         P                  ! . RORR7      R\         P                  ! . RORR7      \        P                  ! 4       3\         P                  ! . RORR7      R\         P                  ! . RORR7      \        P                  ! 4       3\         P                  ! . RORR7      R\         P                  ! . RORR7      \        P                  ! 4       3.p V  FT  p\        P
                  ! \        P                  RR7      ;_uu_ 4        \        VRR7       R	R	R	4       \        VR
R7       KV  	  R	#   + '       g   i     L#; i)r  r0  r{   r  r   	truncatedrn   Tr  NF)r  皙@r  r   )g333333$g3333334@gL>rP  )rf   r   r   r   r/   r0   r  r#  rK  s     r   #test_floating_point_truncate_unsaferV    s     
/	3Y	)4	("((*	6	/	3Y	)4	("((*	6	&i	8)	.	-rxxz	;L ]]2??+>>T- ? 	E* >>s   D77Ec                  :   R^ RR^RRR\        R4      .	p \        P                  ! V \        P                  ! 4       R7      pVP                  \        P                  ! 4       8X  g   Q hVP                  4       R^ RR^RRR	\        R4      .	8X  g   Q h\        V4      R
8X  g   Q hRp\        P                  ! \        P                  VR7      ;_uu_ 4        \        P                  ! . RO\        P                  ! 4       R7      pRRR4       R#   + '       g   i     R# ; i)rs   r   r   Ng1@gS?infrT   g     @g     ?z@[
  -5,
  0,
  1,
  2,
  3,
  null,
  12344,
  1.234375,
  inf
]z@Could not convert 'a' with type str: tried to convert to float16rn   r   )r   r   N)
floatr   r   r  rU   r   r   r/   r0   r  )valsr"   r  s      r   !test_half_float_array_from_pythonr[    s    3Qj(E%LID
((4bjjl
+C88rzz|###==?r1c34'u7 7 7 7s8 2 3 3 3MD	rd	3	3hh~BJJL9 
4	3	3	3s   .D		D	c                  h   \         P                  ! R 4      R\         P                  ! R4      .\        P                  ! ^ ^4      . R	O\        P                  ! 4       3\         P                  ! R4      R\         P                  ! R4      .\        P                  ! ^^
4      . R
O\        P
                  ! 4       3\         P                  ! R4      R\         P                  ! R4      .\        P                  ! ^^
4      . RO\        P                  ! 4       3.p V  F  p\        V4       \        VRR7       K  	  R# )123456Nz-9123451234-9123123z-91Tr  @ Ni'i  Ni]{   Ni)decimalDecimalr   
decimal128r   rH  r   r#  rQ  s     r   test_decimal_to_int_saferi    s     __X&gooi.HIMM"a #HHJ		
 __V$dGOOG,DEMM"b!HHJ		
 __U#T7??5+ABMM"b!GGI		
J( D) r   c                  &   \         P                  ! \        P                  ! R 4      R\        P                  ! R4      .4      \        P
                  ! ^ ^4      . RO\        P                  ! 4       3\        P                  ! R4      R\        P                  ! R4      .\        P
                  ! ^ ^4      . RO\        P                  ! 4       3\        P                  ! R4      R\        P                  ! R4      .\        P
                  ! ^ ^4      . RO\        P                  ! 4       3.p V  FS  p\        P                  ! \        P                  RR7      ;_uu_ 4        \        V4       RRR4       \        VR	R	R
7       KU  	  R#   + '       g   i     L$; i)1234567890123Nz-912345678901234r]  z
-912345678r^  r_  zInteger value out of boundsrn   F)r  r  )iqNi)i@Ni)iN]   )rf   r   rf  rg  r   rh  r   rH  r   r/   r0   r  r#  )out_of_bounds_casesr  s     r   'test_decimal_to_int_value_out_of_boundsrn    s%    HH0 23 
 MM"a *HHJ		
 __X&gool.KLMM"a !HHJ		
 __V$dGOOG,DEMM"a GGI		
#2 $]]2??!>@ @T"@ 	EEJ $@ @s   F  Fc                      \         P                  ! R 4      R\         P                  ! R4      .\        P                  ! ^ ^4      . RO\        P                  ! 4       3\         P                  ! R4      R\         P                  ! R4      .\        P                  ! ^^
4      . RO\        P
                  ! 4       3\         P                  ! R4      R\         P                  ! R4      .\        P                  ! ^^
4      . RO\        P                  ! 4       3.p V  FT  pRp\        P                  ! \        P                  VR7      ;_uu_ 4        \        V4       RRR4       \        VR	R
7       KV  	  R#   + '       g   i     L#; i)z	123456.21Nz
-912345.13z1234.134z-9123.1z123.1451z-91.21-Rescaling Decimal value would cause data lossrn   Fr  ra  rc  rd  )rf  rg  r   rh  r   rH  r   r/   r0   r  r#  )non_integer_casesr  
msg_regexps      r   test_decimal_to_int_non_integerrs    s    ,-
 MM"a #HHJ		
 __Z($	0JKMM"b!HHJ		
 __Z($0IJMM"b!GGI		
#2 "D
]]2??*==T" > 	E* " >=s   E--E=c                  ^   \         P                  ! \        P                  ! R 4      R.\         P                  ! ^^
4      R7      p V P                  \         P                  ! ^^4      4      p\         P                  ! \        P                  ! R 4      R.\         P                  ! ^^4      R7      pVP                  V4      '       g   Q hRp\        P                  ! \         P                  VR7      ;_uu_ 4        V P                  \         P                  ! ^	^4      4      pRRR4       V P                  \         P                  ! ^	^4      RR7      p\         P                  ! \        P                  ! R4      R.\         P                  ! ^	^4      R7      pVP                  V4      '       g   Q h\        P                  ! \         P                  RR7      ;_uu_ 4        V P                  \         P                  ! ^^4      4      pRRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)	z1234.12NrT   rp  rn   Fr  z1234.1z'Decimal value does not fit in precision)
r   r   rf  rg  rh  r  r   r/   r0   r  )r"   r<   r=   rr  s       r   test_decimal_to_decimalru  )  s   
((		#T*]]2r"C XXbmmB*+Fxx		#T*]]2q!H ==""""@J	rj	9	9"--1-. 
: XXbmmAq)X6Fxx		"D)]]1a H ==""""	rF
H 
H"--1-.
H 
H 
:	9
H 
H 
Hs   6'H'HH	H,	c                  4   \         P                  ! \        P                  R .4      p \        P
                  ! \         P                  RR7      ;_uu_ 4        V P                  \         P                  ! 4       RR7       RRR4       R#   + '       g   i     R# ; i)r   rT  rn   Tr  N)	r   r   rf   nanr/   r0   r  r  r   r+   s    r    test_safe_cast_nan_to_int_raisesrx  E  sR    
((BFFB<
 C	rk	:	:$' 
;	:	:	:s   'BB	c                     \         P                  ! . RORR7      \        P                  ! 4       \         P                  ! . RORR7      \        P                  ! 4       3\         P                  ! . RORR7      \        P                  ! 4       \         P                  ! . RORR7      \        P                  ! 4       3.p V  F  p\        V4       K  	  R# )r   r%  r{   r'  rI  r,  Nr   )rf   r   r   r   r+  r#  rQ  s     r   test_cast_signed_to_unsignedrz  M  s     
,d	+RXXZ	,d	+RXXZ	9	,d	+RYY[	,d	+RYY[	:J  r   c                  0   R .^,          p \         P                  ! 4       p\         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P
                  ! 4       \         P
                  ! ^
4      \         P                  ! \         P                  ! 4       4      \         P                  ! \         P                  ! 4       ^4      \         P                  ! \         P                  ! 4       4      \         P                  ! ^^4      \         P                  ! R4      \         P                  ! RRR7      \         P                  ! RRR7      \         P                  ! R4      \         P                  ! 4       \         P                  ! \         P                  ! R\         P                  ! 4       4      \         P                  ! R\         P                  ! \         P                   ! 4       4      4      \         P                  ! R\         P"                  ! 4       4      .4      \         P$                  ! \         P                  ! 4       \         P"                  ! 4       4      .pV F  p\'        WW34       K  	  \         P(                  ! \         P                  ! R\         P
                  ! ^
4      4      \         P                  ! R\         P"                  ! 4       4      .\         P*                  P,                  R7      \         P(                  ! \         P                  ! R\         P
                  ! ^
4      4      \         P                  ! R\         P"                  ! 4       4      .\         P*                  P.                  R7      .p\         P0                  ! V \         P                  ! 4       R	7      pV F?  p\2        P4                  ! \6        4      ;_uu_ 4        VP9                  V4       R R R 4       KA  	  R #   + '       g   i     KV  ; i)
Nr   r   r   zEurope/Parisr   r   r   )r  rT   )r   r   r   r  r  rS   r  rH  r   r   rh  r   r   month_day_nano_intervalr.  r/  r   r   r   r#  unionr   UnionMode_DENSEUnionMode_SPARSEr   r/   r0   r  r  )r  r  	out_typesr   r!  s        r   test_cast_from_nullr  Z  sP   fqjGggiG
	





	
		
		"

Q
bhhj!
b!
T
Te$
Tn-
D
""$
		288C,88C"'')!4588C-/ 	0 	bhhj"))+.'I* 'G>? 
 	"((3		".((3		,.46FF4J4J	L
"((3		".((3		,.46FF4K4K	M	I XXgBGGI.F]].//KK! 0/ ///s   $PPc                  P   \         P                  ! . RO4      \         P                  ! . R	O\         P                  ! 4       R7      3\         P                  ! RR.4      \         P                  ! RR.\         P                  ! 4       R7      3.p V  F  w  rVP	                  VP
                  RR7      pVP                  RR7       VP                  V4      '       g   Q hVP	                  VP
                  RR7      pVP                  RR7       VP                  V4      '       d   K  Q h	  R# )
r   rT   N18446744073709551615l    Tr  r	  )r   127z-128)r      )r   r   r   uint64r  rU   r   r   )r   r!  r=   r"  casted_backs        r   $test_cast_string_to_number_roundtripr    s    	&	'	.rwwy	1	3	4/0	1	4-.RYY[	A	CE "X]]6T"}}X&&&&kk&++Dk9$'!!&)))) "r   c            	      >   \         P                  ! . RO\         P                  ! \         P                  ! 4       \         P                  ! 4       4      R7      p \         P                  ! . RO4      pV P
                  \         P                  ! \         P                  ! 4       \         P                  ! 4       4      8X  g   Q hV P                  \         P                  ! 4       4      V8X  g   Q h\         P                  ! 4       \         P                  ! 4       \         P                  ! 4       3 F  p\         P                  ! V\         P                  ! 4       4      p\         P                  ! . RO\         P                  ! V\         P                  ! 4       4      R7      pV P                  V4      V8X  d   K  Q h	  \        P                  ! \         P                  4      ;_uu_ 4        V P                  \         P                  ! 4       4       RRR4       R#   + '       g   i     R# ; i)r6   NrT   r  )r   r   r   r   r   rU   r  r   rH  r   r/   r0   r  )r"   r=   key_typer  s       r   test_cast_dictionaryr    s2   
((]]288:ryy{3C xx,-H88r}}RXXZ====88BIIK H,,, WWY
BHHJ7mmHbiik288 x5
 xx}((( 8 
r	'	' 
(	'	'	's   %HH	c                     \         P                  ! . RO\         P                  ! 4       R7      p \         P                  ! . RO\         P                  ! 4       R7      pV P	                  \         P                  ! 4       4      P                  V4      '       g   Q hV P	                  R4      P                  V4      '       g   Q hR# )r6   rT   rS   Nr   )r   r   r  rS   viewr   r"   r=   s     r   	test_viewr    sv    
(((rwwy
9Cxx-BIIK@H88BIIK ''111188H$$X....r   c                  X   \         P                  ! . RO4      \         P                  ! . RO4      3\         P                  ! . RO4      \         P                  ! . RO4      3\         P                  ! . RO\         P                  ! 4       4      \         P                  ! . RO\         P                  ! 4       4      3.p V  Fl  w  rVP                  4       pVP	                  V4      '       g   Q h\         P
                  ! V.4      P                  4       pVP	                  V4      '       d   Kl  Q h	  R# )r   Nr   r   r   r   r   r   r   r6   Nr8   r6   r6   Nr8   )r   r   rV   uniquer   rt   r   r"   r=   r<   s       r   test_unique_simpler    s    	$	%rxx	':;	-	.	&	'	)	-r/@	A	&(9	:	<	E }}X&&&&!!3%(//1}}X&&&&	 r   c                     \         P                  ! . RO4      \         P                  ! . RO4      \         P                  ! . RO\         P                  ! 4       R7      3\         P                  ! . RO4      \         P                  ! . R	O4      \         P                  ! . R
O\         P                  ! 4       R7      3\         P                  ! . RO\         P                  ! 4       4      \         P                  ! . R	O\         P                  ! 4       4      \         P                  ! . R
O\         P                  ! 4       R7      3.p V  EF  w  rpV\         P                  ! V.4      3 F  pVP                  4       pVP                  P                  \         P                  ! \         P                  ! RVP                  4      \         P                  ! R\         P                  ! 4       4      .4      4      '       g   Q hVP                  R4      P                  V4      '       g   Q hVP                  R4      P                  V4      '       d   K  Q h	  EK
  	  R# )r   rT   Nr   countsr  r   r   r   r   r  r  )r   r   r   )
r   r   r   rV   rt   value_countsrU   r   r.  r/  )r   r"   expected_valuesexpected_countsarr_inr<   s         r   test_value_counts_simpler    s   	$	%	)		)"((*	-	/ 
-	.	&	'	)"((*	-	/ 
-r/@	A	&(9	:	)"((*	-	/
E 27-oB,,cU34F((*F;;%%		288Hchh788Hbhhj9; <= = = = <<)00AAAA<<)00AAAA 5 27r   c                     \         P                  ! . RO4      p \         P                  ! . RO4      p\         P                  P                  W4      pVP	                  4       p\         P                  P                  V P	                  4       V4      pVP                  V4      '       g   Q hVP                  4       pVP                  R4      P                  V4      '       g   Q hVP                  R4      P                  \         P                  ! . R	ORR7      4      '       g   Q h\         P                  P                  \         P                  ! . RR7      V4      pVP	                  4       p\         P                  P                  \         P                  ! . RR7      \         P                  ! . RR7      4      pVP                  V4      '       g   Q hVP                  4       pVP                  R4      P                  V4      '       g   Q hVP                  R4      P                  \         P                  ! . RR7      4      '       g   Q hR# )
r   r   r  r   rT   r  N)r   r   r   r   r   r   r   r   r   r   r   r   )r6   r8   r   qux)r   rs   rr   )r   r   r   r   r  r   r  r/  )r}  r   r"   unique_resultr=   r<   s         r   (test_unique_value_counts_dictionary_typer    s   hh;<G67J



(
(
=CJJLM!!--gnn.>
KH))))F<<!((7777<<!(()')JKKKK



(
(
'"J0CJJLM!!--bhhr.H.0hhr.GIH))))F<<!((7777<<!(("7)CDDDDr   c                  T   \         P                  ! . RO4      \         P                  P                  \         P                  ! . RORR7      . RO4      3\         P                  ! . R	O4      \         P                  P                  \         P                  ! . R
ORR7      RR.4      3\         P                  ! . R	O\         P                  ! 4       R7      \         P                  P                  \         P                  ! . R
ORR7      \         P                  ! RR.\         P                  ! 4       R7      4      3.p V  F  w  rVP                  4       pVP                  V4      '       g   Q h\         P                  ! V.4      P                  4       pVP                  ^8X  g   Q hVP                  ^ 4      P                  V4      '       g   Q h\         P                  ! . VP                  R7      P                  4       pVP                  ^ 8X  g   Q hVP                  VP                  8X  d   K  Q h	  R# r   Nr   rT   r6   r8   r   r   r   Nr   r   r   )r   r   r   Nr   r   r   r   r  )r   Nr   r   )r   r   r   r   rV   r   r   rt   r6  chunkrU   r  s       r   test_dictionary_encode_simpler    s   	*	+				'	'XX.W=
	 
-	.				'	'XXoG4U^
	 
-BOO4E	F				'	'XXoG4XXuen2??+<=
?	@E &&(}}X&&&&!!3%(::<  A%%%||A%%h////!!"3884FFH  A%%%{{hmm+++ r   c                     \         P                  ! . RO4      ^R \         P                  P                  \         P                  ! . RORR7      . R	O4      3\         P                  ! . R
O4      ^R \         P                  P                  \         P                  ! . RORR7      RR.4      3\         P                  ! . R
O\         P                  ! 4       R7      ^R \         P                  P                  \         P                  ! . RORR7      \         P                  ! RR.\         P                  ! 4       R7      4      3.p V  EF  w  rVP                  4       pVP                  V4      '       g   Q h\         P                  ! V.4      P                  4       pVP                  ^8X  g   Q hVP                  VP                  8X  g   Q hVP                  ^ 4      P                  V4      '       g   Q h\         P                  ! . VP                  R7      P                  4       pVP                  ^ 8X  g   Q hVP                  VP                  8X  d   EK  Q h	  \         P                  ! . RO4      pVP                  ^4      P                  4        R# )r   Nr   rT   r6   r8   r  r   )r   r   Nr   r   )r   r   r   )Nr6   r8   r6   xyzzyr   r   r   r   )r   r   r   r   large_stringr   r   rt   r6  rU   r  rX   )r   r"   r=   r<   r   s        r   test_dictionary_encode_slicedr    s   	*	+Ab	1				'	'XX(w7
	 
6	7"	=				'	'XXig.U^
	 
6(
**+B
0				'	'XXig.XXuen2??+<=
?	@E &&(}}X&&&&!!3%(::<  A%%%{{hmm+++||A%%h////!!"3884FFH  A%%%{{hmm+++  HH*+E	KKN$$&r   c                      \         P                  ! . \         P                  ! 4       R 7      p V P                  4       p\	        VP
                  4      ^ 8X  g   Q hVP                  RR7       R# )rT   Tr	  N)r   r   r   r   r   r   r   )r"   encodeds     r   "test_dictionary_encode_zero_lengthr  ,  sP    
((2BIIK
(C##%Gw!!"a'''$r   c                     \         P                  ! . RO4      \         P                  P                  \         P                  ! . RORR7      . RO4      3\         P                  ! . R	O4      \         P                  P                  \         P                  ! . R
ORR7      RR.4      3\         P                  ! . R	O\         P                  ! 4       R7      \         P                  P                  \         P                  ! . R
ORR7      \         P                  ! RR.\         P                  ! 4       R7      4      3.p V  F.  w  rVP                  4       pVP                  V4      '       d   K.  Q h	  R# r  )r   r   r   r   rV   dictionary_decoder   )r   r=   r"   r<   s       r   test_dictionary_decoder  4  s   	*	+				'	'XX.W=
	 
-	.				'	'XXoG4U^
	 
-BOO4E	F				'	'XXoG4XXuen2??+<=
?	@E &&(}}X&&&& r   c                     \         P                  ! \        P                  ! . RORR7      \         P                  ! R4      R7      p \         P                  ! . RORR7      pV P	                  R4      pVP                  V4      '       g   Q hR# )r   r   r{   r   rT   r  Nr_  )r   r   rf   time32r  r   r"   r=   r<   s      r   test_cast_time32_to_intr  H  sZ    
((288IW5		#(Cxx	-HXXd^F==""""r   c                     \         P                  ! \        P                  ! . RORR7      \         P                  ! R4      R7      p \         P                  ! . RORR7      pV P	                  R4      pVP                  V4      '       g   Q hR# r   r   r{   r   rT   i8Nr_  )r   r   rf   time64r  r   r  s      r   test_cast_time64_to_intr  R  sZ    
((288IW5		$)Cxx	-HXXd^F==""""r   c                     \         P                  ! \        P                  ! . RORR7      \         P                  ! R4      R7      p \         P                  ! . RORR7      pV P	                  R4      pVP                  V4      '       g   Q hR# r  )r   r   rf   r   r  r   r  s      r   test_cast_timestamp_to_intr  \  s[    
((288IW5T*,Cxx	-HXXd^F==""""r   c            	         \         P                  ! . RORR7      p V P                  R4      pVP                  R4      p\         P                  ! \        P                  ! R^^4      \        P                  ! R^^4      \        P                  ! R^^4      .4      P                  R4      pVP                  V4      '       g   Q hVP                  V 4      '       g   Q hR# )r   r  rT   date32  Nr_  )r   r   r  r   r   r   )r"   result1result2	expected1s       r   test_cast_date32_to_intr  f  s    
((94
(Chhx Gll4 GdAq!dAq!dAq!  tH~	  >>)$$$$>>#r   c                     \         P                  ! \        P                  ! . RORR7      \         P                  ! R4      R7      p \         P                  ! . RORR7      pV P	                  R4      pVP                  V4      '       g   Q hR# r  )r   r   rf   r   r  r   r  s      r   test_cast_duration_to_intr  v  s[    
((288IW5D)+Cxx	-HXXd^F==""""r   c                     \         P                  ! . RO\         P                  ! 4       R7      p V P                  \         P                  ! 4       4      p\         P                  ! . RO\         P                  ! 4       R7      pVP                  V4      '       g   Q hRP                  R4      .p\         P                  ! V4      pVP                  \         P                  ! 4       8X  g   Q h\        P                  ! \        4      ;_uu_ 4        VP                  \         P                  ! 4       4       RRR4       \         P                  ! V\        P                  ! R.4      \         P                  ! 4       R7      pVP                  \         P                  ! 4       4      pVP                  ^8X  g   Q hR#   + '       g   i     L; i)	   foorT      mañana	utf-16-leNTri  rU   )r  s   bars   bazr   )r   r   rS   r  r  r   encoderU   r/   r0   ru   r   rf   r   )
binary_arrutf8_arrr=   non_utf8_valuesnon_utf8_binarynon_utf8_all_nullr"  s          r   test_cast_binary_to_utf8r    s   2EJrwwy)Hxx-BGGI>H??8$$$$!))+67Ohh/O299;...	z	"	"RYY[) 
# rxx7G&(iik3 ##BIIK0F!!! 
#	"s   %F//F?	c                     \         P                  ! \        P                  ! . RORR7      \         P                  ! 4       R7      p \         P                  ! . RORR7      pV P	                  R4      pVP                  V4      '       g   Q hR# )r   r   r{   rT   r  Nr_  )r   r   rf   date64r  r   r  s      r   test_cast_date64_to_intr    sX    
((288IW5		%Cxx	-HXXd^F==""""r   c            	         \         P                   ! R ^^^^"^8R4      p \         P                   ! R ^^4      p\        P                  ! W.RR7      p\        P                  ! V P                  4       VP                  4       .RR7      pVP	                  V4      '       g   Q hVP                  R4      pV^ ,          P                  4       V^,          P                  4       8X  g   Q hR# )  rb  r  rT   r   N)r   r   r   r   r   r  r'   )val1val2r<   r  as_i8s        r   !test_date64_from_builtin_datetimer    s    T1aRV<DT1a(DXXtl2Fhh		TYY[1AG==!!!!KK E8>>uQx~~////r   c            
         \         P                  ! . RO. RO\         P                  ! 4       R7      p \         P                  ! \        P                  ! R^^4      \        P                  ! R^^4      R\        P                  ! R^^4      .\         P                  ! 4       R7      pV P                  V4      '       g   Q h\         P                  ! \        P                  ! R^^4      \        P                  ! R^^4      R\        P                  ! R^^4      .\         P                  ! 4       R7      pVP                  ^8X  g   Q hV^,          P                  4       e   Q h\         P                  ! . RO. RO\         P                  ! 4       R7      p\         P                  ! \        P                  ! R^^4      \        P                  ! R^^4      R\        P                  ! R^^4      .\         P                  ! 4       R7      pVP                  V4      '       g   Q h\         P                  ! \        P                  ! R^^4      \        P                  ! R^^4      R\        P                  ! R^^4      .\         P                  ! 4       R7      pVP                  ^8X  g   Q hV^,          P                  4       e   Q h\         P                  ! . R	O. R
O\         P                  ! 4       R7      pVP                  ^8X  g   Q hR# )r   r  r  NrT   i  )r   r   r   r   FFTF)r   i \&i L
i sr   TTTT)	r   r   r  r   r   r   r   r'   r  )
arr_date32expected_date32arr_date32_dates
arr_date64expected_date64arr_date64_datesarr_all_nulls          r   .test_create_date32_and_date64_arrays_with_maskr    sQ   ,:!yy{,J hhdAq!dAq!dAq!	 
 IIKO _---- xxdAq!dAq!dAq!	!
 IIK &&!+++A$$&... =:!yy{,J hhdAq!dAq!dAq!	 
 IIKO _---- xxdAq!dAq!dAq!	!
 IIK &&!+++A$$&... 88L!9!#.L ""a'''r   boolFr   r   r+  rH  uint32r   r  r   rY  doubler   r   r   r   rS   c                     \         P                  ! WR 7      pVP                  V 4      P                  V4      '       g   Q hR# r>  )r   r   r  r   )r   r   r"   s   && r   test_cast_identitiesr    s1    " ((6
#C88B<s####r   c                     \         P                  ! WR 7      p\        ^ VP                  ^,           4       F<  pVP	                  VP                  W44      4      pVP                  V4      '       d   K<  Q h	  R# r>  )r   r   rF   HIGHEST_PROTOCOLloadsdumpsr   )rb   r  pickle_moduler   protor<   s   &&&   r   test_array_pickler  		  s^     HHT$Eq-881<=$$]%8%8%FG||F#### >r   c                    \         P                  P                  . RO. RO4      p\        ^ V P                  ^,           4       F<  pV P                  V P                  W4      4      pVP                  V4      '       d   K<  Q h	  R# )r   Nr   r   )r   r   r   rF   r  r  r  r   )r  r   r  r<   s   &   r   test_array_pickle_dictionaryr  	  sh     **?OLEq-881<=$$]%8%8%FG||F#### >r   )suppress_health_check)	min_value	max_valuer   c                 |    V P                  V4      pV P                  V4      pVP                  V4      '       g   Q hR # rC  )r  r  r   )r  r"   rb   restoreds   &&  r   test_picklingr  	  s9     s#D""4(H::hr   c                    \         P                  ! WR 7      pVP                  4        Uu. uF  pVe   VP                  M^ NK  	  pp\	        ^VP
                  ^,           4       F  p. pVP                  W6VP                  R7      pVP                  WR7      p	VP                  V	4      '       g   Q hV	P                  4        Uu. uF  pVe   VP                  M^ NK  	  p
pW8X  d   K  Q h	  R# u upi u upi )rT   N)buffer_callback)r_   )
r   r   r_   r`   rF   r  r  appendr  r   )rb   r  r  r   buf	addressesr  r_   pickledr<   result_addressess   &&&        r   test_array_pickle_protocol5r  *	  s     HHT$E!MMO-+S !$Q6+  - q-881<=%%eGNN%S$$W$>||F#### (.~~'79'7 ,/?CKKA'7 	 9,,, >-9s   C.C3c                     \         P                  ! ^
\         P                  R7      \         P                  ! ^
\         P                  R7      \         P                  ! ^
\         P                  R7      \         P                  ! ^
\         P
                  R7      \         P                  ! ^
\         P                  R7      \         P                  ! ^
\         P                  R7      \         P                  ! ^
\         P                  R7      \         P                  ! ^
\         P                  R7      \         P                  ! ^
\         P                  R7      \         P                  ! ^
\         P                  R7      \         P                  ! ^
\         P                  R7      3 EF&  p \        P                  ! V 4      pV P                  VP!                  4       P                  8X  g   Q h\         P"                  P%                  WP!                  4       4       \         P"                  P%                  V R,          VR,          P!                  4       4       \         P"                  P%                  V R,          VR,          P!                  4       4       \         P"                  P%                  V R,          VR,          P!                  4       4       EK)  	  R# )r]   r{   :Nr  Nr   :r   r  NN)rf   rg   r   r   rH  r   r  r  r+  r   r   r0  r  r   r   r|   r^   rh   ri   )narrr"   s     r   test_to_numpy_roundtripr  <	  s    			"BHH%
		"BHH%
		"BHH%
		"BGG$
		"BII&
		"BII&
		"BII&
		"BHH%
		"BJJ'
		"BJJ'
		"BJJ' hhtnzzS\\^11111


%%dLLN;


%%d2hB0@0@0BC


%%d2hB0@0@0BC


%%d3iS1B1B1DE%r   c                      \         P                  ! R.\         P                  ! 4       R7      p \         P                  ! \        P                  ! R.RR7      4      pV P	                  V4      '       g   Q hR# )r   rT   u8r{   N            )r   r   r  rf   r   r  s     r   $test_array_uint64_from_py_over_ranger  S	  sJ    
((G9299;
/Cxx'$78H::hr   c                     \         P                  ! . RORR7      p \        P                  ! V 4      p\        P                  ! V 4      p\        P                  ! V 4      V^,           8X  g   Q hVP
                  R8X  g   Q hR Fy  p\        P                  ! \         P                  ! ^\         P                  ^^\         P                  ^.VR7      VR7      pVP
                  V8X  g   Q hVP                  ^ 8X  d   Ky  Q h	  R# )r   r   r{   rT   Nr  )r  r0  r   )rf   r   r   r   r   rU   rw  r   )r"   r>  r  r   r  s        r   )test_array_conversions_no_sentinel_valuesr  Z	  s    
((<v
.Cs#H88C=D??3HqL11199/xx!RVVQ2661!=RH!yyB!###	 0r   c                     \         P                  ! . RO\         P                  ! R4      R7      p \         P                  ! \        P                  ! ^R7      \        P                  ! ^R7      R.\         P                  ! R4      R7      pV P                  V4      '       g   Q h\         P                  ! . RO\         P                  ! R4      R7      p \         P                  ! \        P                  ! RR7      \        P                  ! RR7      R.\         P                  ! R4      R7      pV P                  V4      '       g   Q h\         P                  ! . RO\         P                  ! R	4      R7      p \         P                  ! \        P                  ! ^R7      \        P                  ! ^R7      R.\         P                  ! R	4      R7      pV P                  V4      '       g   Q h\         P                  ! . RO\         P                  ! R
4      R7      p \         P                  ! \        P                  ! ^R7      \        P                  ! ^R7      R.\         P                  ! R
4      R7      pV P                  V4      '       g   Q hR# )r   Nr   rT   )secondr     )microsecondr  r   r   r   )r  r  N)r   r   r  r   r   r   r  )r<   r=   s     r   test_time32_time64_from_integerr  j	  s   XXl38Fxxa0!a0$8YYs^-H ==""""XXl49Fxx48!48$@YYt_.H ==""""XXl49Fxx15!15t=YYt_.H ==""""XX(ryy?Fxx15!15t=YYt_.H ==""""r   c                  ,    R  p V ! R4       V ! R4       R# )c                     \         P                  ! R \        P                  .V RR7      p\         P                  ! R R.V R7      pVP	                  V4      '       g   Q hR# )r   TrU   from_pandasNrT   )r   r   rf   rw  r   r   s   &  r   _check_case=test_binary_string_pandas_null_sentinels.<locals>._check_case	  sG    hh"&&)E88Xt,26zz(####r   rS   r  Nr3   )r  s    r   (test_binary_string_pandas_null_sentinelsr  	  s    $ r   c                  *   R \         P                  .R3R\         P                  .R3R\         P                  .R3R\         P                  .R3R\         P                  .R3R\         P                  .\        P                  ! ^4      3R\         P                  .\        P                  ! 4       3\
        P                  ! R	4      \         P                  .\        P                  ! ^^4      3^ \         P                  .\        P                  ! 4       3^ \         P                  .\        P                  ! 4       3^ \         P                  .\        P                  ! 4       3^ \         P                  .\        P                  ! R
4      3^ \         P                  .\        P                  ! R4      3^ \         P                  .\        P                  ! R4      3^ \         P                  .\        P                  ! R4      3.p V  F  w  r\        P                  ! \         \"        34      ;_uu_ 4        \        P$                  ! WR7       R R R 4       \        P$                  ! WRR7      pVP&                  VR8w  d   ^M^8X  d   K  Q h	  R #   + '       g   i     LJ; i)Nr   r   rS   r  rV   
large_utf8s   stringTr   r   r   rT   r  )rf   rw  r   rS   r  rf  rg  rh  r  r  r  r  r   r   r/   r0   ru   r1   r   r   )r   r  r   r<   s       r   &test_pandas_null_sentinels_raise_errorr  	  s     
BFF	X&
BFF	V$
BFF	^,
BFF	\*
RVV	biil+
$
//#
	'r1)=>
RVVbiik"
RVVbiik"
RVVbiik"
RVVbiin%
RVVbiio&
RVVbll4()
RVVbkk$'(E" ]]J	233HHT# 4 $T:  ",QA>>> 33s   (JJc                     ^ RI p V P                  ^^\        P                  .\        R7      p\
        P                  ! V4      p\
        P                  ! ^^\        P                  .RR7      pVP                  V4      '       g   Q hR# )r   Nr{   T)r  )pandasIndexrf   rw  r   r   r   r   )pdr   r<   r=   s       r    test_pandas_null_sentinels_indexr!  	  s_     
((Aq"&&>(
0CXXc]FxxArvvD9H==""""r   c                     \         P                  ! R \        P                  ! R^^4      .RR7      p \        P                  ! V 4      p\        P                  ! R \        P                  ! R^^4      .\        P
                  ! 4       R7      pVP                  V4      '       g   Q hVP                  RR7      p\         P                  P                  W4       VP                  V P                  8X  g   Q hR # )N  zdatetime64[D]r{   rT   Frp   )rf   r   r   r   r   r  r   r^   rh   ri   r|   r;   s      r   )test_array_roundtrip_from_numpy_datetimeDr$  	  s    
((D(--a34O
LCXXc]Fxxx}}T1a89		LH==""""__E_2FJJ!!&.<<399$$$r   c                      \         P                  ! R \        P                  ! R^^^^^
4      \        P                  ! R^^^ ^^ 4      .4      p V P                  \         P                  ! RR R7      8X  g   Q hR # )Nr#    r   r   )r   r   r   rU   r   r+   s    r   test_array_from_naive_datetimesr'  	  sg    
(($1b"b1$1aA. C
 88r||DT2222r   datetime64[s]datetime64[ms]zdatetime64[us]zdatetime64[ns]c           
         R \         P                   ! R^^^^^
4      \         P                   ! R^^^ ^^ 4      .p\        P                  ! \        P                  ! W R7      4      p\        P                  ! W!R7      pVP	                  V4      '       g   Q h\        P                  ! \        \        P                  ! W R7      4      4      pVP	                  V4      '       g   Q hR # )Nr#  r&  r{   rT   )r   r   r   rf   r   r  )r|   rU   rb   r"   r=   s   &&   r   test_array_from_numpy_datetimer+  	  s     	$1b"b1$1aA.D ((288D.
/Cxx(H::h ((434
5C::hr   c            
         R \         P                   ! R^^^^^
4      \         P                   ! R^^^ ^^ 4      .p \        P                  ! V RR7      p\        P                  ! V RR7      p\        VR,          4      \        VR,          4      ,           p \        P
                  ! \        P                  RR	7      ;_uu_ 4        \        P                  ! V 4       R R R 4       R #   + '       g   i     R # ; i)
Nr#  r&  r(  r{   r)  r  r   z*Cannot mix NumPy datetime64 units s and msrn   )r   rf   r   r  r/   r0   r   r  )rb   r   r   s      r   5test_array_from_different_numpy_datetime_units_raisesr-  	  s     	$1b"b1$1aA.D
 	_-A	$.	/B";bf%D	rI
K 
K

K 
K 
K 
Ks   ?C  C1	c                 >   \         P                  ! R R4      .p\         P                  ! RV 4      .pW,           p\        P                  ! \        P
                  RV  2R7      ;_uu_ 4        \        P                  ! V4       RRR4       R#   + '       g   i     R# ; i)z
2020-01-01r   2020z(Cannot mix NumPy datetime64 units s and rn   Nrf   
datetime64r/   r0   r   r  r   )r   s_dataunsupported_datarb   s   &   r   5test_array_from_unsupported_numpy_datetime_unit_namesr4  	  s|     mmL#./Ffd34 $D	rGvN
P 
P

P 
P 
P 
Ps   *BB	c                    \         P                  ! R V 4      p\         P                  ! RV 4      p\         P                  ! RV 4      p\        P                  ! WV.4      p\        P                  ! WV.\        P                  ! V 4      R7      pVP
                  VP
                  8X  g   Q hVP
                  P                  V 8X  g   Q hV^ ,          V^ ,          8X  g   Q hR# )NaT2017-01-01 01:01:01.1111111112018-11-22 12:24:48.111111111rT   N)rf   r1  r   r   r   rU   r   )r   r   r;  ya1a2s   &     r   "test_array_from_list_of_timestampsr<  
  s     	eT"A
5t<A
5t<A	1)	B	1)",,t"4	5B77bgg77<<4a5BqE>>r   c                  P   \         P                  ! R 4      p \         P                  ! R4      p\         P                  ! R4      p\        P                  ! \        P
                  RR7      ;_uu_ 4        \        P                  ! WV.4       RRR4       R#   + '       g   i     R# ; i)r6  r7  r8  z!Cannot mix NumPy datetime64 unitsrn   Nr0  )r   r;  r9  s      r   +test_array_from_timestamp_with_generic_unitr>  
  ss    
eA
56A
56A	r@
B 
B
!
B 
B 
B 
Bs   1BB%	ztimedelta64[s]ztimedelta64[ms]ztimedelta64[us]ztimedelta64[ns]c           	      |   R \         P                  ! ^4      \         P                  ! ^ ^4      .p\        P                  ! W R7      p\        P                  ! V4      p\        V\        P                  4      '       g   Q hVP                  V8X  g   Q h\        P                  ! W!R7      pVP                  V4      '       g   Q hVP                  4       V8X  g   Q h\        P                  ! \        \        P                  ! W R7      4      4      pVP                  V4      '       g   Q hVP                  4       V8X  g   Q hR # )Nr{   rT   )r   r   rf   r   r   r)   DurationArrayrU   r   r   r  )r|   rU   rb   rj   r"   r=   s   &&    r   test_array_from_numpy_timedeltarA  '
  s     	11a D XXd(F
((6
Cc2++,,,,88txx(H::h==?d""" ((434
5C::h==?d"""r   c                  8   \         P                  ! ^4      p V .\         P                  ! V .4      3 FD  p\        P                  ! \
        4      ;_uu_ 4        \        P                  ! V4       RRR4       KF  	  \         P                  ! ^R4      p V .\         P                  ! V .4      3 FD  p\        P                  ! \
        4      ;_uu_ 4        \        P                  ! V4       RRR4       KF  	  R#   + '       g   i     K  ; i  + '       g   i     Ko  ; i)r   NM)rf   timedelta64r   r/   r0   r  r   )tdrb   s     r   .test_array_from_numpy_timedelta_incorrect_unitrF  D
  s     
	Brxx~&]].//HHTN 0/ '
 
3	Brxx~&]].//HHTN 0/ ' 0// 0//s   C4D4DDbinary_typec                    T ;'       g    \         P                  ! 4       p\        P                  ! . RORR7      p\         P                  ! W 4      pVP                  V8X  g   Q h\         P                  ! . ROVR7      pVP                  V4      '       g   Q h\        P                  ! . R	O4      p\         P                  ! W VR7      p\         P                  ! . R
OVR7      pVP                  V4      '       g   Q h\        P                  ! . RO^,          RR7      R,          p\        P                  ! . R	O^,          4      R,          p\         P                  ! W VR7      p\         P                  ! . ROVR7      pVP                  V4      '       g   Q h\        P                  ! . RORR7      p\         P                  ! W 4      p\         P                  ! . ROVR7      pVP                  V4      '       g   Q hR# )abcdez|S5r{   rT   rk  NNNr   z|S0rI  abcr@   r  rI  Nr@   rI  r@   NrI  r@   NrI  r@   r@   r@   r@   )r   rS   rf   r   rU   r   )rG  expected_typer"   	arrow_arrr=   ri  s   &     r   test_array_from_numpy_asciirR  T
  so     ..299;M
(('u
5C*I>>]***xx,=AHH%%%%88()D5Ixx+-@HH%%%% (('!+5
9#
>C88(1,-c2D5IxxK*,HH%%%% ((<u
-C*Ixx=9HH%%%%r   c                  b   R \         P                  ! ^^^^^^^R7      .p \        P                  ! V \        P                  ! 4       4      p\        V\        P                  4      '       g   Q hVP                  \        P                  ! 4       8X  g   Q hR \        P                  ! ^ ^\         P                  ! ^^^^^R7      \         P                  ! ^R7      ,          R,          .4      .p\        P                  ! V4      pVP                  V4      '       g   Q hVP                  4       V8X  g   Q hR # )N)r   secondsmicrosecondsmillisecondsminuteshoursweeks)rT  rU  rV  rW  rX  rU  r  )r   r   r   r   r|  r)   MonthDayNanoIntervalArrayrU   MonthDayNanor   r   rb   r"   ro  r=   s       r   "test_interval_array_from_timedeltar^  z
  s   11()1AQ	HID ((4335
6Cc277888888r113333
A",,QQ:;Q346 #,,!<= AEEF 	GHM xx&H::h==?m+++r   c                     ^ RI Hp  ^ RIHp RV ! ^^^^^^^^^R7	      .p\        P
                  ! V4      p\        V\        P                  4      '       g   Q hVP                  \        P                  ! 4       8X  g   Q hR\        P                  ! ^^\        P                  ! ^^^^R7      \        P                  ! ^R7      ,          R,          .4      .p\        P
                  ! V4      pVP                  V4      '       g   Q hVP                  4       P                  4       RV! ^^\        P                  ! ^^^^R7      \        P                  ! ^R7      ,          ^ R7      .8X  g   Q h\         P"                  ! \$        4      ;_uu_ 4        \        P
                  ! V! R^dR	7      .4       RRR4       \         P"                  ! \$        4      ;_uu_ 4        \        P
                  ! V! R^dR
7      .4       RRR4       \         P"                  ! \$        4      ;_uu_ 4        \        P
                  ! V! R^R7      .4       RRR4       \         P"                  ! \$        4      ;_uu_ 4        \        P
                  ! V! RR7      .4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r   )relativedelta
DateOffsetN)	yearsmonthsr   rT  rU  rW  rX  rY  leapdaysrT  rU  rW  rX  rZ  r  rd  r   rU  nanoseconds)rc  rd  )rY  r   )rT  rh  iUUUi$I$l   	z l   \kpz)dateutil.relativedeltar`  r  rb  r   r   r)   r[  rU   r|  r\  r   r   r   r   r   r/   r0   ru   )r`  rb  rb   r"   ro  r=   s         r   &test_interval_array_from_relativedeltarj  
  s-    5!AaaaqA	?@D ((4.Cc277888888r113333
Q",,QQ56aA",,!<=@DEF 	GHM xx&H::h==?!!#j%//89D%//Q?@ &'(() ) ) ) 
z	"	"
*OSABC 
#	z	"	"
*N#>?@ 
#	z	"	"
*&=)*, - 	. 
# 
z	"	"
*+;=>? 
#	" 
#	"	"	"	"	" 
#	"	"s0   
 J J$ J7(K
J!	$J4	7K	
K	c                     R R.p \         P                  ! V \         P                  ! 4       4      p\        V\         P                  4      '       g   Q hVP
                  \         P                  ! 4       8X  g   Q hR \         P                  ! . RO4      .p\         P                  ! V4      pVP                  V4      '       g   Q hVP                  4       V8X  g   Q hR # )N)r   r   r  )	r   r   r|  r)   r[  rU   r\  r   r   r]  s       r   test_interval_array_from_tuplerl  
  s    *D ((4335
6Cc277888888r113333

#%M xx&H::h==?m+++r   c                  `   ^ RI Hp  RV ! ^^^^^^^^^R7	      V ! 4       .p\        P                  ! V4      p\	        V\        P
                  4      '       g   Q hVP                  \        P                  ! 4       8X  g   Q hR\        P                  ! . RO4      \        P                  ! . RO4      .p\        P                  ! V4      pVP                  V4      '       g   Q hRV ! ^^\        P                  ! ^^^^R7      \        P                  ! ^R7      ,          ^R7      V ! ^ ^ ^ ^ R7      .pVP                  4       P                  4       V8X  g   Q h\        P                  ! V.4      P                  4       P                  4       p\        V4      ^8X  g   Q h\        V^ ,          4      V8X  g   Q hR# )	r   ra  N)	rc  rd  r   rT  rU  rW  rX  rY  rh  rf  rZ  rg  )r  r  l   E5IQ)r   r   r   )pandas.tseries.offsetsrb  r   r   r)   r[  rU   r|  r\  r   r   r   r   r   r   r  )rb  rb   r"   ro  r=   expected_from_pandasactual_lists          r   #test_interval_array_from_dateoffsetrq  
  s   1111AQA	? 	D ((4.Cc277888888r113333
./
	"$M xx&H::hj%//89D%//Q?@ &'( 	!!!CE ==?!!#';;;; ((D6",,.557K{q   A#7777r   string_typec                    T ;'       g    \         P                  ! 4       pR R.pV EFv  p\        P                  ! . ROVR7      p\         P                  ! W@4      pVP                  V8X  g   Q h\         P                  ! . ROVR7      pVP                  V4      '       g   Q h\        P                  ! . R	O4      p\         P                  ! W@VR7      p\         P                  ! . R
OVR7      pVP                  V4      '       g   Q h\        P                  ! . RO^,          VR7      R,          p\        P                  ! . R	O^,          4      R,          p\         P                  ! W@VR7      p\         P                  ! . ROVR7      pVP                  V4      '       d   EKw  Q h	  \        P                  ! . RORR7      p\         P                  ! W@4      p\         P                  ! . ROVR7      pVP                  V4      '       g   Q hR# )z<U5z>U5r{   rT   rk  NrJ  z<U0rK  r  rM  rN  rO  )r   r  rf   r   rU   r   )rr  rP  dtypesr|   r"   rQ  r=   ri  s   &       r   test_array_from_numpy_unicoderu  
  s     ,,2779MU^Fhh+59HHS.	~~...880}E))))xx,-HHSD9	88/mD)))) hh+a/u=cBxx,q01#6HHSD9	88 *0=?))))) . ((<u
-C*Ixx=9HH%%%%r   c                     \         P                  ! \        4      ;_uu_ 4        \        P                  ! \
        P                  ! . RO4      \        P                  ! 4       R7       RRR4       R#   + '       g   i     R# ; ir   rT   Nr   )r/   r0   r1   r   r   rf   r   r3   r   r   !test_array_string_from_non_stringrx    s?     
y	!	!
)$299;7 
"	!	!	!s   AA//B 	c                  z   \         P                  ! R R .\        R7      p \        P                  ! V \        P                  ! 4       R7      pVP
                  ^8X  g   Q h\         P                  ! \         P                  \         P                  .RR7      p \        P                  ! \        4      ;_uu_ 4        \        P                  ! V \        P                  ! 4       R7       R R R 4       \        P                  ! V \        P                  ! 4       RR7      pVP
                  ^8X  g   Q hR #   + '       g   i     LQ; i)Nr{   rT   r   Tr  )
rf   r   r   r   r   r   rw  r/   r0   r1   )rZ  r"   s     r   test_array_string_from_all_nullrz    s     88T4L/D
((4biik
*C>>Q88RVVRVV$I6D	y	!	!
BIIK( 
"
((4biikt
<C>>Q 
"	!s   5,D**D:	c            	         \         P                  P                  . ROR. R	OR7      p \        P                  ! V 4      p\        P                  ! . R
ORR7      pVP	                  V4      '       g   Q h\
        P                  ! \        RR7      ;_uu_ 4        \        P                  ! V \         P                  ! . RO4      R7       RRR4       R#   + '       g   i     R# ; i)r   r   )r|   ri  NrT   z Cannot pass a numpy masked arrayrn   rk  r  r  r   r   Nrr   )TFFF)rf   mar   r   r   r/   r0   ru   r}  r<   r=   s      r   test_array_from_maskedr  ,  s    	\5 
 
7BXXb\Fxxg6H??6""""	z)K	L	L
"((#>?@ 
M	L	L	Ls   /CC	c                      \         P                  P                  ^ .RR7      p \        P                  ! V 4      p\        P                  ! ^ .RR7      pVP	                  V4      '       g   Q hR# )r   r   r{   rT   N)rf   r}  r   r   r   r~  s      r   test_array_from_shrunken_maskedr  8  sN    	aS	(BXXb\Fxx'*H??6""""r   c                     R p \         P                  ! . RO. RO.4      p\        P                  ! \        V R7      ;_uu_ 4        \
        P                  ! V4       RRR4       \         P                  ! ^ 4      p\        P                  ! \        V R7      ;_uu_ 4        \
        P                  ! V4       RRR4       R#   + '       g   i     Lk; i  + '       g   i     R# ; i)z only handle 1-dimensional arraysrn   Nr   rl  r;  )rx   arr2darr0ds      r   "test_array_from_invalid_dim_raisesr  @  s    
,CHHi+,E	z	-	-
 
. HHQKE	z	-	-
 
.	-	 
.	- 
.	-	-s   B=C=C	C!	c                  v   \         P                  ! R\        R7      p \        P                  ! V R,          4      p\        P                  ! . RO4      pVP                  V4      '       g   Q h\        P                  ! V R,          4      p\        P                  ! RR.4      pVP                  V4      '       g   Q hR# )r   r{   TN)r   r   )r5  r   )TTT)r   r5  )rf   onesr  r   r   r   r;   s      r   test_array_from_strided_boolr  L  s     ''&
%CXXc$i Fxx*+H==""""XXc$i Fxxt%H==""""r   c            	         . RO\         P                  ! 4       \         P                  ! ^4      33. RO\         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P
                  ! 4       33. RO\         P                  ! 4       \         P                  ! 4       33. RO\         P                  ! 4       33.p V  F  w  r\        P                  ! V4      pV Fb  pR\        P                  ! RR.4      3 FA  p\         P                  ! VR,          VVR7      pVR,          VP                  4       8X  d   KA  Q h	  Kd  	  K  	  R# )	   abNFrJ  rk  r  s   cd   efr   rN  )abcdef)r   rS   r   rH  r   r   r0  r   r  rf   r   r   )pydatar   rt  nparraypatyperi  arrow_arrays          r   test_array_from_stridedr  X  s     
biil ;<	RWWY
BHHJ
CD	2::<67	bggi]+	F !((6"Frxx78 hhws|V,02c{k&;&;&==== 9  !r   c                      \         P                  ! . ROR,          4      p V P                  R8X  g   Q hV P                  R8X  g   Q hR# )TNr  i  )TTNFNT)r   r   
true_countfalse_countr+   s    r   #test_boolean_true_count_false_countr  j  s:    
((84?
@C>>T!!!??d"""r   c                  L   \         P                  ! . RO\         P                  ! 4       R7      p V P                  4       p\	        V4      ^8X  g   Q hV^ ,          P                  4       p^\	        V4      u;8:  d	   ^@8:  g   Q h Q h\        V4      ^ ,          ^8X  g   Q hV R,          pVP                  4       pVP                  ^8H   \	        V4      ^8X  g   Q hV^ ,          P                  4       p^\	        V4      u;8:  d	   ^@8:  g   Q h Q h\        V4      ^ ,          ^8X  g   Q h\        P                  ! RV^,          P                  4       4      R	8X  g   Q h\         P                  ! \        P                  ! . R
O4      4      p V P                  4       p\	        V4      ^8X  g   Q hV^ ,          e   Q h\        P                  ! RV^,          P                  4       4      R
8X  g   Q h\         P                  ! . RO4      p V P                  4       p\	        V4      ^8X  g   Q hV^ ,          P                  4       p\        V4      ^ ,          ^8X  g   Q hV^,          P                  4       p\        P                  ! RV4      R8X  g   Q hV^,          P                  4       pVR8X  g   Q hR# )r   NrT   r)  hhxxh3b4is	   foo!bar!!r|  )r   r   rr   rl  )s   foo!Ns   bar!!)r   rr   rr   r  )r   r   rH  r_   r   
to_pybytes	bytearrayrD  r.  unpackrf   r   )r   r_   null_bitmapa_slicedr  r   s         r   test_buffers_primitiver  q  s-   
rxxz2AiikGw<1!*'')KK &B&&&&&[!!$
222 uH GOOqw<1!*'')KK &B&&&&&[!!$
222=='!*"7"7"9:iGGG
#$AiikGw<11:==wqz44679DDD
*+AiikGw<1!*'')K[!!$
222aj##%G==w'<777QZ""$F\!!!r   c                     \         P                  ! ^^.R. R	O.\         P                  ! \         P                  ! 4       4      R7      p V P	                  4       p\        V4      ^8X  g   Q hV^ ,          P                  4       p\        V4      ^ ,          ^8X  g   Q hV^,          P                  4       p\        P                  ! RV4      R
8X  g   Q hV^,          P                  4       p\        V4      ^ ,          ^78X  g   Q hV^,          P                  4       p\        P                  ! RV4      R8X  g   Q h\         P                  ! . RO\         P                  ! \         P                  ! R\         P                  ! 4       4      \         P                  ! R\         P                  ! 4       4      .4      R7      p V P	                  4       p\        V4      ^8X  g   Q hV^ ,          P                  4       p\        V4      ^ ,          ^8X  g   Q hV^,          P                  4       p\        V4      ^ ,          ^8X  g   Q hV^,          P                  4       p\        P                  ! RV4      R8X  g   Q hV^,          P                  4       p\        V4      ^ ,          ^8X  g   Q hV^,          P                  4       p\        P                  ! RV4      R8X  g   Q hR# )r   NrT   r  qqq8xqqr   r   bxx4xhr   Nrr   rs   r  )r   r   r   rr   rs   ))*   NN)N+   )r  )r  )r   r   r  r   r_   r   r  r  r.  r  r/  r   rH  )r   r_   r  r  r   s        r   test_buffers_nestedr    s/   
1a&$0rxx
7KLAiikGw<1!*'')K[!!$
222aj##%G==w'<777!*'')K[!!$
222QZ""$F==F+>>>
/ii#rwwy!9!##rxxz!:!< =	>A iikGw<1!*'')K[!!$
222!*'')K[!!$
222QZ""$F=='5000!*'')K[!!$
222QZ""$F=='5000r   c            	         \         P                  ! \        P                  ! . RORR7      4      p V P                  ^8X  g   Q hV P	                  4       ^8X  g   Q h\
        P                  ! V 4      \        P                  V 4      V P                  ,           8  g   Q h\         P                  ! . RORR7      p V P                  ^8X  g   Q hV P	                  4       ^8X  g   Q h\
        P                  ! V 4      \        P                  V 4      V P                  ,           8  g   Q h\         P                  ! ^^.R. RO.\         P                  ! \         P                  ! 4       4      R7      p V P                  ^>8X  g   Q hV P	                  4       ^B8X  g   Q h\
        P                  ! V 4      \        P                  V 4      V P                  ,           8  g   Q h\         P                  ! . RO.^	^
...\         P                  ! \         P                  ! \         P                  ! 4       4      4      R7      p V P	                  4       ^8X  g   Q hV P                  ^8X  g   Q h\         P                  ! ^^.^^... ROR^..^	^
...\         P                  ! \         P                  ! \         P                  ! 4       4      4      R7      p V P                  ^^4      pVP                  ^8X  g   Q hVP	                  4       ^78X  g   Q hR# )	rr   r   r{   NrT   rl  r   Nr   r  )rs   r  rF  )r   r   rf   nbytesget_total_buffer_sizer   	getsizeofr   
__sizeof__r  r   r   rX   )r   r:  s     r   test_total_buffer_sizer    s5   
)734A88u""$---==v003ahh>>>>
G,A88w""$///==v003ahh>>>>
1a&$0rxx
7KLA88r>>""$(======v003ahh>>>>
9+By)"'')9L0MNA""$(CCCC88r>>
Aq6Aq6"Yqc$:aWIFhhrxx	23	5A	
AB997777##%)IIIIr   c                     \         P                  ! \         P                  ! . RO\         P                  ! 4       R7      \         P                  ! . RO\         P                  ! 4       R7      .4      p V P                  ^8X  g   Q hR# )r   NrT   r  rl  )r   rt   r   rH  r  )r   s    r   test_nbytes_sizer    sP    
"((<bhhjA((9288:>@ 	AA88r>>r   c                      \         P                  ! \        4      ;_uu_ 4        \        \        P
                  ! ^.4      4       RRR4       R#   + '       g   i     R# ; ir.   )r/   r0   r1   reprr   Tensorr3   r   r   $test_invalid_tensor_constructor_reprr    s2    	y	!	!RYYs^ 
"	!	!	!   !AA	c                      \         P                  ! \        4      ;_uu_ 4        \        P                  ! 4        R R R 4       R #   + '       g   i     R # ; irC  )r/   r0   r1   r   r  r3   r   r    test_invalid_tensor_constructionr    s)    	y	!	!
		 
"	!	!	!s   AA	c           
         V! V! \         P                  ! 4       4      4      p\         P                  ! R . ROR ^^... . ^^.R .^^...VR7      p\         P                  ! . ROV R7      pV! \         P                  ! 4       4      p\         P                  ! . ROR ^^.. ^^.R ^^..VR7      p\         P                  ! . ROV R7      p\         P                  ! . RO\         P                  ! 4       R7      pVP                  4       P	                  V4      '       g   Q hVP
                  P	                  V4      '       g   Q hVP                  P	                  V4      '       g   Q hVP                  4       P	                  V4      '       g   Q hVP
                  P	                  V4      '       g   Q hVP                  P	                  V4      '       g   Q hVP                  4       P                  4       P	                  V4      '       g   Q hVP                  P                  P	                  V4      '       g   Q hVP                  R4      P	                  V4      '       g   Q hR # )NrT   Tr&   )r   r   r   r   r  rF  )r   r   r   rs   rs   rF  rF  r  	r   Nr   r   rr   rs   r  rF  r  )r   r   r   flattenr   r  r   )	offset_typer[  r@  r  r  r?  r  offsets1arr0s	   &&       r   test_list_array_flattenr    s    HHJ	
D
 88F	

 	F	
 F	
  !D" xx*=HRXXZ(D88	
A
	
A	
A D xx0{CH88 
 HHJD <<>  &&&&<<x((((;;d####<<>  &&&&<<x((((;;d####<<>!!#**40000;;$$T****<<$$T****r   	list_typer  c                     \         P                  ! ^ ^.RRR.^^..V R7      p\         P                  ! . RO\         P                  ! 4       R7      pVP                  4       P	                  V4      '       g   Q hR# )r   NrT   )r   r   r   r   r   r   )r   r   r   value_parent_indicesr   )r  r"   r=   s   &  r   test_list_value_parent_indicesr    sm    
 ((F4LF		

 C xx*<H##%,,X6666r   c                 h   \        VR R4      '       d>   \        P                  ! ^ ^.RRR.^^..VR7      p\        P                  ! . ROV R7      pM:\        P                  ! . ROR. ^^..VR7      p\        P                  ! . ROV R7      pVP                  4       P	                  V4      '       g   Q hR# )r  NrT   )r   Nr   r   r_  )r   Nr   r   )getattrr   r   value_lengthsr   )r  r  r"   r=   s   &&  r   test_list_value_lengthsr  ,  s     y+t,,hhAtA	
  88O+> hhA	
  88O+>%%h////r   c                    V ! \         P                  ! 4       4      p\         P                  ! ^.^^.. RO.VR7      pVP                  4       R,          p\         P                  ! R4      V^ &   VP                  VP                  \        V4      W2P                  .R7      pVP                  4       ^.R. RO.8X  g   Q hVP                  P                  4       . R	O8X  g   Q hVP                  4       pVP                  RR7       VP                  VP                  8X  g   Q hVP                  4       . R
O8X  g   Q hVP                  P                  4       . RO8X  g   Q hR# )r   rT   r     r]  NTr	  rl  )r   r   r   r  )r   rr   rs   r  r   r   r   rr   rs   r  )r   r   r   r_   rG  rI  rU   r   r   r   r  r  r   
value_type)r[  r  r"   r_   	flatteneds   &    r   %test_list_array_flatten_non_canonicalr  L  s    BHHJ
'C
((QC!Q+#
6CkkmBGg&GAJ


388SXw**

NC==?sD)4444;;  "l222ID!>>S^^+++ L000 ::!%7777r   klassc                    V P                  . RO. ROR7      pVP                  P                  4       . RO8X  g   Q hVP                  P                  4       . RO8X  g   Q hVR,          pVP                  P                  4       . RO8X  g   Q hVP                  P                  4       . RO8X  g   Q hVP	                  4       P                  4       . RO8X  g   Q hVP                  ^ ,          P                  4       pVP                  ^,          P                  4       pV^ ,          P                  4       VP                  W4 P                  4       u;8X  d
   ^.8X  g   Q h Q hR# )r   )r  r   r)  N)r   r   rr   r  r  )r   rr   r  rl  r   r   r   r  r  r'   )r  r"   r  r   r$  s   &    r   %test_list_array_values_offsets_slicedr  `  s    

L9K

LC::!%7777;;  "l222
 r7D;;  "&8888<<!!#y000<<>##%222QAQA7==?dkk!.88:AqcAAAAAr   c            	      R   \         P                  ! \         P                  ! \         P                  ! 4       ^4      ^4      p \         P                  ! ^^.^^.^^..R^R.R^^	...V R7      pVP                  P                  V 4      '       g   Q h\         P                  ! \         P                  ! 4       ^4      p\         P                  ! ^^.^^.^^.^R.R^^	..VR7      pVP                  P                  V4      '       g   Q hVP                  4       P                  V4      '       g   Q h\         P                  ! 4       p\         P                  ! . ROVR7      pVP                  P                  V4      '       g   Q hVP                  4       P                  V4      '       g   Q hVP                  4       P                  4       P                  V4      '       g   Q hVP                  4       P                  V4      '       g   Q hVP                  R4      P                  V4      '       g   Q hR# )r   NrT   T)
r   r   r   rr   rs   r  rF  Nr  r  )r   r  r   r   rU   r   r  )r@  r  r?  r  typ0r  s         r   "test_fixed_size_list_array_flattenr  s  s   88BHHRXXZ+Q/D88FFF	

 	IF	
 D 99D!!!!88BHHJ"D88	
AAA	
D	4!Q D 99D!!!!<<>  &&&&88:D88 D 99D!!!!<<>  &&&&<<>!!#**40000<<>  &&&&<<$$T****r   c                  $   \         P                  ! ^.^.^..\         P                  ! \         P                  ! 4       ^R7      R7      p V R,          P	                  4       \         P                  ! ^.\         P                  ! 4       R7      8X  g   Q hR# )r   r  rT   r   N)r   r   r  r   r  )r   s    r   -test_fixed_size_list_array_flatten_with_slicer    s`    HHqcA3_((2::<1=?E9"((A3RZZ\"BBBBr   c            	         \         P                  ! \         P                  ! 4       \         P                  ! 4       4      p \         P                  ! \         P
                  ! R \         P                  ! 4       RR7      \         P
                  ! R\         P                  ! 4       4      .4      p\         P                  ! R	R
.R..V R7      pVP                  P                  P                  V4      '       g   Q hVP                  \         P                  ! R RR^/R RR^/R RR^/.VR7      8X  g   Q hVP                  P                  \         P                  ! . RO4      4      '       g   Q hVP                  P                  \         P                  ! . RO\         P                  ! 4       R7      4      '       g   Q h\         P                  P                  VP                  VP                  4      P                  \         P                  ! RR.R..4      4      '       g   Q h\         P                  P                  VP                  VP                  4      P                  \         P                  ! ^^.^..\         P                  ! \         P                  ! 4       4      R7      4      '       g   Q h\         P"                  ! \$        4      ;_uu_ 4        VP'                  4        RRR4       R#   + '       g   i     R# ; i)keyFrf  r   r   r   r   rT   Nr  r  r  r   r   )r   r  r  r   r.  r/  r   r   rU   r   r  r  r  r   r  r  r/   r0   r  r  )r   	ty_valuesr   s      r   test_map_array_values_offsetsr    s   	BHHJ	'B		288E2779uE88GRXXZ8: ;I
8X&
3"=A88==	****88rxx	Wa 	Wa 	Wa ! 	   
 66==/2333377>>"((9288:>????<<##AIIqvv6==
3*se$%' ' ' '<<##AIIqww7>>
1a&1#RXXbhhj%9:< < < < 
*	+	+			 
,	+	+	+s   KK0	c                     \         P                  ! \         P                  ! R \         P                  ! 4       4      \         P                  ! R\         P                  ! 4       4      .4      p \         P
                  ! . R	OV R7      pVP                  4       w  r#VP                  \         P                  ! 4       8X  g   Q hVP                  \         P                  ! 4       8X  g   Q hVP                  4       . R
O8X  g   Q hVP                  4       . RO8X  g   Q hVR,          P                  4       w  r#VP                  4       ^^.8X  g   Q hVP                  4       RR.8X  g   Q h\         P
                  ! . ROV R7      pVP                  4       w  r#VP                  4       . RO8X  g   Q hVP                  4       . RO8X  g   Q hVR,          P                  4       w  r#VP                  4       R^.8X  g   Q hVP                  4       RR.8X  g   Q h\         P
                  ! . ROV R7      pVP                  4       w  r#VP                  4       . RO8X  g   Q hVP                  4       . RO8X  g   Q hVR,          P                  4       w  r#VP                  4       ^R.8X  g   Q hVP                  4       RR.8X  g   Q h\         P
                  ! . ROV R7      pVP                  4       w  r#VP                  4       . RO8X  g   Q hVP                  4       . RO8X  g   Q hVR,          P                  4       w  r#VP                  4       RR.8X  g   Q hVP                  4       RR.8X  g   Q hR# )r;  r9  r,  r'  r(  rT   r)  N      @r*  r  r,  r'  r(  )r+  Nr-  r  )r,  Nr'  )r.   )r   r  )Nr'  r   )Nr  r'  )r.   N)Nr,  )r   NN)NNr,  )	r   r.  r/  rH  r0  r   r  rU   r   )r   r   xsyss       r   test_struct_array_flattenr    s   	BHHS"((*-HHS"**,/1 
2B
/b9AYY[FB77bhhj   77bjjl"""<<>Y&&&<<>_,,,rU]]_FB<<>aV###<<>c3Z'''
+"5AYY[FB<<>\)))<<>----rU]]_FB<<>dAY&&&<<>dC[(((
3"=AYY[FB<<>\)))<<>----rU]]_FB<<>aY&&&<<>c3Z'''
/b9AYY[FB<<>_,,,<<>....rU]]_FB<<>dD\)))<<>dC[(((r   c                     \         P                  ! \         P                  ! R \         P                  ! 4       4      \         P                  ! R\         P                  ! 4       4      .4      p \         P
                  ! . ROV R7      pVP                  ^ 4      pVP                  ^4      pVP                  R4      pVP                  R4      pVP                  R 4      pVP                  R4      p\        V\         P                  P                  4      '       g   Q h\        V\         P                  P                  4      '       g   Q hVP                  \         P
                  ! . RO\         P                  ! 4       R7      4      '       g   Q hVP                  \         P
                  ! . RO\         P                  ! 4       R7      4      '       g   Q hVP                  V4      '       g   Q hVP                  V4      '       g   Q hVP                  V4      '       g   Q hVP                  V4      '       g   Q hR\         P                  ! 4       3 F?  p\        P                  ! \        4      ;_uu_ 4        VP                  V4       RRR4       KA  	  R	 F?  p\        P                  ! \        4      ;_uu_ 4        VP                  V4       RRR4       KA  	  R
 F?  p	\        P                  ! \        4      ;_uu_ 4        VP                  V	4       RRR4       KA  	  R#   + '       g   i     K  ; i  + '       g   i     K  ; i  + '       g   i     K~  ; i)r;  r9  rT   Nr*  r   r   r  r  r   r  zr@   )r   r.  r/  rH  r0  r   r)   r   
Int16Array
FloatArrayr   r/   r0   r1   r   r  
r   r   x0y0x1y1x2y2invalid_indexinvalid_names
             r   test_struct_array_fieldr    s#   	BHHS"((*-HHS"**,/1 
2B
/b9A	
B	
B	
B	
B	
B	
Bb"&&++,,,,b"&&++,,,,99RXXibhhj9::::99RXXoBJJLABBBB99R===99R===99R===99R===
+]]9%%GGM" &% , !]]:&&GGM" '& ! "]]8$$GGL! %$ " &%% '&& %$$s$   )L.L'3L;L$'L8;Mc                     \         P                  ! \         P                  ! R \         P                  ! 4       4      \         P                  ! R\         P                  ! 4       4      .4      p \         P
                  ! . ROV \         P
                  ! . RO4      R7      pVP                  ^ 4      pVP                  ^4      pVP                  R4      pVP                  R4      pVP                  R 4      pVP                  R4      p\        V\         P                  P                  4      '       g   Q h\        V\         P                  P                  4      '       g   Q hVP                  \         P
                  ! . R	O\         P                  ! 4       R7      4      '       g   Q hVP                  \         P
                  ! . R
O\         P                  ! 4       R7      4      '       g   Q hVP                  V4      '       g   Q hVP                  V4      '       g   Q hVP                  V4      '       g   Q hVP                  V4      '       g   Q hR\         P                  ! 4       3 F?  p\        P                  ! \        4      ;_uu_ 4        VP                  V4       RRR4       KA  	  R F?  p\        P                  ! \        4      ;_uu_ 4        VP                  V4       RRR4       KA  	  R F?  p	\        P                  ! \         4      ;_uu_ 4        VP                  V	4       RRR4       KA  	  R#   + '       g   i     K  ; i  + '       g   i     K  ; i  + '       g   i     K~  ; i)r;  r9  r  NrT   r*  r  r   r   )r   Nrs   )r,  Nr(  r  r  )r   r.  r/  rH  r0  r   _flattened_fieldr)   r   r  r  r   r/   r0   r1   r   r  r  s
             r   !test_struct_array_flattened_fieldr    sM   	BHHS"((*-HHS"**,/1 
2B
/bhh34	6A 
		A	B	
		A	B	
		B	B	
		B	B	
		C	 B	
		C	 Bb"&&++,,,,b"&&++,,,,99RXXl<====99RXX.RZZ\BCCCC99R===99R===99R===99R===
+]]9%%}- &% , !]]:&&}- '& ! "]]8$$|, %$ " &%% '&& %$$s$    L*L>
M*L;>MM#c                     \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P
                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P                   ! 4       \         P                   ! ^R7      \         P"                  ! 4       .p \$        P&                  ! W 4       F-  w  r \         P(                  ! . VR7      P+                  V4       K/  	  R#   \         P,                  P.                  \         P0                  3 d     Ke  i ; i)rr   )lengthrT   N)r   r   r  r   rH  r   r   r   r+  r  r  r  r0  r   r  r  rS   r   	itertoolsproductr   r  r   r  r  )r  t1t2s      r   test_empty_castr     s   
	


	








		
		
		









		
		
		
		
		%E* %%e3	 HHRb!&&r*	 4
 //A 		s   	'F66/G)(G)c                     \         P                  P                  . RORR.4      p \         P                  P                  . ROV 4      pVP	                  4       RR.R..8X  g   Q h\         P                  P                  . RORR.4      p \         P                  P                  . ROV 4      pVP	                  4       . RO8X  g   Q hR# )r   r   r   Nr  )r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r  r   )r  list_arr	dict_arr2s      r   test_nested_dictionary_arrayr  ?  s    !!--i#sDH||''	8<HS#J#6666!!--i#sDH""..II $====r   c            	         \         P                  ! R R.4      p \         P                  ! R R.\        R7      p\        P                  ! V \        P                  ! 4       4      p\        P                  ! V\        P                  ! 4       4      p\        P                  ! R R.4      pVP                  V4      '       g   Q hVP                  V4      '       g   Q h\         P                  ! RR.\        R7      p\        P                  ! V \        P                  ! 4       VR7      pVP                  V4      '       g   Q h\         P                  ! RP                  R4      .4      p \        P                  ! \        4      ;_uu_ 4        \        P                  ! V \        P                  ! 4       4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        P                  ! V \        P                  ! 4       \         P                  ! R.4      R7       RRR4       R#   + '       g   i     L~; i  + '       g   i     R# ; i)tototatar{   Frk  r  r  N)rf   r   r   r   r   r   r  r  r/   r0   ru   )vecvec2r"   r  r=   ri  s         r   test_array_from_numpy_str_utf8r  I  sm    ((FF#
$C88VV$F3D
((3		
$C88D"))+&Dxx()H::h;;x     88UEN$/D
((3		$
/C::h ((Y&&{34
5C	z	"	"
biik" 
# 
z	"	"
biik%(9: 
#	" 
#	" 
#	"	"s    +H!AH4!H1	4I	large_typesc           	      V   R .pR.p\        ^
4       Uu/ uF3  pVR R,          \        V^
,          4      P                  R4      ,           bK5  	  ppVP                  4        UUu/ uF  w  r5W5P	                  R4      bK  	  pppT\        R4       Uu. uF  q4V^
,          ,          NK  	  up,          pT\        R4       Uu. uF  pWc^
,          ,          NK  	  up,          pV '       d   \
        P                  ! 4       M\
        P                  ! 4       pV '       d   \
        P                  ! 4       M\
        P                  ! 4       pW3W(33 EFF  w  r\        P                  ! V	4      p\
        P                  ! W4      pRpVP                  V
8X  g   Q hV '       de   \        V\
        P                  4      '       g   Q h\        \        V4      4       F(  pW,          pVP!                  4       W,          8X  d   K(  Q h	  K  \        V\
        P"                  4      '       g   Q hVP$                  ^8X  g   Q h^ p\        VP$                  4       FC  pVP'                  V4      pV F)  pVP!                  4       W,          8X  g   Q hV^,          pK+  	  KE  	  EKI  	  R# u upi u uppi u upi u upi )   xr;  r  Ni i   )rF   r   r  r  decoder   rV   rS   r  r  rf   r   rU   r)   r2   r   r'   rF  r6  r  )r  r   unicode_valuesr   unique_stringsr;  unicode_unique_stringsrG  rr  r  ex_typer"   rQ  valvalue_indexr  s   &               r   %test_numpy_binary_overflow_to_chunkedr  d  sG    VFUN
 rA 	
4=!CBK$6$6v$>>>  
 +9*>*>*@B*@$!  &!11*@  B
uW~>~!a"f%%~>>F %g0 .1 ."f55 .0 0N (3"//#		K%0"--/bggiK!/)79hhtnHHS*	~~(((i22223y>*lyy{dg--- + i9999 ''3...K9//0!* C99;$*;;;;1$K ! 1+9B>0s   9J"JJ!>J&c                     Rp RpV ..V^,
          ,          p\         P                  ! V4      p\        V\         P                  4      '       g   Q h\	        V4      V^,
          8X  g   Q hV ..V,          p\         P                  ! V4      p\        V\         P
                  4      '       g   Q h\	        V4      V8X  g   Q h\	        VP                  ^ 4      4      V^,
          8X  g   Q h\	        VP                  ^4      4      ^8X  g   Q hR# )r;  N   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi    )r   r   r)   r2   r   rF  r  )kilobyte_stringtwo_megarZ  r"   s       r   #test_list_child_overflow_to_chunkedr    s     OH(Q,/D
((4.Cc288$$$$s8x!|###)D
((4.Cc2??++++s8xsyy|1,,,syy|!!!r   c                  r   \         P                  ! . RO. ROR7      p V \         P                  ! 4       8X  g   Q h\         P                  ! . RO\        P                  ! . RO4      R7      p V \         P
                  ! 4       8X  g   Q h\         P                  ! . . R7      \         P
                  ! 4       8X  g   Q hR# )r6   Nrk  )r6   r8   Nr   FFFTr  )r   
infer_typer  rf   r   r   )r   s    r   test_infer_type_maskedr    s~     
.7
9B?? 
.HH%=>
@B?? =="%222r   c                     \         P                  ! . RO\        P                  ! . RO4      R7      p V P                  \         P                  ! 4       8X  g   Q h\         P                  ! \        P                  ! . RORR7      \        P                  ! . RO4      R7      p V P                  \         P                  ! 4       8X  g   Q hR# )rr   Nrk  r   r{   rr   Nrr   rO  FTFT)r   r   rf   rU   r   r+   s    r   test_array_maskedr    s}     ((#!;<>C88rxxz!!! ((288,C8!;<>C88rxxz!!!r   c                     \         P                  ! . RO\        P                  ! . RO4      R7      p V P                  4       . RO8X  g   Q h\         P                  ! . RO\         P                  ! . RO4      R7      p V P                  4       . RO8X  g   Q h\         P                  ! . RO. ROR7      p V P                  4       . RO8X  g   Q h\         P                  ! . RO. ROR7      p V P                  4       . RO8X  g   Q h\        P
                  ! \         P                  4      ;_uu_ 4        \         P                  ! . RO\         P                  ! . R	O4      R7      p RRR4       \        P
                  ! \         P                  4      ;_uu_ 4        \         P                  ! . RO. R	OR7      p RRR4       \        P
                  ! \         P                  4      ;_uu_ 4        \         P                  ! . RO\        P                  ! . R	O4      R7      p RRR4       \        P
                  ! \         P                  4      ;_uu_ 4        \         P                  ! . RO\         P                  ! . RO\         P                  ! . R
O4      R7      R7      p RRR4       \        P
                  ! \         P                  4      ;_uu_ 4        \         P                  ! . RO\         P                  ! . RO4      R7      p RRR4       \        P
                  ! \        4      ;_uu_ 4        \         P                  ! \        P                  ! . RO4      . ROR7      p RRR4       \        P
                  ! \        4      ;_uu_ 4        \         P                  ! \        P                  ! . RO4      \         P                  ! . RO4      R7      p RRR4       R#   + '       g   i     ELu; i  + '       g   i     EL8; i  + '       g   i     EL; i  + '       g   i     EL~; i  + '       g   i     EL-; i  + '       g   i     L; i  + '       g   i     R# ; i)rr   Nrk  r  r  )rr   Nrr   N)rr   Nrr   r   )rr   r   Nr   )rr   NNN)r   r   rO  g      @r  )FNFTTFTF)r   r   rf   r   r/   r0   r  r1   r+   s    r   test_array_supported_masksr"    s    ((#!;<>C==?0000
((?!;<>C==?0000
((?24C==?0000
((?24C==?3333 
r((	)	)hhHH%9:< 
* 
r((	)	)hh02 
* 
r((	)	)hhHH%9:< 
* 
r((	)	)hhHH%?*,((3K*LNO 
*
 
r((	)	)hhHH%?@B 
*
 
y	!	!hhrxx 0168 
" 
y	!	!hhrxx 01HH%?@B 
"	!5 
*	)	) 
*	)	) 
*	)	) 
*	)	)
 
*	)	)
 
"	! 
"	!	!sV   )1OO1O.A	P1P1P*7AP=O	O+	.O?	P	P'	*P:	=Q	c                      ^ RI p \        P                  ! V P                  ^ ^.RRR7      V P                  RR.RR7      R	7      pVP	                  4       R^.8X  g   Q hR# )
r   Nr   r   )r  r|   TFr  r{   rk  )r  r   r   Seriesr   )r  r"   s     r   !test_array_supported_pandas_masksr%    sU    
((6==!Qc=AtUm6BDC==?tQi'''r   c                  P   \         P                  ! R .\         P                  ! ^4      \        P                  ! R.4      R7      p R .V P	                  4       8X  g   Q h\         P                  ! \        P                  ! R .4      \         P                  ! ^4      \        P                  ! R.4      R7      pR .VP	                  4       8X  g   Q h\         P                  ! \        P                  ! R .4      \         P                  ! ^4      \        P                  ! R.4      R7      pR.VP	                  4       8X  g   Q h\         P                  ! \        P                  ! R .4      \         P                  ! 4       \        P                  ! R.4      R7      pR .VP	                  4       8X  g   Q h\         P                  ! \        P                  ! R .4      \         P                  ! 4       \        P                  ! R.4      R7      pR.VP	                  4       8X  g   Q h\        P                  ! . RO^
,          4      p\         P                  ! V\         P                  ! ^4      \        P                  ! . RO^
,          4      R7      pRW3R8H  &   . RO^
,          VP	                  4       8X  g   Q hR# )	r  Fr  TN   bbbs   XXX)s   aaar'  s   ccc)FFF)r   r   rS   rf   r   )masked_basicmaskedmasked_nullsnpar  s        r   test_binary_array_maskedr,    s    88WIBIIaL!#5'!24L9..0000 XXbhhy)		!88UG,.F9((****88BHHgY/biil!#4&!13L6\++---- XXbhhy)		88UG,.F9((****88BHHgY/biik!#4&!13L6\++---- ((+B.
/C((3RYYq\ ")>r)A BDKCv$R'K,A,A,CCCCr   c                     \         P                  ! . RO4      p \        P                  ! V R,          \        P                  ! ^4      \         P                  ! RR.4      R7      pR R.VP	                  4       8X  g   Q h\         P                  ! . RO4      p \        P                  ! V R,          \        P                  ! ^4      4      pR R.VP	                  4       8X  g   Q hR# )r  r  rJ  Frk  Nr  )rf   r   r   rS   r   )r  r  s     r   test_binary_array_stridedr.  #  s     hh,-G((73<1 "% 8:K5>[224444 hh,-G((73<16K5>[224444r   c            
         ^^.\         P                  ! RR.RR7      \        R3^^.\         P                  ! R.R..4      \        P                  R3. R
O\         P                  ! RR.4      \        P                  R3\         P                  ! ^^.4      \         P                  ! RR.RR7      \        R3\         P                  ! ^^.4      \         P                  ! R.R..4      \
        R3\         P                  ! . R
O4      \         P                  ! RR.4      \
        R3.p V  FE  w  rr4\        P                  ! W4R7      ;_uu_ 4        \        P                  ! WR7       R	R	R	4       KG  	  R	#   + '       g   i     K\  ; i)r   Fr   r{   zmust be boolean dtypezmust be 1D arrayzdifferent lengthrn   rk  Nr   )rf   r   r1   r   r  ru   r/   r0   )r   objri  exrx   s        r   test_array_invalid_mask_raisesr2  1  sB    Q5%.4	+	- QE7UG,-	,	. 
BHHeU^,	,	. 
1a&	288UEN#>	+	- 
1a&	288eWug$67	'	) 
)	bhhu~6	'	)!E& $2]]2))HHS$ *) $)))s   E..E?c                      \         P                  ! \        4      ;_uu_ 4        \        P                  ! \        R4      .4       RRR4       R#   + '       g   i     R# ; i)r   Nr
  )r/   r0   OverflowErrorr   r   r  r3   r   r   test_array_from_large_pyintsr5  L  s2    	}	%	%
#g,  
&	%	%	%r  c                     \         P                  ! . RO4      p \        P                  ! V 4      p\        P                  ! . RORR7      p\        P                  P                  W4       \        P                  ! V RR7      p\        P                  P                  W4       \        P                  ! V RRR7      p\        P                  P                  W4       \         P                  ! . RO4      p \        P                  ! ^^\        P                  .RR7      p\        P                  ! V 4      p\        P                  P                  W4       \        \        P                  4      \        R4      8  dq   \        P                  ! V RR7      p\        P                  P                  W4       \        P                  ! V RRR7      p\        P                  P                  W4       M\        P                  ! \        R	R
7      ;_uu_ 4        \        P                  ! V RR7       RRR4       \         P                  ! . RO4      p \        P                  ! \        4      ;_uu_ 4        \        P                  ! V RRR7       RRR4       \         P                  ! . RO4      p V P                  RR7      pVP                  P                  '       g   Q h\         P                  ! . RO4      p V P                  \        P                  ! R4      RR7      pVP                  R8X  g   Q hR#   + '       g   i     EL	; i  + '       g   i     L; i)r   r   r{   F)copy)r|   r7  Nr   z
2.0.0.dev0zUnable to avoid a copyrn   Tr   r   )r   r   rf   r   rh   ri   rw  r   __version__r/   r0   ru   	__array__flags	writeabler|   r;   s      r   test_numpy_array_protocolr<  S  s    ((9
CZZ_Fxx	1HJJ!!&3 XXc&FJJ!!&3XXcu5FJJ!!&3 ((<
 CxxArvvi8HZZ_FJJ!!&3r~~!66#E*


%%f7#YU;


%%f7 ]]:-EFFHHSu% G hhy!]]:&&HHS	6 ' ((9
C]]]%F<<!!!!!
((9
C]])!44]@F<<9$$$ GFF '&s   L!#L5!L2	5M	c            	          ! R  R4      p V ! \         P                  ! . RORR7      4      p\        P                  ! V4      p\        P                  ! . RO\        P                  ! 4       R7      pVP	                  V4      '       g   Q h\        P                  ! V\        P                  ! 4       R7      p\        P                  ! . RO\        P                  ! 4       R7      pVP	                  V4      '       g   Q h\        P                  ! V\        P
                  ! 4       R7      p\        P                  ! . RO\        P
                  ! 4       R7      pVP	                  V4      '       g   Q h\        P                  ! \        4      ;_uu_ 4        \        P                  ! V\         P                  ! . RO4      R7       RRR4       \        P                  ! \        4      ;_uu_ 4        \        P                  ! V^R7       RRR4        ! R R	4      pV! \         P                  ! . RORR7      4      p\        P                  ! \        4      ;_uu_ 4        \        P                  ! V4       RRR4        ! R
 R4      pV! \         P                  ! . RORR7      4      p\        P                  ! V4      p\        P                  ! . RO\        P                  ! 4       R7      pVP	                  V4      '       g   Q h ! R R4      p\         P                  ! . RORR7      pV! Ww4      p\        P                  ! V4      p\        P                  ! . RO. RO.\        P                  ! 4       R7      pVP	                  V4      '       g   Q hR#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELM; i)c                   0   a  ] tR tRt o R tRR ltRtV tR# )$test_array_protocol.<locals>.MyArrayi  c                    Wn         R # rC  rb   selfrb   s   &&r   __init__-test_array_protocol.<locals>.MyArray.__init__      Ir   Nc                F    \         P                  ! V P                  VR 7      # rT   )r   r   rb   rC  rU   s   &&r   __arrow_array__4test_array_protocol.<locals>.MyArray.__arrow_array__  s    88DIID11r   rA  rC  r5  r6  r7  r8  rD  rJ  r9  __classdictcell____classdict__s   @r   MyArrayr?    s     		2 	2r   rP  r   r{   rT   rk  Nr  c                   0   a  ] tR tRt o R tRR ltRtV tR# )+test_array_protocol.<locals>.MyArrayInvalidi  c                    Wn         R # rC  rA  rB  s   &&r   rD  4test_array_protocol.<locals>.MyArrayInvalid.__init__  rF  r   Nc                B    \         P                  ! V P                  4      # rC  )rf   r   rb   rI  s   &&r   rJ  ;test_array_protocol.<locals>.MyArrayInvalid.__arrow_array__  s    88DII&&r   rA  rC  rL  rN  s   @r   MyArrayInvalidrR    s     		' 	'r   rW  c                   0   a  ] tR tRt o R tRR ltRtV tR# )%test_array_protocol.<locals>.MyArray2i  c                    Wn         R # rC  rA  rB  s   &&r   rD  .test_array_protocol.<locals>.MyArray2.__init__  rF  r   Nc                H    \         P                  ! V P                  .VR 7      # rH  )r   rt   rb   rI  s   &&r   rJ  5test_array_protocol.<locals>.MyArray2.__arrow_array__  s    ##TYYKd;;r   rA  rC  rL  rN  s   @r   MyArray2rY    s     		< 	<r   r^  c                   0   a  ] tR tRt o R tRR ltRtV tR# )%test_array_protocol.<locals>.MyArray3i  c                    Wn         W n        R # rC  data1data2)rC  rc  rd  s   &&&r   rD  .test_array_protocol.<locals>.MyArray3.__init__  s    JJr   Nc                ^    \         P                  ! V P                  V P                  .VR 7      # rH  )r   rt   rc  rd  rI  s   &&r   rJ  5test_array_protocol.<locals>.MyArray3.__arrow_array__  s"    ##TZZ$<4HHr   rb  rC  rL  rN  s   @r   MyArray3r`    s     		I 	Ir   rh  r   r}   )rf   r   r   r   r   r   r/   r0   ru   r1   rt   )rP  r"   r<   r=   rW  r^  rh  rj   s           r   test_array_protocolri    sP   2 2 "((9G4
5CXXc]Fxx	
3H==""""XXc
+Fxx	
3H==""""XXc

-Fxx	

5H=="""" 
z	"	"
288$789 
#	z	"	"
1 
#' ' )7;
<C	y	!	!
 
"
< < 288IW5
6CXXc]Fxx	
3H==""""I I XXiw/F
6
"CXXc]FI 6RXXZHH==""""W 
#	"	"	"	"	" 
"	!	!s$   /N$NN,N	N)	,N=	c                   0   a  ] tR tRt o R tRR ltRtV tR# )ArrayWrapperi  c                    Wn         R # rC  rA  rB  s   &&r   rD  ArrayWrapper.__init__      	r   Nc                8    V P                   P                  V4      # rC  )rb   __arrow_c_array__)rC  requested_schemas   &&r   rp  ArrayWrapper.__arrow_c_array__  s    yy**+;<<r   rA  rC  )r5  r6  r7  r8  rD  rp  r9  rM  rN  s   @r   rk  rk    s     = =r   rk  c                   0   a  ] tR tRt o R tRR ltRtV tR# )ArrayDeviceWrapperi  c                    Wn         R # rC  rA  rB  s   &&r   rD  ArrayDeviceWrapper.__init__  rn  r   Nc                <    V P                   P                  ! V3/ VB # rC  )rb   __arrow_c_device_array__)rC  rq  kwargss   &&,r   rx  +ArrayDeviceWrapper.__arrow_c_device_array__  s    yy112BMfMMr   rA  rC  )r5  r6  r7  r8  rD  rx  r9  rM  rN  s   @r   rt  rt    s     N Nr   rt  wrapper_classc                 z   V ! \         P                  ! . RO\         P                  ! 4       R7      4      p\         P                  ! V4      pW!P                  8X  g   Q h\         P                  ! V\         P                  ! 4       R7      pV\         P                  ! . RO\         P                  ! 4       R7      8X  g   Q hR# rw  )r   r   r   rb   r   )r{  r"   r<   s   &  r   test_c_array_protocolr}    ss     <
=CXXc]FXX XXc
+FRXXibhhj9999r   c                  (   \         P                  ! . RO\         P                  ! 4       R7      p \        P                  ! \
        RR7      ;_uu_ 4        V P                  RR7       RRR4       V P                  RR7      pR#   + '       g   i     L$; i)r   rT   z7Received unsupported keyword argument\(s\): \['other'\]rn   znot-none)otherNr   )r   r   r   r/   r0   r  rx  )r"   r   s     r   0test_c_array_protocol_device_unsupported_keywordr    sg    
((9288:
.C	H
 
 	$$:$6	
 	$$4$0A
 
s   BB	c                      \         P                  ! \         P                  ! ^^.4      \         P                  ! ^^.4      .4      p V P                  \         P                  ! . RO4      4      '       g   Q hR# )r   Nr  )r   concat_arraysr   r   )concatenateds    r   test_concat_arrayr    sT    ##	1a&	288QF+,.Lrxx56666r   c                     \         P                  ! \        P                  4      ;_uu_ 4        \        P                  ! \        P
                  ! ^.4      \        P
                  ! R.4      .4       RRR4       R#   + '       g   i     R# ; i)r   r   N)r/   r0   r   r  r  r   r3   r   r   !test_concat_array_different_typesr    sK    	r	'	'
"((A3-2$89 
(	'	'	's   AA::B	c                     \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! R.4       RRR4       \        P
                  ! ^ ^.^^..4      p \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! V 4       RRR4       R#   + '       g   i     Lq; i  + '       g   i     R# ; i)zshould contain Array objectsrn   N)r/   r0   r1   r   r  rt   r+   s    r   test_concat_array_invalid_typer    s     
y(F	G	G
$  
H 

QFQF+
,C	y(F	G	G
 
H	G	 
H	G 
H	G	Gs   B&B9&B6	9C
	c                  <   \         P                  ! . RO\         P                  ! RRR7      R7      p V P                  4       pVP                  P
                  f   Q h\         P                  ! V .4      p V P                  4       pVP                  P
                  f   Q hR# )r   r   zEurope/Brusselsr   rT   Nr   )r   r   r   r   dtr   rt   )r"   r   s     r   test_to_pandas_timezoner    sp     ((92<<8I#J
KCA4477


C5
!CA4477r   c                  <   \         P                  ! ^4      .\         P                  ! ^4      .\         P                  ! ^4      ..p \        P                  ! V 4      pVP	                  4       pV^ ,          P
                  R8X  g   Q hVP                  4       V 8X  g   Q hR# )r   r  N)rf   r  r   r   r   r|   r   )r=   r"   r<   s      r   test_to_pandas_float16_listr    sq     A"**Q-2::a=/BH
((8
C]]_F!9??i'''==?h&&&r   c                  J   \         P                  ! . RO\         P                  ! 4       R7      p V P                  R4      pVP	                  4       . RO8X  g   Q h\         P
                  ! . R	O. R
O.4      p V P                  R4      pVP	                  4       . RO8X  g   Q h\         P                  ! . RO\         P                  ! 4       R7      p V P                  RRR7      pVP	                  4       . RO8X  g   Q hV P                  RRR7      pVP	                  4       . RO8X  g   Q hR# )rs   rT   
descendingNat_end)null_placementat_start)rs   rF  #   )r  rF  rs   r   rl  )r  rs   rr   r   r   r   )rs   rF  r  N)r  rF  rs   N)Nr  rF  rs   )r   r   r   sortr   rt   )r"   
sorted_arrs     r   test_array_sortr    s    
((:BHHJ
/C,'J!Z///


Iy1
2C,'J!%7777
((#"((*
5C,x@J!%5555,zBJ!%5555r   c                     \         P                  P                  \         P                  ! . RO\         P                  ! 4       R7      \         P                  ! . RO4      .RR.R7      p V P                  R	RR
7      pVP                  4       R^#RR/R^RR/R^RR/R^RR/.8X  g   Q hV P                  4       pVP                  4       R^RR/R^RR/R^RR/R^#RR/.8X  g   Q h\         P                  P                  \         P                  ! . RO\         P                  ! 4       R7      \         P                  ! . RO4      .RR.\         P                  ! . RO4      R7      pVP                  R	RRR7      pVP                  4       RR^#RR/R^RR/R^RR/.8X  g   Q hVP                  R	RRR7      pVP                  4       R^#RR/R^RR/R^RR/R.8X  g   Q hR# )rs   rT   r6   carr8   foobarr   r   r  r  )byrj  r  )r  r  Nr  )rs   rF  rF  r  )r6   r  r8   r  r  )r   rm  r   r   r   r  r   )r"   r  arr_with_nullss      r   test_struct_array_sortr  ,  s,   
..
$
$
RXXZ0
01& 3Z % C
 ,3/J!	b#x 	ae	ae	ae	&    J!	ae	ae	ae	b#x 	&    ^^//
RXXZ0
011 3Zbhh'BC 0 EN
  $$Z % 9J!	b#x 	ae	ae	&     $$X % 7J!	b#x 	ae	ae	&   r   c                     \         P                  ! . RO4      p \         P                  ! V 4      pW8X  g   Q h\         P                  ! V \         P                  ! 4       R7      p\         P                  ! . RO\         P                  ! 4       R7      pW!8X  g   Q hVP                  \         P                  ! 4       8X  g   Q h\         P                  ! R.\         P                  ! 4       R7      p \
        P                  ! \         P                  4      ;_uu_ 4        \         P                  ! V \         P                  ! 4       R7       RRR4       \         P                  ! R.\         P                  ! 4       R7      p\         P                  ! V \         P                  ! 4       RR7      pW8X  g   Q h\         P                  ! V \         P                  ! 4       R7      pW8X  g   Q hR#   + '       g   i     L; i)	r   rT   NFr  r  r   l    r   )
r   r   r   rU   r   r/   r0   r  r   r  r;   s      r    test_array_accepts_pyarrow_arrayr  Z  s+   
((9
CXXc]F== XXc
+Fxx	
3H==BHHJ&&& ((K=rxxz
2C	r	'	'
288:& 
( xx288:.HXXc
7F XXcr'='='?@F== 
(	's   ,GG.	c                 
   V P                   P                  4       V8X  g   Q hV P                  P                  4       V8X  g   Q h\        V 4      V8X  g   Q hV P	                  4       V8X  g   Q hV P                  4       V8X  g   Q hR # rC  )run_endsr   r   r   find_physical_lengthfind_physical_offset)	ree_arrayr  r   logical_lengthphysical_lengthphysical_offsets   &&&&&&r   check_run_end_encodedr  t  s|    '')X555%%'6111y>^+++))+>>>))+>>>r   c                 t    . ROp. ROp\         P                  P                  WV 4      p\        W1V^^^ 4       R# r   Nr   rs   r]      r   r   r   r   )r   RunEndEncodedArrayr   r  )ree_typer  r   r  s   &   r   +check_run_end_encoded_from_arrays_with_typer  }  s4    HF%%11(HMI)vr1a@r   c                    . ROp. ROp\         P                  ! WP                  4      p\         P                  ! W P                  4      p\         P                  P                  W44      pVP                  V 8X  g   Q h\        WQV^^^ 4       R# r  )r   r   run_end_typer  r  r   rU   r  )r  r  r   typed_run_endstyped_valuesr  s   &     r   'check_run_end_encoded_from_typed_arraysr    sl    HFXXh(=(=>N88F$7$78L%%11.OI>>X%%%)vr1a@r   c                     \        4        \        P                  ! 4       \        P                  ! 4       \        P                  ! 4       3 F  p \        P
                  ! 4       \        P                  ! 4       \        P                  ! 4       \        P                  ! 4       3 F/  p\        P                  ! W4      p\        V4       \        V4       K1  	  K  	  R # rC  )	r  r   rH  r   r   r  r  run_end_encodedr  )r  r  r  s      r    test_run_end_encoded_from_arraysr    sw    /1RXXZ<99;
BIIKLJ)),CH7A3H= M =r   c            
      X   . ROp . ROp\         P                  ! \         P                  ! 4       \         P                  ! 4       R7      p^pR.p^ p^ pW.p\         P                  P                  W#VWVV4      p\        WV^^^ 4       \         P                  P                  W#. WVV4      p\        WV^^^ 4       \         P                  P                  W#VRVV4      p\        WV^^^ 4       \         P                  P                  W#^,
          VV^V4      p\        WW^,
          ^^4       \        P                  ! \        4      ;_uu_ 4        \         P                  P                  W#RR.WVV4       RRR4       \        P                  ! \        4      ;_uu_ 4        \         P                  P                  W#VWVR4       RRR4       \        P                  ! \        4      ;_uu_ 4        \         P                  P                  W#VWVV .4       RRR4       \        P                  ! \        4      ;_uu_ 4        \         P                  P                  W#V^Wg4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r   )r  r  Nr  r  r   )
r   r  r   r   r  rI  r  r/   r0   ru   )	r  r   r  r  r_   r   rD  r^  r  s	            r   !test_run_end_encoded_from_buffersr    s   HF!!rxxzbhhjQHFfGJF!H%%228W3=3;=I )vr1a@%%228R3=3;=I )vr1a@%%228W35v3;=I )vr1a@%%228aZ3=q(LI)vz1aH	z	"	"
**8dD\+5x	I 
# 
z	"	"
**8W+5t	E 
# 
z	"	"
**8W+5z	K 
# 
z	"	"
**8W+,f	@ 
#	" 
#	" 
#	" 
#	" 
#	"	"s0   %I#I2$$J2#JI/	2J	J	J)	c                     . ROp . ROp\         P                  ! \         P                  ! 4       \         P                  ! 4       4      p\         P                  P                  WV4      p. ROp\         P                  ! WBR7      pVP                  V4      '       g   Q h\         P                  ! \        P                  ! V4      VR7      pVP                  V4      '       g   Q h\         P                  ! \         P                  ! 4       \         P                  ! 4       4      p\         P                  ! WFR7      pVP                  V4      '       d   Q h\         P                  P                  WV4      pVP                  V4      '       g   Q h. ROp . ROp\         P                  P                  WV4      p. R	Op\         P                  ! WBR7      pVP                  V4      '       g   Q h. R
Op . ROp\         P                  P                  WV4      p\         P                  ! . RO4      p\         P                  ! WBVR7      pVP                  V4      '       g   Q hR# )r   rT   Nr  )r   r   r  r   r   r   r   r   r   r   )r   r   rs   r  )r   r   r   N)r   r   r   r   r   N)r   r   rr   rs   r  )r   r   Nr   N)FFFTFT)r   r  r   r   r  r   r   r   rf   rH  r0  )	r  r   r  r=   r"   r<   
ree_type_2
expected_2ri  s	            r   )test_run_end_encoded_from_array_with_typer    s   HF!!"((*bhhj9H$$0019;H CXXc)F==""""XXbhhsm(3F==""""##BHHJ

=JXXc+F}}X&&&&&&2283=?J==$$$$HF$$0019;H  CXXc)F==""""H"F$$0019;H 88<=DXXct4F==""""r   c                     . ROp \         P                  ! V \         P                  ! \         P                  ! 4       \         P                  ! 4       4      4      p\
        P                  ! V 4      p\
        P                  P                  VP                  RR7      V4       \        P                  ! \         P                  4      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     R# ; i)r   Frp   Nr  )r   r   r  r   r   rf   rh   ri   r^   r/   r0   r  )r"   r  r=   s      r   test_run_end_encoded_to_numpyr    s    
Cb00RXXZHIIxx}HJJ!!)"4"4E"4"JHU	r	'	' 
(	'	'	's   	C$$C5	c                     . ROp \         P                  ! V \         P                  ! \         P                  ! 4       \         P                  ! 4       4      4      pVP                  4       P                  4       V 8X  g   Q h\        P                  ! \         P                  4      ;_uu_ 4        VP                  RR7       RRR4       R#   + '       g   i     R# ; i)r   Trp   Nr  )
r   r   r  r   r   r   r   r/   r0   r  )r"   r  s     r   test_run_end_encoded_to_pandasr    s    
Cb00RXXZHII '')S000	r	'	'40 
(	'	'	's   (CC	c           	      6   . ROp. ROp. ROpV P                  W4V4      pVP                  4       ^^.^^.^^.R^..8X  g   Q hVP                  P                  4       V8X  g   Q hVP                  P                  4       V8X  g   Q hVP                  P                  4       V8X  g   Q hV! \
        P                  ! R\
        P                  ! 4       4      4      pV P                  W4W&4      pVP                  V8X  g   Q hVP                  P                  P                  R8X  g   Q hV! \
        P                  ! 4       4      p\        P                  ! \        4      ;_uu_ 4        V P                  W4W&R7       RRR4       . ROp. R	Op. R
OpV P                  W4V4      pVP                  4       ^^.^^.^^..8X  g   Q hVP                  P                  4       V8X  g   Q hVP                  P                  4       V8X  g   Q hVP                  P                  4       V8X  g   Q h. p^ R.p^ ^ .pV P                  W4V4      pVP                  4       . R.8X  g   Q hVP                  P                  4       V8X  g   Q hVP                  P                  4       ^ ^ .8X  g   Q hVP                  P                  4       V8X  g   Q h. p^ ^ .pR^ .pV P                  W4V4      pVP                  4       R. .8X  g   Q hVP                  P                  4       V8X  g   Q hVP                  P                  4       V8X  g   Q hVP                  P                  4       ^ ^ .8X  g   Q h^^.p. ROp. ROp\
        P                  ! . RO4      pV P                  W4W(R7      pVP                  4       ^.R^..8X  g   Q hVP                  P                  4       V8X  g   Q hVP                  P                  4       V8X  g   Q hVP                  P                  4       V8X  g   Q hR#   + '       g   i     EL; i)r   Nr  rT   rk  )r   r   r   rr   rs   r  NrF  )r   r   rr   r  )r   r   r   r   r  )r   r   r   r  )r   r   r   )r   r   r   r  )r   r   r   r  sizesr   r/  r   rU   r  r  rS   r/   r0   r1   r   )	r  r[  r   r  r  r   r  r<   ri  s	   &&       r   test_list_view_from_arraysr    s   
 )FGE''?E??!Q!Q!Q$ CCCC<<!!#v---==""$///;;  "e+++ BHHVRXXZ8
9C((EF;;#;;""''6111 BIIK
(C	y	!	!##GF#E 
" FGE''?E??!Q!Q!Q 8888<<!!#v---==""$///;;  "e+++ F$iGFE''?E??T
***<<!!#v---==""$A...;;  "e+++ F!fG1IE''?E??r
***<<!!#v---==""$///;;  "q!f,,, VFGE88()D'''JE??!dQC 0000<<!!#v---==""$///;;  "e+++] 
"	!	!s   PP	c           	         ^^.p. ROp. ROp\         P                  ! . RO4      p\        P                  ! \         P                  P
                  4      ;_uu_ 4        V P                  W4W%R7       RRR4       . ROpV P                  W4W%R7      pVR,          p\        P                  ! \         P                  P
                  4      ;_uu_ 4        V P                  VP                  VP                  VP                  VP                  4       R7       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   Nrk  r)  )r   r   N)r   r   r   )FFT)r   r   r   )r   r   r/   r0   r   r  r   r  r  r   rn  )r  r[  r   r  r  ri  r   array_slices   &&      r    test_list_view_from_arrays_failsr  M  s     VFGE88()D 
rvv**	+	+##GF#F 
, G'''JE)K 
rvv**	+	+##!2!2[%8%8%: 	$ 	< 
,	+ 
,	+ 
,	+	+s   DAD,D)	,D=	c           
         \         P                  ! . RO\         P                  ! 4       R7      pV! \         P                  ! 4       4      p\         P                  ! . ROR^^.. ^^.R^^..VR7      p\         P                  ! . ROVR7      p\         P                  ! . ROVR7      pV! V! \         P                  ! 4       4      4      p\         P                  ! R. ROR^^... . ^^.R.^^...VR7      p	\         P                  ! . R	OVR7      p
\         P                  ! . R
OVR7      pVP                  4       P	                  V4      '       g   Q hVP
                  P	                  V4      '       g   Q hVP                  P	                  V4      '       g   Q hVP                  P	                  V4      '       g   Q hV	P                  4       P	                  V4      '       g   Q hV	P
                  P	                  V
4      '       g   Q hV	P                  P	                  V4      '       g   Q hV	P                  P	                  V4      '       g   Q hV	P                  4       P                  4       P	                  V4      '       g   Q hV	P                  P                  P	                  V4      '       g   Q hV	P                  R4      P	                  V4      '       g   Q h. ROp. ROp. ROpV P                  WV4      pVP                  4       P                  4       . RO8X  g   Q h\         P                  ! . RO4      pV P                  WVVR7      pVP                  4       P                  4       . RO8X  g   Q hVP                  P                  4       . RO8X  g   Q hR# )r   NrT   Trk  r  r&   )r   r   r   rs   rs   rF  rF  )r   r   r   r   r   r   r   )r   r   r   r   r  )r   r   r   r   r   r  )r   r   r   r   )r   r   r   r   )rr   r   r   r   r  )rr   r   r   )
r   r   r   r  r   r  r  r   r   r   )r  r[  r  r  r?  r  r  sizes1r@  r  r  sizes2r   r  r  r   ri  s   &&&              r   test_list_view_flattenr  e  s    88 
 HHJD RXXZ(D88	
A
	
A	
A D xx-K@HXX++>FHHJ	
D
 88F	

 	F	
 F	
  !D" xxk:HXXoK8F<<>  &&&&<<x((((::V$$$$;;d####<<>  &&&&<<x((((::V$$$$;;d####<<>!!#**40000;;$$T****<<$$T**** FGE''?E==?$$&,666 88/0D''T'JE==?$$&)333<<!!#|333r   list_view_typec                 2   V P                  . RO. RO. ROR7      pVR,          pVP                  P                  4       . RO8X  g   Q hVP                  P                  4       ^^.8X  g   Q hVP	                  4       P                  4       . RO8X  g   Q hVP                  ^ ,          P                  4       pVP                  ^,          P                  4       pV^ ,          P                  4       VP                  W4 P                  4       u;8X  d
   ^.8X  g   Q h Q hR# )r   )r  r  r   r)  N)r   r   rr   )r   r   r   r  rl  r  )r  r   sliced_arrayr   r$  s   &    r   test_list_view_slicer    s     &&y A08J ' LE9L((*.@@@@))+1v555!++-:::Q%%'AQ%%'A?  "l&9&9!&>&H&H&JQqcQQQQQr   numpy_native_dtypec                    \         P                  ! V 4      P                  4       p\         P                  ! ^
VR7      p\        P
                  ! \        P                  4      ;_uu_ 4        \        P                  ! V4       RRR4       \        P
                  ! \        P                  4      ;_uu_ 4        \        P                  ! V\        P                  ! 4       R7       RRR4       \        P
                  ! \        P                  4      ;_uu_ 4        \        P                  ! V.4       RRR4       \        P
                  ! \        P                  4      ;_uu_ 4        \        P                  P                  V.R.R7       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r]   r{   NrT   r   r  )rf   r|   newbyteorderrg   r/   r0   r   r  r   r   rm  r   )r  numpy_swapped_dtyperj   s   &  r   test_swapped_byte_order_failsr    s   
 ((#56CCEYYr!45F 
r22	3	3
 
4 
r22	3	3
bjjl+ 
4 
r22	3	3
& 
4 
r22	3	3
""F8C5"9 
4	3 
4	3	3 
4	3 
4	3 
4	3	3s0   )F4,F"F5 $GF	"F2	5G	G	c                     \         P                  ! R 4      p V P                  ^ 4      p\        P                  ! ^\        P
                  R7      p\        P                  ! . RO\        P                  R7      pVP                  V4      pVP                  V4      p\        P                  P                  \        P
                  ! 4       ^RV.4      p\        P                  P                  \        P
                  ! 4       ^RV.4      p\        P                  P                  \        P
                  ! 4       ^WT.4      pVP                  4        VP                  ^ 8X  g   Q hVP                  4       RV.8X  g   Q hVP                  \        P                   P"                  8X  g   Q hVP$                  RJ g   Q h\'        V4      ^8X  g   Q hVP)                  ^^4      P                  ^8X  g   Q h\+        V4      '       g   Q h\-        V4      '       g   Q h\         P.                  ! \0        4      ;_uu_ 4        VP3                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VP5                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VP7                  V4       RRR4       \         P.                  ! \0        4      ;_uu_ 4        VP9                  \        P:                  ! 4       4       RRR4       \         P.                  ! \0        4      ;_uu_ 4        VP=                  \        P:                  ! 4       4       RRR4       \         P.                  ! \0        4      ;_uu_ 4        VP?                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPA                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPC                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPE                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPF                   RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPH                   RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPK                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        \M        V4       U	u. uF  qNK  	   p	RRR4       \         P.                  ! \0        4      ;_uu_ 4        Wg8H   RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPO                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPQ                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPS                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPU                  ^ 4       RRR4       \         P.                  ! \0        4      ;_uu_ 4        V^ ,           RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPW                  ^ .4       RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPY                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VP[                  . RO4       RRR4       \         P.                  ! \0        4      ;_uu_ 4        VP]                  ^ 4       RRR4       \         P.                  ! \0        4      ;_uu_ 4        VP_                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPa                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPc                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VPe                  4        RRR4       \         P.                  ! \0        4      ;_uu_ 4        VP                  RR7       RRR4       R#   + '       g   i     ELl; i  + '       g   i     ELE; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELY; i  + '       g   i     EL2; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; iu up	i   + '       g   i     ELs; i  + '       g   i     ELX; i  + '       g   i     EL1; i  + '       g   i     EL
; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELr; i  + '       g   i     ELK; i  + '       g   i     EL!; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL]; i  + '       g   i     R# ; i)zpyarrow.cudar{   TFNr	  r!  )TTFF)3r/   r   Contextrf   rg   r   r   r  buffer_from_datar   r2   rI  r   rD  r_   device_typeDeviceAllocationTypeCUDAis_cpur   rX   r  r   r0   r  
__dlpack____dlpack_device__r  r  r   r  r   r  r   r  r   r  r  iterrn  is_nanr(   	fill_nulltake	drop_nullfilterindexr  r9  r^   r   )
cudactxrb   validitycuda_data_bufcuda_validity_bufr"   r  r  r   s
             r   test_non_cpu_arrayr    s+   ~.D
,,q/C99Qbhh'Dxx2"((CH((.M,,X6
((


Am/D
EC88  Q}0EFDXX**

A)9;N LLN::??;;=T=1111??b55:::::::s8q==99Q?!!Q&&&999s88O8 
*	+	+ 
,	*	+	+ 
, 
*	+	+ 
,	*	+	+ 
,	*	+	+ 
,	*	+	+	 
,	*	+	+

 
,	*	+	+ 
,	*	+	+ 
,	*	+	+!! 
,	*	+	+

 
,	*	+	+!!# 
,	*	+	+IIqI 
,	*	+	+ 
,	*	+	+ 
,	*	+	+

 
,	*	+	+ 
,	*	+	+a 
,	*	+	+A 
,	*	+	+! 
,	*	+	+ 
,	*	+	+

-. 
,	*	+	+		! 
,	*	+	+
 
,	*	+	+ 
,	*	+	+ 
,	*	+	+

 
,	*	+	+$ 
,	+q 
,	+	+	+	+	+ 
,	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+ 	 
,	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+sb  /b#*b7%c!%c0%c3?d:d5d/0e+e"e+e?f"
f,ff,g g=g(8g<4
h(h$%h8 ii i4jjj0k#b4	7c	c	c0	3d	d	d,	/e 	e	e(	+e<	?f	ff)	,f=	 g	g%	(g9	<h	h!	$h5	8i		i	 i1	4j	j	j-	0k	k	c                     \         P                  ! . RO4      p \         P                  ! . RO4      pW,           P                  \        P                  ! W4      4      '       g   Q hW,          P                  \        P
                  ! W4      4      '       g   Q hW,          P                  \        P                  ! W4      4      '       g   Q hV ) P                  \        P                  ! V 4      4      '       g   Q hV ^,          P                  \        P                  ! V ^4      4      '       g   Q hW,
          P                  \        P                  ! W4      4      '       g   Q hR# )r  N)grU  gffffff
)rU  r  g      @)
r   r   r   pcadd_checkeddivide_checkedmultiply_checkednegate_checkedpower_checkedsubtract_checkedr  r  s     r   test_arithmetic_dundersr  4  s    88%&D88O$DKt :;;;;K 1 1$ =>>>>K 3 3D ?@@@@E>>"++D12222AIb..tQ78888K 3 3D ?@@@@r   c                  d   \         P                  ! . RO4      p \         P                  ! . RO4      pW,          P                  \        P                  ! W4      4      '       g   Q hW,          P                  \        P
                  ! W4      4      '       g   Q hW,          P                  \        P                  ! W4      4      '       g   Q hW,          P                  \        P                  ! W4      4      '       g   Q hW,	          P                  \        P                  ! W4      4      '       g   Q hR# )r   N)r   r   r  )r   rr   rs   )	r   r   r   r  bit_wise_andbit_wise_orbit_wise_xorshift_left_checkedshift_right_checkedr  s     r   test_bitwise_dundersr  A  s    88K D88IDK ;<<<<Kt :;;;;K ;<<<<L  !6!6t!BCCCCL  !7!7!CDDDDr   c                     R p \         P                  ! . RO4      p\         P                  ! R^RR/RRR^/.4      p\         P                  ! . R	O4      p\        P                  ! \         P                  V R7      ;_uu_ 4        W,            RRR4       \        P                  ! \         P                  V R7      ;_uu_ 4        W,
           RRR4       \        P                  ! \         P                  V R7      ;_uu_ 4        W2,           RRR4       R#   + '       g   i     L; i  + '       g   i     Ld; i  + '       g   i     R# ; i)
z1Function '\w+' has no kernel matching input typesr;  r9  Tr  g333333@rn   Nr   rN  )r   r   r/   r0   r  )error_match
string_arr
nested_arr
double_arrs       r   test_dunders_unmatching_typesr  M  s    FK/*JCC.c30BCDJ/*J	r22+	F	F 
G	r22+	F	F 
G	r22+	F	F 
G	F	 
G	F	F	F	F	F	Fs$   	D 	D%?	D8D"	%D5	8E		c                  `   \         P                  ! . RO4      p \         P                  ! ^4      pW,           P                  \        P
                  ! W4      4      '       g   Q hW,
          P                  \        P                  ! W4      4      '       g   Q hW,          P                  \        P                  ! W4      4      '       g   Q hW,          P                  \        P                  ! W4      4      '       g   Q hW,          P                  \        P                  ! W4      4      '       g   Q hR# )r  N)r  g      1@g      7@)
r   r   r   r   r  r  r  r  r  r  )r"   r  s     r   test_dunders_mixed_typesr  \  s    
((%
&C
))A,CIbnnS67777Ib11#;<<<<Ib//9::::Ib11#;<<<<Jr//9::::r   c                     \         P                  ! ^R.\         P                  ! 4       R7      p Rp\        P                  ! \         P
                  VR7      ;_uu_ 4        W ,            RRR4       \        P                  ! \         P
                  VR7      ;_uu_ 4        W ,           RRR4       \        P                  ! \         P
                  VR7      ;_uu_ 4        W ) ,
           RRR4       \        P                  ! \         P
                  VR7      ;_uu_ 4        V \         P                  ! ^\         P                  ! 4       R7      ,           RRR4       \        P                  ! \         P
                  VR7      ;_uu_ 4        W ) ,           RRR4       R#   + '       g   i     EL;; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r  rT   overflowrn   Nr  )r   r   r   r/   r0   r  r   )r"   r  s     r   test_dunders_checked_overflowr  h  s   
((C;RWWY
/CK	rk	:	:	 
;	rk	:	:	 
;	rk	:	:t 
;	rk	:	:ryy++ 
;	rk	:	:t 
;	: 
;	:	:	:	:	:	:	:	:	:	:	:	:s<   	F	F-
G3G
G'F*	-F>	G	G$	'G8	)r   r   r   r   )r   r   )r  r[  )r   r   r}   )r   g?g?r   )rN  rO  rP  )s   abcs   bcds   cde)rb   r  )TFTT)r   r   rr   r  )r   r,  N)r   Nr   ))r   r   )r   r   N)r|   rU   )YrC  Whmpsfsas)r   r   r   r   )r  r[  )r  r  rC  )r  r[  r  )r,  r  r(  (	  collections.abcr   r   rf  
hypothesisr
  hypothesis.strategies
strategiesstr  r/   r.  r	   r   r    numpyrf   ImportErrorpyarrowr   pyarrow.tests.strategiestestspastpyarrow.vendored.versionr   pyarrow.computecomputer  mark	processesr   r$   r,   r4   r>   rB   rG   rJ   rM   rP   rZ   rl   ry   r   r   parametrizer   r   r   r  r   nopandasr   r   r   r   r   r   r   r   r   r   r  r  r!  r%  r1  r<  r?  rA  rL  rT  rZ  r  r   	list_viewlarge_list_viewrb  rd  rv  rx  r~  r  r  r  r  r  r  LargeListArrayr  r  r  r  r  r  r  r  r  r
  r  r  r  r#  r/  r1  r3  r7  r<  rA  rG  rL  rR  rV  r[  ri  rn  rs  ru  rx  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rF   rS   r  r  r   r   rH  r/  pickle_test_parametrizer  r  settingsHealthChecktoo_slowgivenru  	all_typesintegersr  r  r  r  r  r  r  r  r!  r$  r'  r   r+  r-  r4  r<  r>  r   rA  rF  rV   binary_viewrR  r^  rj  rl  rq  r  r  rX  ru  rx  rz  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  slowlarge_memoryr  r  r  r  r"  r%  r,  r.  r2  r5  r<  ri  rk  rt  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  ListViewArrayLargeListViewArrayr  r  r  r  r  r  r  r  r  r  r  r3   r   r   <module>r0     s  $ %    "     
   ' ' ,  - -.B		; 4 4& 4 4  4 9 9" !89e}-4 . : 4 !894 : 4 4 4  : #8  #8L GGIGGIIIK	  

4'n
# 6 6&;R'B4:%7   2 2#  A A( "F84 ,HHbmmR\\2+=+=/? @7@7*5*L-^; 6* + ; ;, C CL 7 7 E*$ A<<2,,bmm<>?3?? 3?l A\\288&D  	A3K	At9qcS1#J! 
$	$ A\\288&D K	K@	#$ I  I X1Ih>&G TBLJG,4&'4 '$ '2 " "8	#', + +( 
* 
* + +$:*4 "K "KJ +F/8 ( ( 	 	%"P* 0/'B,E4,4'@ '( # # # # # #  # # " "( # #	01(h ) !eAsmU1c]uQ|eArluQ|eArluQ|eArlo!"YYq\+,,  $! $
 !++11	"BHHJ/	rxxz"	2::<(	299;'	T
a&1#,-a&1#bhhj12%Sz	"BHHRYY[$9:a&1#RXXZ01a&1#**288:67%Sz	"BLL$=>	#IIrxxRXXZ0"((3		2LMN	P ( $ $$ 1==#9#9";<KK[[13  =   - -" F F,     $ $#6   ? ?: # # % %3 *bll3'(r||D)*r||D)*r||D)*	-    "    	" 			 	 !89
 : 
   *r{{3'(D)*D)*D)*	- # #,   IIKOONN	) 
& &@,, &@ &@R,  8  8F GGIMMONN	) 
 &  &F 8 8   A A # #   # # > >"# "" ""J 1F J J.
 =88:rxx0288:r}}2MNP4+P4+n HHRXXZHHRXXZ1%MM"((*'  	7	 	7 588:rxx
';<88:rxx
a'HI88:r}}RXXZ'@A88:r||BHHJ'?@88:r'9'9"((*'EF	HI0I04 ,rxx.GH8 I8& 2<<1B1B"CDB EB$!+HC0#)L"D -F>> ; ;4 6-% 7   -%` " "" 3 3 	" 	" /B /Bd ( ( D D@ 
5 
5 % %4! +% +%\ @# @#F= =N N <9K*LM	: N	:17:
   ' '6 +\4?AA>,@^ $# $#N   1 1 A++R\\:00"2D2DEGHB,HB,J A++R\\:00"2D2DEGH<H<* P++R\\288:F00"2D2DbhhjQSTG4TG4T )B,<,<b>S>S+TUR VR& -/AB: C :.R j
A	E 	;QJ  	Bs   AV  V 	AV-V,AV-