+
    nDj                    t   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
H	t	HtHtHt ^ RIHt ^ RIt^ RIHt ^ RIt ^ RIt^ RIHt  ]P6                  t^ RI H!t!H"t" ^ RI#H$t$H%t%H&t& ^ RI'H(u Ht) ^ RI#H(u H*t+ ^ RI,H-t- ^ RI.t/ ^ R	I.H0t1  ^ RI2t3^ RI4Ht5 ^R
I6H7t7H8t8 ]Pr                  Pd                  t:RR lt;RR lt<RR lt=RR lt>RR lt? ! R R4      t@ ! R R4      tA]Pr                  P                  R. RO4      R 4       tC]Pr                  P                  R. RO4      R 4       tD ! R R4      tE ! R R4      tF ! R R4      tG ! R R4      tH ! R R 4      tI ! R! R"4      tJR# tKR$ tL ! R% R&4      tMR' tNR( tO]Pr                  P                  R)R*.R+.34      R, 4       tPR- tQR. tRR/ tS]P                  ! ])P                  ! ])P                  4      4      R0 4       tWR1 tXR2 tYR3 tZR4 t[R5 t\R6 t]R7 t^R8 t_R9 t`R: taR; tbR< tcR= tdR> teR? tfR@ tgRA thRB tiRC tj]Pr                  P                  R]/P                  ! 4       RD3]/P                  ! 4       RE3]/P                  ! 4       RF3]/P                  ! 4       RG3]/P                  ! 4       RH3]/P                  ! 4       RI3]/P                  ! 4       RJ3]/P                  ! 4       RK3]/P                  ! 4       RL3]/P                  ! 4       RM3]/P                  ! 4       RN3]/P                  ! 4       RO3]/P                  ! 4       RP3]/P                  ! 4       RQ3]/P                  ! 4       RQ3]/P                  ! 4       RR3]/P                  ! ^RS7      RR3]/P                  ! 4       RT3]/P                  ! ]/P                  ! ]/P                  ! 4       4      4      RU3]/P                  ! ^^4      RV3]/P                  ! RW4      RX3]/P                  ! RYRZ4      R[3]/P                  ! R\4      R]3]/EP                   ! RY4      R]3.4      R^ 4       tR_ tR` tRa tRb tRc tRd tRe tRf tRg tRh tRi tRj tRk tRl tRm tRRn ltRo tRp tRq tRr tRs tRt t ! Ru Rv]/EP0                  4      tRRw ltRx tRy tRz t ! R{ R|]/EP0                  4      tR} tR~ tR tR tR t]Pr                  P                  RRRR..4      R 4       tR t]Pr                  Pd                  R 4       t]Pr                  P                  R]/P                  ! 4       ]/EPN                  ! 4       ]/EPP                  ! 4       .4      ]Pr                  P                  R. R..4      R 4       4       tR tR tR tR tR t]Pr                  P`                  R 4       tR t]Pr                  P                  R. RO4      ]Pr                  P                  RRR.4      ]Pr                  P                  R]	! R^^4      ]	! R^^4      .4      R 4       4       4       tR t]Pr                  EPf                  R 4       tR tR tR tR tR tR tR tR t]Pr                  EPz                  R 4       tR t]Pr                  EPf                  R 4       tR tR#   ] d    ^ RIHt  EL1i ; i  ] d    Rt ELAi ; i  ] d     ELi ; i  ] d     ELi ; i)    N)OrderedDict)datedatetimetime	timedeltatimezone)ZoneInfo)VisibleDeprecationWarning)get_logical_type_pandas_api)invoke_scriptrandom_asciirands)Version)parquet)dataframe_with_arraysdataframe_with_listsc                    \         P                  ! / R \        P                  ! V \        P                  R7      bR\        P                  ! V \        P
                  R7      bR\        P                  ! V \        P                  R7      bR\        P                  ! V \        P                  R7      bR\        P                  ! V \        P                  R7      bR\        P                  ! V \        P                  R7      bR\        P                  ! V \        P                  R7      bR\        P                  ! V \        P                  R7      bR	\        P                  ! V \        P                  R7      bR
\        P                  ! V \        P                  R7      bR\        P                  P                  V 4      ^ 8  bR\        P                  ! RV RR7      bR\        P                  ! RV RR7      bR\        P                  ! RV RR7      bR\        P                  ! RV RR7      bR\        P                  ! ^ V RR7      bR\        P                  ! ^ V RR7      bR\        P                  ! ^ V RR7      R\        P                  ! ^ V RR7      R\        V 4       Uu. uF  p\!        V4      NK  	  upRR.\        V ^,
          4       Uu. uF  p\!        V4      NK  	  up,           R.,           RR.V ,          /C4      # u upi u upi )uint8dtypeuint16uint32uint64int8int16int32int64float32float64boolzdatetime[s]2016-01-01T00:00:00.001datetime64[s]zdatetime[ms]datetime64[ms]zdatetime[us]datetime64[us]zdatetime[ns]datetime64[ns]ztimedelta64[s]ztimedelta64[ms]ztimedelta64[us]timedelta64[ns]strstr_with_nullsN	empty_str )pd	DataFramenparanger   r   r   r   r   r   r   r   r    randomrandnranger(   )sizexs   & S/data/cameron/venvs/s3viz/lib/python3.14/site-packages/pyarrow/tests/test_pandas.py_alltypes_exampler6   D   sr   << 4rxx0"))D		2 	"))D		2 	"))D		2	
 			$bhh/ 	4rxx0 	4rxx0 	4rxx0 	299T4 	299T4 			%) 	ryy!:D'68 			";T(8:  			";T(8:!$ 			";T(8:%( 	"))At3CD)* 	299Q4EF+, 	299Q4EF299Q4EFd,1A,4&E$(O#DOqCFO#DDvMbTD[5  0 -#Ds   K9K>c           	         V'       d   \         P                  M\         P                  pTP                  YTV'       d   ^M^R7      p	V	P	                  VR7      p
V'       d$   V	P
                  P                  V4      '       g   Q hVfX   T pVP                   FE  pW,          P                  R8X  g   K  W,          P                  \        P                  R/4      W&   KG  	  \        P                  ! 4       ;_uu_ 4        \        P                  ! RR\        4       \         P"                  ! YTV'       d   RMRR	7       RRR4       R#   + '       g   i     R# ; i)
   )schemapreserve_indexnthreadsuse_threadsNobjectignoreelementwise comparison failedequivF)check_dtypecheck_index_type)paRecordBatchTablefrom_pandas	to_pandasr9   equalscolumnsr   replacer.   nanwarningscatch_warningsfilterwarningsDeprecationWarningtmassert_frame_equal)dfexpectedr=   expected_schemarB   r9   r:   as_batchklasstableresultcols   &&&&&&&&    r5   _check_pandas_roundtripr[   c   s   
 'BNNBHHEb-;,7qQ  @E ___5F ||""?3333##C}""h. ( 5 5rvvtn E $ 
	 	 	"	"57I	K
fK;I5:	= 
#	"	"	"s   <A EE	c                    \         P                  ! V R VR7      pVe   Vf   TpVe   VP                  V8X  g   Q h\        P                  ! VP                  4       V P                  R7      p\        P                  ! W4       R# )TrG   typeNname)	rD   arrayr^   r,   SeriesrH   r`   rQ   assert_series_equal)stype_expected_pa_typearrrY   s   &&&  r5   _check_series_roundtriprh      sg    
((1$U
3C-5 #xx++++YYs}}QVV4F1%    c                    \         P                  ! V R W#R7      pVP                  4       p\        P                  ! V 4      pVf#   VP
                  VP                  4       8X  g   Q hM'VP
                  W&,          P                  4       8X  g   Q hVf   Vf   \        P                  ! V 4      pM6\        P                  ! V 4      P                  4       pRWP                  4       &   VP                  R8X  d"   VP                  \        P                  R/4      p\        P                  ! \        P                  ! V4      VRR7       R# )T)rG   maskr^   Nr>   Fcheck_names)rD   ra   rH   r,   isnull
null_countsumrb   copyr   rK   r.   rL   rQ   rc   )valuesrT   rk   r^   rg   rY   values_nullss   &&&&   r5   _check_array_roundtriprt      s    
((6t$
BC]]_F99V$L|~~!1!1!3333~~$"5!:!:!<<<<<yy(Hyy(--/H$(HYY[!>>X%''7H299V,hEJri   c                     \         P                  ! V R VR7      pVP                  4       p\        P                  ! W04       R# )Tr]   NrD   ra   rH   nptassert_array_equal)np_arrayr^   rg   rY   s   &&  r5   "_check_array_from_pandas_roundtriprz      s-    
((8D
9C]]_F6,ri   c                   p  a  ] tR t^t o RtR tR tR tR t]	P                  P                  RRR.4      R	 4       tR
 tR tR tR tR tR tR tR tR tR tR tR t]	P                  P3                  R4      R 4       tR tR tR t]	P                  P                  RRR.4      R 4       tR tR  t R! t!R" t"R# t#R$ t$R% t%R& t&R' t'R( t(R) t)R* t*R+ t+]	P                  P                  R,],PZ                  ],P\                  ],P^                  ],P`                  .4      R- 4       t1R. t2R/ t3R0 t4R1 t5R2 t6R3t7V t8R# )4TestConvertMetadataz1
Conversion tests for Pandas metadata & indices.
c                    \         P                  ! ^ . RO/4      p\        P                  P	                  V4      pVP                  ^ 4      P                  R8X  g   Q hR# )r   0N   r8      )r,   r-   rD   rF   rG   fieldr`   selfrS   rX   s   &  r5   test_non_string_columns+TestConvertMetadata.test_non_string_columns   sD    \\1i.)$$R({{1~""c)))ri   c                x   \         P                  ! ^ . RO^. RO/4      pVP                  ^ 4      p\        P                  ! \
        4      ;_uu_ 4        \        P                  P                  V4      pVP                  ^ 4      P                  R8X  g   Q h RRR4       VP                  4       p\        VP                  P                  4      VP                  n
        \        P                  ! \
        4      ;_uu_ 4        \        WRR7       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   1NTrT   r:         ?       @      @)      @      @      @)r,   r-   	set_indexpytestwarnsUserWarningrD   rF   rG   r   r`   rq   r(   indexr[   )r   rS   rX   rT   s   &   r5   "test_non_string_columns_with_index6TestConvertMetadata.test_non_string_columns_with_index   s    \\1oq/BC\\!_ \\+&&HH((,E;;q>&&#--- ' 779!(.."5"56\\+&&#B379 '& '& '&&s   AD=D(D%	(D9	c           	        \         P                  ! ^ . RO^. RO^. RO/^^ .R7      p\        P                  P	                  V^ ^.R7      p\        P                  P	                  V^ ^.,          4      pVP                  V4      '       g   Q h\        P                  P	                  V^ ^.R7      p\        P                  P	                  V^ ^.,          4      pVP                  V4      '       g   Q hR# )r   rJ   Nr   )r   r   r   )r8         )r,   r-   rD   rF   rG   rI   rE   )r   rS   rX   rT   record_batch_tablerecord_batch_expecteds   &     r5   test_from_pandas_with_columns1TestConvertMetadata.test_from_pandas_with_columns   s    \\1iIq)D#$a&* $$R!Q$888''Aq6
3u%%%%^^77QF7K " : :2q!f: F$++,>????ri   c                x    \         P                  ! R . RO/4      pR.VP                  n        \	        VRR7       R# )dataaTr:   Nr   )r,   r-   rJ   namesr[   r   rS   s   & r5   %test_column_index_names_are_preserved9TestConvertMetadata.test_column_index_names_are_preserved   s-    \\69-.5

48ri   tzNEurope/Brusselsc           
         \         P                  ! \        P                  P	                  ^^4      \         P
                  ! R^RVR7      R7      p\        VRR7       R# )r   z
2021-01-0150D)periodsfreqr   r   Tr   N)r,   r-   r.   r0   r1   
date_ranger[   )r   r   rS   s   && r5    test_column_index_names_datetime4TestConvertMetadata.test_column_index_names_datetime   sB    
 \\IIOOAq!MM,"M
 	 48ri   c           
        \         P                  ! \        P                  ! ^4      \        P                  ! ^4      ..\         P                  P                  \        P                  ! ^4      .\        P                  ! ^4      \        P                  ! ^4      ..4      \        P                  ! ^4      .R7      p\        VRR7       R# )r   )rJ   r   Tr   N)r,   r-   decimalDecimal
MultiIndexfrom_productr[   r   s   & r5   $test_column_index_names_with_decimal8TestConvertMetadata.test_column_index_names_with_decimal   s    \\ooa '//!"456MM..//!$%(:GOOA<N'OP ??1%&
 	 48ri   c           
        R p\         P                  ! R. RO/\         P                  ! ^ ^^VR7      R7      p\         P                  ! R. RO/\         P                  ! ^ ^4      R7      p\        P                  P                  V4      p\        P                  P                  V4      p\        VP                  4      ^8X  g   Q hVP                  4       p\        P                  ! Wb4       \        VP                  \         P                  4      '       g   Q h\        P                  ! VP                  R4      ^8X  g   Q hVP                  P                  V8X  g   Q hVP                  4       p\        P                  ! Ws4       \        VP                  \         P                  4      '       g   Q h\        P                  ! VP                  R4      ^8X  g   Q hVP                  P                  e   Q hR# )foor   stepr`   r   r   Nr   r8   r   r   r   r         )r,   r-   
RangeIndexrD   rF   rG   lenr9   rH   rQ   rR   
isinstancer   r   get_rangeindex_attributer`   )r   
index_namerS   df2rX   table_no_index_namerY   result2s   &       r5   test_range_index_shortcut-TestConvertMetadata.test_range_index_shortcut   sp   
\\3- "a LN llC.!#q!!46 $$R( hh2237 5<< A%%%"
f)&,,666633FLL&IQNNN||  J...%//1
g+'--777733GMM6JaOOO}}!!)))ri   c           
     H   \         P                  ! R . RO/\         P                  ! ^ ^^RR7      R7      p\        P                  P                  VRR7      pVP                  ^8X  g   Q hRVP                  9   g   Q hVP                  4       p\        P                  ! W14       R# )r   r   r   r   Tr   Nr   )r,   r-   r   rD   rF   rG   num_columnscolumn_namesrH   rQ   rR   )r   rS   rX   restoreds   &   r5   $test_range_index_force_serialization8TestConvertMetadata.test_range_index_force_serialization	  s     \\3- "a GI $$R$=  A%%%*****??$
h+ri   c                j   \         P                  ! \        P                  P	                  ^^4      RR.R7      p\
        P                  ! 4       ;_uu_ 4        \
        P                  ! RR7       \
        P                  ! RR\        4       \        VRR	7       R
R
R
4       R
#   + '       g   i     R
# ; i)r   r   br   erroractionr?   make_block is deprecatedTr   N)r,   r-   r.   r0   r1   rM   rN   simplefilterrO   rP   r[   r   s   & r5   test_rangeindex_doesnt_warn/TestConvertMetadata.test_rangeindex_doesnt_warn  sx     \\"))//!Q/#sD$$&&!!1 ##46H $Bt< '&&&s   AB!!B2	c                    \         P                  P                  R R.RR..4      p\         P                  ! . ROVR7      p\	        VRR7       R# )	onetwoXYr   Tr   Nr   r   r8   r   )r   cr,   r   from_arraysr-   r[   r   rJ   rS   s   &  r5   test_multiindex_columns+TestConvertMetadata.test_multiindex_columns&  sE    --++ENS#J-
  \\8'J48ri   c                    \         P                  P                  R R.\         P                  ! RR.4      .RR.R7      p\         P                  ! . ROVR7      p\        VRR	7       R
# )r   r   z
2017-08-01z
2017-08-02level_1level_2r   r   Tr   Nr   )r,   r   r   DatetimeIndexr-   r[   r   s   &  r5   #test_multiindex_columns_with_dtypes7TestConvertMetadata.test_multiindex_columns_with_dtypes-  sa    --++  ,!=> i( , 
 \\8'J48ri   c           
        \         P                  ! ^.\         P                  ! ^.\        R7      R7      p\	        VRR7       \         P                  ! ^.\         P                  ! R.\        R7      R7      p\	        VRR7       \         P                  ! ^.\         P                  ! \        R^^4      .RR7      R7      p\	        VRR7       R# )	r   r   r   Tr   皙?  r>   N)r,   r-   Indexr>   r[   r   r   s   & r5   (test_multiindex_with_column_dtype_object<TestConvertMetadata.test_multiindex_with_column_dtype_object8  s    
 \\1#rxx6'BC48 \\1#rxxV'DE48 \\1#rxxdAq!"((4 548ri   c                    \         P                  P                  R R.RR..4      p\         P                  ! . ROVR7      p\	        VRR7       R# )	   あ   いr   r   r   Tr   Nr   r   r   s   &  r5   test_multiindex_columns_unicode3TestConvertMetadata.test_multiindex_columns_unicodeJ  s>    --++eU^c3Z,HI\\8'J48ri   c                x   \         P                  P                  R R.RR..4      p\         P                  ! . ROVR7      p\        P
                  ! 4       ;_uu_ 4        \        P                  ! RR7       \        P                  ! RR\        4       \        VR	R
7       RRR4       R#   + '       g   i     R# ; i)r   r   r   r   r   r   r   r?   r   Tr   Nr   )
r,   r   r   r-   rM   rN   r   rO   rP   r[   r   s   &  r5   test_multiindex_doesnt_warn/TestConvertMetadata.test_multiindex_doesnt_warnO  s    --++eU^c3Z,HI\\8'J$$&&!!1 ##46H $Bt< '&&&s   AB((B9	c                   \         P                  P                  \         P                  ! ^ ^4      \         P                  ! ^^.4      .4      p\         P
                  ! \         P                  ! ^^.RR7      VR7      p\        VRR7       R# )r   r   r_   r   Nr   )r,   r   r   r   r   r-   rb   r[   )r   
multiindexrS   s   &  r5   test_multiindex_rangeindex.TestConvertMetadata.test_multiindex_rangeindex^  sa    ]]..]]1a "((Aq6"23

 \\"))QF5ZH48ri   c                P    \         P                  ! . RO4      p\        VRR7       R# )r   Tr   Nr   r,   r-   r[   r   s   & r5   test_integer_index_column-TestConvertMetadata.test_integer_index_columnf  s    \\8948ri   c                t    \         P                  ! . ROR\        P                  .R7      p\	        VRR7       R# )r         ?r   Tr   Nr   )r,   r-   r.   rL   r[   r   s   & r5   $test_float_column_index_with_missing8TestConvertMetadata.test_float_column_index_with_missingj  s%    \\83-P48ri   z?ignore:The DataFrame has column names of mixed type:UserWarningc                X    \         P                  ! . RORR.R7      p\        VRR7       R# )r   ANr   Tr   r   r  r   s   & r5   %test_string_column_index_with_missing9TestConvertMetadata.test_string_column_index_with_missingn  s#     \\83+N48ri   c                :   \         P                  ! . RO\         P                  P                  . RO. RO.RR.R7      . ROR7      p\        P
                  ! 4       '       d#   \        P                  P                  VRR7      pML\        P                  ! \        4      ;_uu_ 4        \        P                  P                  VRR7      pRRR4       XP                  P                  pVR	,          w  rErgpVR
,          R8X  g   Q hVR
,          VR,          8X  g   Q h\        P
                  ! 4       '       d7   \        P                  ! VR
,          4      '       g   Q hVR,          R8X  g   Q hMVR
,          e   Q hVR,          R8X  g   Q hVR
,          R8X  g   Q hVR
,          VR,          8X  g   Q hVR,          w  rV	R8X  g   Q hVR,          V	8X  g   Q hVR
,          e   Q hV
R8X  g   Q hVR,          V
8X  g   Q hVR
,          V
8X  g   Q hR#   + '       g   i     ELL; i)r   r   Nr   r   __index_level_0__)r   rJ   Tr   rJ   r`   
field_namerL   Noneindex_columns))r   r   @)r8   r   g@)r   r   g?)r   r   r   )r   r8   r   )r   Nr  )r,   r-   r   r   r   uses_string_dtyperD   rF   rG   r   r   r   r9   pandas_metadatar.   isnan)r   rS   tjscol1col2col3idx0r   
idx0_descr	foo_descrs   &          r5   test_index_metadata_field_name2TestConvertMetadata.test_index_metadata_field_nameu  s   \\9--++ ),Um ,  5
 ((**$$R$=Ak**HH((D(A +XX%%&(m#DF|s"""F|tL1111((**88DL))))%...<'''%///F|2222F|tL1111 "? 3
0000L!Z///F|###E!!!< I---6{i'''5 +**s   $"H		H	c                   \         P                  ! . RO\         P                  ! \        R4      RR7      R7      p\        P
                  P                  VRR7      pVP                  P                  pVR,          w  pVR,          e   Q hVR
,          R8X  g   Q hVR,          R8X  g   Q hVR,          pVR,          ^8X  g   Q hVR,          RJ g   Q hR	# )r   defcategoryr   r   Tr   column_indexesr`   Npandas_typecategorical
numpy_typer   metadatanum_categoriesorderedF)r   r   r   )r8   r   r   )r   r   r   )	r,   r-   r   listrD   rF   rG   r9   r  r   rS   r  r  r#  mds   &     r5   test_categorical_column_index1TestConvertMetadata.test_categorical_column_index  s    \\9HHT%[
;
 HH  D 9XX%%-.f%---m,===l+v555J'"#q((()}%%%ri   c                   \         P                  ! . RO\         P                  ! \        R4      RR7      R7      p\        P
                  P                  VRR7      pVP                  P                  pVR,          w  pVR,          R8X  g   Q hVR,          VR	,          8X  g   Q hVR
,          \        P                  ! 4       '       d   RMR8X  g   Q hVR,          R8X  g   Q hVR,          p\        V4      ^8X  g   Q hVR,          R8X  g   Q hR# )r   r!  stringzr_   r   Tr   r#  r`   r  r&  r(   r>   r$  unicoder'  encodingUTF-8Nr*  )r,   r-   r   r+  rD   rF   rG   r9   r  r   r  r   r,  s   &     r5   test_string_column_index,TestConvertMetadata.test_string_column_index  s    \\9HHT%[y9
 HH  D 9XX%%-.f%222f%)EEEEl+ 2244E(
 	
 
 m,	999J'2w!||*~(((ri   unitusnsc                   / p\        \        P                  4      \        R 4      8  d   RV/p\        P                  ! . RO\        P                  ! RRRR^RR/VB R7      p\
        P                  P                  VRR	7      pVP                  P                  pVR
,          w  pVR,          e   Q hVR,          R8X  g   Q hV'       d   VR,          RV R28X  g   Q hMVR,          R8X  g   Q hVR,          pVR,          R8X  g   Q hR# )2.0.0r7  start
2017-01-01r   r   America/New_Yorkr   Tr   r#  r`   Nr$  
datetimetzr&  datetime64[]r&   r'  r   r*   )
r   r,   __version__r-   r   rD   rF   rG   r9   r  )r   r7  
ext_kwargsrS   r  r  r#  r-  s   &&      r5   test_datetimetz_column_index0TestConvertMetadata.test_datetimetz_column_index  s   
2>>"gg&66 $J\\9MM ",-2DHR
 HH  D 9XX%%-.f%---m,<<<!,/[a3HHHH!,/3CCCCJ'*~!3333ri   c           	         \         P                  ! R \         P                  ! R^RR7      /4      pVP                  R 4      p\	        VRR7       R# )r   r=  r>  )r<  r   r   Tr   N)r,   r-   r   r   r[   r   s   & r5   test_datetimetz_row_index-TestConvertMetadata.test_datetimetz_row_index  sE    \\"A2D
 
 \\#48ri   c                    \         P                  ! R . ROR. RO/4      pVP                  P                  R4      VR &   VP	                  R 4      p\        VRR7       R# )r   r   r"  Tr   Nr   )r,   r-   r   astyper   r[   r   s   & r5   test_categorical_row_index.TestConvertMetadata.test_categorical_row_index  sG    \\3	3	:;$$++j)3\\#48ri   c                   \         P                  ! RR.\        R4      R7      p\        P                  ! \
        4      ;_uu_ 4        \        P                  P                  V4       RRR4       R#   + '       g   i     R# ; i)r   aar   Nr   r   )	r,   r-   r+  r   raises
ValueErrorrD   rF   rG   r   s   & r5   *test_duplicate_column_names_does_not_crash>TestConvertMetadata.test_duplicate_column_names_does_not_crash  sK    \\8X.T
C]]:&&HH  $ '&&&s    A00B	c                0   ^ ^.^ R..pV F  p\         P                  P                  VR.RR7      p\         P                  P                  V.R.4      p\         P                  P                  WDV.4      p\        P                  ! \        4      ;_uu_ 4        VP                  4        RRR4       \        P                  ! \        4      ;_uu_ 4        VP                  4        RRR4       K  	  R#   + '       g   i     LQ; i  + '       g   i     EK
  ; i)r   r   Fsafer   N)
rD   DictionaryArrayr   rE   rF   from_batchesr   rP  
IndexErrorrH   )r   indicesindsrg   batchrX   s   &     r5   #test_dictionary_indices_boundscheck7TestConvertMetadata.test_dictionary_indices_boundscheck  s    q6Ar7#D$$00u50ICNN..uug>EHH))5*?@Ez** + z**! +* 
 +* +**s   C0D0D Dc                X    \         P                  ! R R./R.R7      p\        VRR7       R# )r   r   u   うr   Tr   Nr  r   s   & r5   *test_unicode_with_unicode_column_and_index>TestConvertMetadata.test_unicode_with_unicode_column_and_index  s%    \\55'*5':48ri   c           	     x   \         P                  ! R ^^.R^^./4      pRR.^R.^R.3 F  p\         P                  ! V\        R7      Vn        \
        P                  ! \        4      ;_uu_ 4        \        P                  P                  V4       RRR4       VP                  4       pVP                  P                  P                  \        4      Vn        \
        P                  ! \        4      ;_uu_ 4        \        WRR	7       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     EK  ; i)
r   r   r      a2r  r   NTr   )r,   r-   r   r>   rJ   r   r   r   rD   rF   rG   rq   rr   rK  r(   r[   )r   rS   colsrT   s   &   r5   test_mixed_column_names+TestConvertMetadata.test_mixed_column_names  s    \\3AaV45T]QHq#h7D$f5BJ k**$$R( + wwyH!zz0077<Hk**'7;= +* 8 +*
 +**s   0 D8D'D$'D9c                   R .pRP                  4       pW!/p\        P                  ! V4      p\        P                  P                  VRR7      pVP                  4       pVP                  ^ ,          VP                  ^ ,          8X  g   Q hVP                  P                  ^ ,          VP                  P                  ^ ,          8X  g   Q hVP                  ^ ,          V8X  g   Q hR# )r   r   Tr   N)
encoder,   r-   rD   rF   rG   rH   rr   r   rJ   )r   column_datakeyr   rS   r  r   s   &      r5   test_binary_column_name+TestConvertMetadata.test_binary_column_name  s    glln!\\$ HH  D 9kkmyy|szz!},,,xxq!SYY%5%5a%8888zz!}###ri   c                    ^p\        \        V4      4      p\        P                  P	                  . R	OV.RR.R7      p\        P
                  ! RV/VR7      p\        VRR7       R# )
r   foobarsome_numbersr   numbersr   Tr   N)r   r   bar)r+  r2   r,   r   r   r-   r[   )r   num_rowsrr  r   rS   s   &    r5    test_multiindex_duplicate_values4TestConvertMetadata.test_multiindex_duplicate_values'  s_    uX'))"G,^, * 

 \\9g.e<48ri   c                   \         P                  ! R RR./4      p\        P                  P	                  V4      pVP
                  P                  pRV9  g   Q hVR,          ^ ,          pVR,          R8X  g   Q hVR,          R8X  g   Q hR	# )
r   s
   some_bytessome_unicodemixedrJ   r$  bytesr&  r>   Nr,   r-   rD   rF   rG   r9   r  )r   rS   rX   r  data_columns   &    r5   test_metadata_with_mixed_types2TestConvertMetadata.test_metadata_with_mixed_types3  s    \\6M>#BCD$$R(\\))b   mA&=)W444<(H444ri   c                F   \         P                  ! R . ROR. RO/. ROR7      p\        P                  P	                  V4      pVP                  RR7      pVP                  VP                  P                  4       4      P                  4       p\        P                  ! W44       R# )	r   r   r   T)ignore_metadataNr   r   rs  baz)r   r   three)r,   r-   rD   rF   rG   rH   castr9   remove_metadatarQ   rR   )r   rS   rX   rY   rT   s   &    r5   test_ignore_metadata(TestConvertMetadata.test_ignore_metadata<  sx    \\3	30EF 79$$R(6JJu||;;=>Y[ 	 	f/ri   c           	        \         P                  ! R ^.. R
O^.^,          ./4      p\        P                  ! \        P                  ! R \        P
                  ! \        P                  ! 4       4      R7      .4      p\        P                  P                  WR7      pVP                  P                  pRV9  g   Q hVR,          ^ ,          pVR,          R8X  g   Q hVR,          R8X  g   Q hR	# )r   r^   r9   ry  rJ   r$  zlist[int64]r&  r>   Nr8   r   r   )
r,   r-   rD   r9   r   list_r   rF   rG   r  )r   rS   r9   rX   r  r|  s   &     r5   test_list_metadata&TestConvertMetadata.test_list_metadataG  s    \\6QCQC!G#<=>BHHV"((288:2FGHI$$R$7\\))b   mA&=)]:::<(H444ri   c                    \         P                  ! R R^R^/R^R^/./4      p\        P                  P	                  V4      pVP
                  P                  pVR,          ^ ,          R,          R8X  g   Q hR# )dictsr   r   rJ   r$  r>   Nr{  )r   rS   rX   r  s   &   r5   test_struct_metadata(TestConvertMetadata.test_struct_metadataQ  sl    \\7c1c1%5QQ7G$HIJ$$R(,,66y)!,];xGGGri   c                   \         P                  ! R \        P                  ! R4      \        P                  ! R4      ) ./4      p\        P
                  P                  V4      pVP                  P                  pRV9  g   Q hVR,          ^ ,          pVR,          R8X  g   Q hVR,          R8X  g   Q hVR	,          R
^R^/8X  g   Q hR# )decimals394092382910493.12341234678z314292388910493.12343437128ry  rJ   r$  r   r&  r>   r'  	precisionscaleN)	r,   r-   r   r   rD   rF   rG   r9   r  )r   rT   rX   r  r|  s   &    r5   test_decimal_metadata)TestConvertMetadata.test_decimal_metadataW  s    << =>!>??!
  $$X.\\))b   mA&=)Y666<(H444:&;GR*HHHHri   typc           	        \         P                  ! R \        P                  ! R4      ./4      p\        P
                  ! \        P                  ! R V! ^^4      R7      .4      p\        P                  P                  W#R7      pVP
                  P                  R,          ^ ,          pVR,          R8X  g   Q hVR,          R^R	^/8X  g   Q hR
# )r   3.14r  r  rJ   r$  r   r'  r  r  N)
r,   r-   r   r   rD   r9   r   rF   rG   r  )r   r  rS   r9   rX   col_metas   &&    r5   test_decimal_other_bitwidts/TestConvertMetadata.test_decimal_other_bitwidtsf  s     \\3!8 9:;BHHSs1ay9:;$$R$7<<//	:1=&)333
#Q'CCCCri   c                   \         P                  ! . RORR7      \         P                  ! R^RR7      3 EF  p\         P                  ! R . ROR. RO/VR7      p\        P
                  P                  V4      pVP                  ^4      pVP                  4       pVR .,          p\        VP                  \         P                  4      '       d   RVP                  n        \        P                  ! WV4       VP                  ^4      pVP                  4       p\        P                  ! WRR .,          P                  R	R
7      4       EK  	  R# )r   r   r   r_   r=  r   r   r   r   NTdropr   r   r   r   皙?皙?333333?)r,   r   r   r-   rD   rF   rG   remove_columnrH   r   r   r   r   rQ   rR   reset_index)r   r   rS   rX   table_subsetrY   rT   table_subset2s   &       r5   !test_table_column_subset_metadata5TestConvertMetadata.test_table_column_subset_metadatat  s     w7lA:KLNE sI"L29>@BHH((,E ..q1L!++-F3%yH"((B$4$455 $!!&3(66q9M",,.F!!&cU)*?*?T*?*JK!Nri   c           
        \         P                  ! R \        \        ^4      4      R\        \        ^4      4      R\        P
                  ! ^4      /4      p\        P                  P                  VP                  R R.4      4      pVP                  R R.4      pVP                  4       pVR R.,          P                  R 4      p\        P                  ! WE4       R# )firstsecondvalueN)r,   r-   r+  r2   r.   r/   rD   rF   rG   r   selectrH   rQ   rR   )r   rS   rX   subsetrY   rT   s   &     r5   'test_to_pandas_column_subset_multiindex;TestConvertMetadata.test_to_pandas_column_subset_multiindex  s    \\d58ntE!H~biil$

 $$R\\7H2E%FGw01!!#w()33G<
f/ri   c                ~   R .RR.R.p. . . .p\        R\        P                  ! V\        P                  ! \        P                  ! 4       4      R7      3R\        P                  ! V\        P                  ! \        P                  ! 4       4      R7      3.4      p\        P
                  P                  \        VP                  4       4      \        VP                  4       4      4      p\        P                  P                  V.4      pVP                  4       p\        P                  P                  V4      pVP                  P                  pVP                  4       p	\         P"                  ! \        RV3RV3.4      4      p
\$        P&                  ! W4       VR,          RRR	RR
RRRRR/RRR	RR
RRRRR/.8X  g   Q hR# )testr   r   Nc1r  c2rJ   r`   r  r'  r&  r>   r$  zlist[unicode]zlist[empty])r   rD   ra   r  stringrE   r   r+  rr   keysrF   rY  rH   rG   r9   r  r,   r-   rQ   rR   )r   r  r  arraysrbtblrS   tbl2md2r   rT   s   &          r5   test_empty_list_metadata,TestConvertMetadata.test_empty_list_metadata  s    hc
D)"b\288BRXXbiik%:;<288BRXXbiik%:;<
  ^^''!
 hh##RD) ]]_xx##B'kk)) nn<<dBZ$,D EF
c,9~dDh dDh}"
 
 	
 
ri   c                    \         P                  ! R . ROR. RO/4      p\        P                  P	                  V4      pVP
                  P                  R,          f   Q hR# )r   r   pandas_versionNr   r{  r   s   &  r5   test_metadata_pandas_version0TestConvertMetadata.test_metadata_pandas_version  sI    \\3	3	:;$$R(||++,<=IIIri   c                V   / p\        \        P                  4      \        R 4      8  d   RR/p\        P                  ! R\        P                  ! R	R^/VB /4      p\
        P                  P                  V4      pVR,          P                  \
        P                  ! RRR7      4      pVP                  ^ \
        P                  ! RVP                  4      V4      p\
        P                  ! R\
        P                  ! RRR7      3.4      p\
        P                  P                  W&R7      pVP                  4       pVR,          P                  P!                  R4      VR&   WW3 FC  p	V	P                  P"                  f   Q hV	P%                  4       p
\&        P(                  ! W4       KE  	  R# )
r;  r7  r9  r   r   UTCr   r  N)z
2020-01-01)r   r,   rC  r-   r   rD   rF   rG   r  	timestamp
set_columnr   r^   r9   rq   dttz_localizer  rH   rQ   rR   )r   rD  rS   rX   new_col
new_table1r9   
new_table2rT   	new_tablerY   s   &          r5   test_mismatch_metadata_schema1TestConvertMetadata.test_mismatch_metadata_schema  sZ   
 
2>>"gg&66 $J\\:r}} (3"#(3'1(3 4 5 $$R(
#((du)EF%%rxx
GLL17


 Zdu)EFGHXX))")<
779'
366BB5I$1I##33???((*F!!&3 2ri   rB  )9__name__
__module____qualname____firstlineno____doc__r   r   r   r   r   markparametrizer   r   r   r   r   r   r   r   r   r   r   r  r  rO   r  r  r.  r5  rE  rH  rL  rR  r^  ra  rg  rm  ru  r}  r  r  r  r  rD   	decimal32	decimal64
decimal128
decimal256r  r  r  r  r  r  __static_attributes____classdictcell____classdict__s   @r5   r|   r|      s    *
9 
@9
 [[TD*;#<=9 >9	9*6,=9	99$9
=999 [[I99'(R&")* [[VdD\24 34299%
"9
="$
95	05HI [[U



	% DDL*0*
XJ
 4  4ri   r|   c                      a  ] tR tRt o RtR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )TestConvertPrimitiveTypesi  z6
Conversion tests for primitive (e.g. numeric) types.
c                   / p. pR \         P                  ! 4       3R\         P                  ! 4       3R\         P                  ! 4       3.p^dpV F\  w  rV\        P
                  P                  V4      pVP                  V4      W&   VP                  \         P                  ! WV4      4       K^  	  \        P                  ! V4      p\         P                  ! V4      p	\        WR7       R# )f2f4f8rU   N)rD   float16r   r    r.   r0   r1   rK  appendr   r,   r-   r9   r[   )
r   r   fieldsdtypes
num_valuesnumpy_dtypearrow_dtyperr   rS   r9   s
   &         r5   test_float_no_nulls-TestConvertPrimitiveTypes.test_float_no_nulls  s    &&&( 
(.$KYY__Z0F &k :DMM"((;<= )/
 \\$6";ri   c                   ^dp\         P                  P                  ^ ^
VR7      ^8  pR\        P                  ! 4       3R\        P
                  ! 4       3R\        P                  ! 4       3.p. R	Op. p. p. pV F  w  r\         P                  P                  V4      P                  V4      p
\        P                  ! V
RVR7      pVP                  V4       VP                  \        P                  ! W4      4       \         P                  W&   VP                  V
4       K  	  \        P                  ! \        \!        WE4      4      VR7      p\        P"                  P%                  Wd4      pVP&                  P)                  \        P&                  ! V4      4      '       g   Q hVP+                  4       p\,        P.                  ! W4       R# )
d   r3   r  r  r  T)rG   rk   r   N)r  r  r  )r.   r0   randintrD   r  r   r    r1   rK  ra   r  r   rL   r,   r-   dictziprF   r   r9   rI   rH   rQ   rR   )r   r  	null_maskr  r   expected_colsr  r  r`   r  rr   rg   ex_framerX   rY   s   &              r5   test_float_nulls*TestConvertPrimitiveTypes.test_float_nulls  sX   
II%%a*%=A	&&&( #!'DYY__Z077=F((6t)DCMM#MM"((456 "F  ( "( <<S%> ?(-/ $$V3||""299V#45555"
f/ri   c                   \         P                  ! R RR\        P                  ./4      p\        P
                  ! \        P                  ! R \        P                  ! 4       RR7      .4      p\        P                  P                  WRR7      pV^ ,          P                  4       . RO8X  g   Q h\        P                  ! WP                  4       4       R# )	r   r   r   TnullableFr9   rV  Nr   r8   N)r,   r-   r.   rL   rD   r9   r   r   rF   rG   	to_pylistrQ   rR   rH   r   rS   r9   rX   s   &   r5   test_float_nulls_to_ints2TestConvertPrimitiveTypes.test_float_nulls_to_ints  s    \\3c266 234BHHS"((*tDEF$$RU$CQx!!#|333
b//"34ri   c                    \         P                  ! . RO4      p\         P                  ! . RO4      p\        W\        P                  ! 4       R7       R# )        NrT   r^   )r	  r   r   Ng      )FTTNT)r,   rb   rt   rD   bool_r   rd   rT   s   &  r5   test_float_nulls_to_boolean5TestConvertPrimitiveTypes.test_float_nulls_to_boolean'  s0    II1299<=q"((*Eri   c                   \         P                  ! R \        P                  .4      p\        P
                  ! VRR7      pVP                  ^ 8X  g   Q h\        P                  ! V^,          P                  4       4      '       g   Q hR# )r	  FrG   N)	r,   rb   r.   rL   rD   ra   ro   r  as_py)r   rd   rg   s   &  r5   'test_series_from_pandas_false_respectedATestConvertPrimitiveTypes.test_series_from_pandas_false_respected,  sY    IIsBFFm$hhqe,~~"""xxA''''ri   c                D   \        4       p. pR \        P                  ! 4       3R\        P                  ! 4       3R\        P                  ! 4       3R\        P
                  ! 4       3R\        P                  ! 4       3R\        P                  ! 4       3R\        P                  ! 4       3R\        P                  ! 4       3R\        P
                  ! 4       3R	\        P                  ! 4       3.
p^dpV F  w  rV\        P                  ! V4      p\        P                  P                  \        VP                  \        P                  ! \        P                   4      P                  4      \        VP                  \        P                  ! \        P                   4      P                  4      WER
7      pVP#                  V4      W&   VP%                  \        P&                  ! WV4      4       K  	  \(        P*                  ! V4      p	\        P,                  ! V4      p
\/        WR7       R# )i1i2i4i8u1u2u4u8longlong	ulonglongr3   r   r  N)r   rD   r   r   r   r   r   r   r   r   r.   iinfor0   r  maxminint_rK  r  r   r,   r-   r9   r[   )r   r   r  numpy_dtypesr  r   r  inforr   rS   r9   s   &          r5   test_integer_no_nulls/TestConvertPrimitiveTypes.test_integer_no_nulls3  sj   } 2779bhhj1288:rxxz 2288:ryy{ 3299;$		!4${BIIK&@
 
".E88E?DYY&&s488RXXbgg5F5J5J'K'*488RXXbgg5F5J5J'K,6 ' EF !--.DKMM"((567 #/ \\$6";ri   c                N   \        4       p. ROpV F  p\        P                  ! ^VR7      W&   K  	  \        P                  ! V4      p\        V4       VP                  4        F>  p\        P                  ! V4      pVP                  4       VP                  4       8X  d   K>  Q h	  R# )r  r   N)r  r  r  r  r  r  r  r  byteubyteshortushortintcuintcr#  uintr  r  )r   r.   r/   r,   r-   r[   rr   rD   ra   r  tolist)r   r   r$  r   rS   np_arrrg   s   &      r5   test_all_integer_types0TestConvertPrimitiveTypes.test_all_integer_typesL  s    }A "E))Be4DK "\\$# kkmF((6"C==?fmmo555 $ri   c           
        . ROpV F  pR F  p\         P                  ! . ROW2,           R7      pWDR,          3 F  pVP                  P                  '       d>   \        P                  ! V4      pVP                  4       VP                  4       8X  g   Q hK\  \        P                  ! \        4      ;_uu_ 4        \        P                  ! V4      pRRR4       K  	  K  	  K  	  R#   + '       g   i     K  ; i)r  z=<>r   NNr8   Nr  r  r  r  r  r  r  r  )r   r8   *   )
r.   ra   r   isnativerD   r  r0  r   rP  NotImplementedError)r   
int_dtypesr  orderr   r1  rg   s   &      r5   test_integer_byteorder0TestConvertPrimitiveTypes.test_integer_byteorder]  s    E
Bxx
%*=##Y/Fzz*** hhtn"}}$++-???#]]+>??"$((4.C @? 0   @??s   7C$$C5c                P   . ROp^dp\         P                  P                  ^ ^
VR7      ^8  p. p. pV F  p\         P                  P                  ^ ^dVR7      p\        P                  ! WsR7      pVP                  V4       VP                  R4      p	\         P                  W&   VP                  V	4       K  	  \        P                  ! \        \        W4      4      VR7      p
\        P                  P                  WQ4      pVP                  4       p\        P                   ! W4       R# )r  r  rk   r  r   Nr6  )r.   r0   r  rD   ra   r  rK  rL   r,   r-   r  r  rF   r   rH   rQ   rR   )r   r:  r  r  r  r  r`   rr   rg   rT   r  rX   rY   s   &            r5   test_integer_with_nulls1TestConvertPrimitiveTypes.test_integer_with_nullsk  s     F

II%%a*%=A	DYY&&q#J&?F((62CMM#}}T*H"$&&H  *  <<S%C D(24 $$V8"
f/ri   c                
   \         P                  ! ^
RR7      p\        P                  ! 4       p\        P                  ! WR7      p\        P                  ! VP                  R4      4      pVP                  V4      '       g   Q hR# )
   r   r   r  r   N)r.   r/   rD   r   ra   rK  rI   )r   rg   target_typerY   rT   s   &    r5    test_array_from_pandas_type_cast:TestConvertPrimitiveTypes.test_array_from_pandas_type_cast  sW    ii'*ggi#088CJJv./}}X&&&&ri   c                R   ^dp\         P                  P                  ^ 4       \        P                  ! R\         P                  P                  V4      ^ 8  /4      p\        P                  ! R\        P                  ! 4       4      p\        P                  ! V.4      p\        W$R7       R# )r  boolsr  N)r.   r0   seedr,   r-   r1   rD   r   r  r9   r[   )r   r  rS   r   r9   s   &    r5   test_boolean_no_nulls/TestConvertPrimitiveTypes.test_boolean_no_nulls  sj    

		q\\7BIIOOJ$?!$CDE"((*-E7#;ri   c                   ^dp\         P                  P                  ^ 4       \         P                  P                  ^ ^
VR7      ^8  p\         P                  P                  ^ ^
VR7      ^8  p\        P
                  ! W2R7      pVP                  \        4      pRWR&   \        P                  ! R\        P                  ! 4       4      p\        P                  ! V.4      p\        P                  ! RV/4      p\        P                  P                  V.R.4      p	V	P                  P                  V4      '       g   Q hV	P!                  4       p
\"        P$                  ! W4       R# )r  r  r?  NrH  )r.   r0   rI  r  rD   ra   rK  r>   r   r  r9   r,   r-   rF   r   rI   rH   rQ   rR   )r   r  rk   rr   rg   rT   r   r9   r  rX   rY   s   &          r5   test_boolean_nulls,TestConvertPrimitiveTypes.test_boolean_nulls  s   

		qyy  BZ 81<""1bz":Q>hhv)==("((*-E7#<<( 34$$cUWI6||""6****"
f/ri   c                    \         P                  ! . RO^,          4      p\         P                  ! . RO^,          4      p\        W\        P                  ! 4       R7       R# )Tr
  NTTFTTr   r   r   r   r   )r,   rb   rt   rD   r   r  s   &  r5   test_boolean_to_int-TestConvertPrimitiveTypes.test_boolean_to_int  s9    II59:99_q01q"((*Eri   c                h   \         P                  ! . RO^,          \        R7      p\         P                  ! . RO^,          4      pRp\        P                  ! \
        P                  VR7      ;_uu_ 4        \        W\
        P                  ! 4       R7       RRR4       R#   + '       g   i     R# ; i)Tr   zExpected integer, got boolmatchr
  NrP  rQ  )	r,   rb   r>   r   rP  rD   ArrowTypeErrorrt   r   )r   rd   rT   expected_msgs   &   r5   test_boolean_objects_to_int5TestConvertPrimitiveTypes.test_boolean_objects_to_int  sg    II59H99_q013]]2,,LAA"1bhhjI BAAAs   5!B  B1	c                    \         P                  ! . RO^,          4      p\         P                  ! . RO^,          4      p\        W\        P                  ! 4       R7       R# )TNr
  )TTFNT)r   r   r	  Nr   )r,   rb   rt   rD   r    r  s   &  r5   test_boolean_nulls_to_float5TestConvertPrimitiveTypes.test_boolean_nulls_to_float  s:    II59:997!;<q"**,Gri   c                |    \         P                  ! \        P                  ! RRR7      RR.R7      p\	        V4       R# )r   r!   r   r   r   r   N)r   r8   )r,   r-   r.   onesr[   r   s   & r5   test_boolean_multiple_columns7TestConvertPrimitiveTypes.test_boolean_multiple_columns  s)    \\"''&7#sL#ri   c                   \         P                  ! R R\         P                  ! R4      .^,          \        R7      p\        P
                  ! RV/4      p\        P
                  ! R\        P                  ! V4      /4      p\        P                  ! R\        P                  ! 4       4      p\        P                  ! V.4      p\        W#VR7       R # )Nr  g      @r   floatsrT   rU   )r.   ra   r    r>   r,   r-   
to_numericrD   r   r9   r[   r   rg   rS   rT   r   r9   s   &     r5   test_float_object_nulls1TestConvertPrimitiveTypes.test_float_object_nulls  s    hhc2::c?3a7vF\\8S/*<<2==+= >?2::<0E7#06	8ri   c           	        \         P                  ! \        P                  R R\        P                  .4      p\        P
                  ! 4       \        P                  ! 4       \        P                  ! 4       \        P                  ! 4       \        P                  ! 4       \        P                  ! 4       \        P                  ! 4       \        P                  ! 4       .pV F  p\        P                  ! WR7      p\        P                  ! . ROVR7      pVP                  V4      '       g   Q h\         P                  ! RV/4      p\        P                   ! \        P"                  ! RV4      .4      p\        P$                  P'                  WgRR7      pV^ ,          P)                  ^ 4      P                  V4      '       d   K  Q h	  R# )r   r   r  N	has_nullsFr9   r:   )Nr   r8   N)r,   rb   r.   rL   rD   r   r   r   r   r   r   r   r   ra   rI   r-   r9   r   rF   rG   chunk)r   rd   typestyrY   rT   rS   r9   s   &       r5   test_float_with_null_as_integer9TestConvertPrimitiveTypes.test_float_with_null_as_integer  s   IIrvvr2rvv./BHHJ
BHHJRYY["))+ryy{DBXXa)Fxx 2<H==****{A./BYYb 9:;FXX))"9> * @F!9??1%,,X6666 ri   c                   \         P                  ! R ^\         P                  ! ^4      .^,          \        R7      p\        P
                  ! RV/4      p\        P
                  ! R\        P                  ! V4      /4      p\        P                  ! R\        P                  ! 4       4      p\        P                  ! V.4      p\        W#VR7       R # )Nr   intsrd  )r.   ra   r   r>   r,   r-   re  rD   r   r9   r[   rf  s   &     r5   test_int_object_nulls/TestConvertPrimitiveTypes.test_int_object_nulls  s    hha!-1@\\63-(<<s); <=,E7#06	8ri   c                   \         P                  ! . RO^d,          \        R7      p\        P                  ! RV/4      p\
        P                  ! R\
        P                  ! 4       4      p\
        P                  ! V.4      p\        W$R7       R# )FNr   rH  r  )FNT)
r.   ra   r>   r,   r-   rD   r   r  r9   r[   )r   rg   rS   r   r9   s   &    r5   test_boolean_object_nulls3TestConvertPrimitiveTypes.test_boolean_object_nulls  sX    hh*S0?\\7C.)"((*-E7#;ri   c                   a \         P                  ! R .\        R7      oV3R lpV! \        P                  ! 4       4       V! \        P
                  ! 4       4       R # )Nr   c                    < \         P                  ! SV R 7      pVP                  V 8X  g   Q hV^ ,          P                  4       e   Q hR# r  N)rD   ra   r^   r  )r  a2rg   s   & r5   _check_typeJTestConvertPrimitiveTypes.test_all_nulls_cast_numeric.<locals>._check_type  s9    #A&B77a<<a5;;=(((ri   )r.   ra   r>   rD   r   r    )r   r|  rg   s   & @r5   test_all_nulls_cast_numeric5TestConvertPrimitiveTypes.test_all_nulls_cast_numeric  s8    hhvV,	)
 	BHHJBJJL!ri   c                d   \         P                  ! R \         P                  .\         P                  R7      p\        P                  ! V\        P                  ! 4       R7      pVP                  4       w  r4\        V\        4      '       g   Q hVR 8X  g   Q h\        V\        4      '       g   Q h\         P                  ! V4      '       g   Q h\        P                  ! V\        P                  ! 4       RR7      pVP                  4       w  r4\        V\        4      '       g   Q hVR 8X  g   Q hVe   Q hR# )r  r   r  Tr^   rG   N)	r.   ra   rL   r  rD   r  r   floatr  )r   rg   r   r4   ys   &    r5   test_half_floats_from_numpy5TestConvertPrimitiveTypes.test_half_floats_from_numpy   s    hhRVV}BJJ7HHSrzz|,{{}!U####Cxx!U####xx{{{HHSrzz|>{{}!U####Cxxyyri   rB  N)r  r  r  r  r  r  r  r  r  r  r&  r2  r<  r@  rE  rJ  rM  rR  rY  r\  r`  rg  ro  rs  rv  r~  r  r  r  r  s   @r5   r  r    s     <"0<5F
(<26"10:'<0.FJH$
87"8<	" ri   r  r   c                    ^dp\         P                  P                  ^ ^
VR7      ^8  p\         P                  P                  ^ ^dWR7      p\        P                  ! W2R7      pVP                  4       '       d   VP                  R4      pRWR&   MTpVP                  RR7      p\         P                  P                  We4       R# r  r  r  r?  ONTinteger_object_nulls)
r.   r0   r  rD   ra   anyrK  rH   testingassert_equal)r   r  r  rr   ra   rT   rY   s   &      r5   &test_array_integer_object_nulls_optionr    s     J		!!!Rj!9A=IYYq#JDFHHV,E}}==%"__$_7FJJF-ri   c                    ^dp\         P                  P                  ^ ^
VR7      ^8  p\         P                  P                  ^ ^dWR7      p\        P                  ! W2R7      pVP                  4       '       d   VP                  R4      pRWR&   MTp\        P                  ! W/4      p\        P                  P                  V.V .4      pVP                  RR7      p\        P                  ! Wu4       R# r  )r.   r0   r  rD   ra   r  rK  r,   r-   rF   r   rH   rQ   rR   )r   r  r  rr   ra   rT   rX   rY   s   &       r5   &test_table_integer_object_nulls_optionr  %  s     J		!!!Rj!9A=IYYq#JDFHHV,E}}==%"||U-.HHH  %5'2E__$_7F&+ri   c                   l  a  ] tR tRt o RtR tR t]P                  P                  R. R5O4      R
 4       t
R tR t]P                  ! ]P                   ! 4       ]P$                  ,          4      ]P&                  ! RR7      R 4       4       tR tR tR tR t]P                  P                  RR. R6O.4      R 4       t]P                  P                  RR7R8.4      R 4       t]P                  P                  RR7R8.4      R 4       t]P                  P                  R]P:                  ! 4       ]P<                  ! 4       ]P>                  ! R4      ]P>                  ! R4      ]P>                  ! R4      ]P>                  ! R	4      ]P>                  ! RR4      ]P>                  ! RR4      ]P>                  ! RR4      ]P>                  ! R	R4      .
4      R 4       t ]P                  P                  R]P:                  ! 4       ]P<                  ! 4       ]P>                  ! R4      ]P>                  ! R4      ]P>                  ! R4      ]P>                  ! R	4      ]P>                  ! RR4      ]P>                  ! RR4      ]P>                  ! RR4      ]P>                  ! R	R4      .
4      R 4       t!R t"R t#R  t$R! t%R" t&R# t'R$ t(R% t)R& t*R' t+R( t,]P                  P                  R)]P:                  ! 4       ]P<                  ! 4       .4      R* 4       t-R+ t.]P                  P_                  ]0RJ;'       d3    ]1! R,4      ]1! ]0Pd                  4      u;8*  ;'       d    ]1! R-4      8  Mu R.R/7      R0 4       t3]P                  P                  R. R5O4      R1 4       t4]P                  P                  R. R5O4      R2 4       t5R3 t6R4t7V t8R# )9TestConvertDateTimeLikeTypesi=  zI
Conversion tests for datetime- and timestamp-like types (date64, etc.).
c                   \         P                  ! R \        P                  ! . RORR7      /4      p\        P
                  ! R \        P                  ! R4      4      p\        P                  ! V.4      p\        VVR7       R# )
datetime64r&   r   r9  r  N)2007-07-13T01:23:34.1234567892006-01-13T12:34:56.4325397842010-08-13T05:46:57.437699912	r,   r-   r.   ra   rD   r   r  r9   r[   r   rS   r   r9   s   &   r5   #test_timestamps_notimezone_no_nulls@TestConvertDateTimeLikeTypes.test_timestamps_notimezone_no_nullsB  f    \\"(( $1 '	(
  r||D'9:E7#"	
ri   c                   \         P                  ! R \        P                  ! . RORR7      /4      p\        P
                  ! R \        P                  ! R4      4      p\        P                  ! V.4      p\        VVR7       R# )r  Nr&   r   r9  r  )r  Nr  r  r  s   &   r5    test_timestamps_notimezone_nulls=TestConvertDateTimeLikeTypes.test_timestamps_notimezone_nullsQ  r  ri   r7  rd   msr8  r9  c           	     B   \        \        P                  4      \        R 4      8  d   VR8w  d   \        P                  ! R4       \        P
                  ! R\        P                  ! . R	ORV R2R7      /4      pVR,          P                  P                  R4      VR&   \        V4       \        VR,          4       \        P
                  ! R\        P                  ! . R
ORV R2R7      /4      pVR,          P                  P                  R4      VR&   \        V4       R# )r;  r9  z0pandas < 2.0 only supports nanosecond datetime64r  r@  rA  r   
US/EasternN)2007-07-13T01:23:34.1232006-01-13T12:34:56.4322010-08-13T05:46:57.437r  Nr  r  )r   r,   rC  r   skipr-   r.   ra   r  r  r[   rh   )r   r7  rS   s   && r5   test_timestamps_with_timezone:TestConvertDateTimeLikeTypes.test_timestamps_with_timezone`  s    2>>"WW%55$$,KKJK\\"(( $+ $D6+	-
  l+..::<H<#< 01 \\"(( $1
 $D6+-
  l+..::<H<#ri   c                F   \        ^
4       Uu. uF)  p\        P                  ! 4       \        VR7      ,           NK+  	  pp\        P
                  ! R\        P                  ! V\        R7      /4      p\        P                  P                  V4      p\        V^ ,          P                  ^ 4      \        P                  4      '       g   Q hVP                  4       p\        P
                  ! R\        P                  ! VRR7      /4      p\        P                   ! We4       R# u upi )rC  )daysr   r   r%   N)r2   r   todayr   r,   r-   rb   r>   rD   rF   rG   r   rl  TimestampArrayrH   rQ   rR   )r   r4   
date_arrayrS   rX   rY   expected_dfs   &      r5   test_python_datetime1TestConvertDateTimeLikeTypes.test_python_datetime}  s    DI"INIqhnn&):::I
N\\		*F;
  $$R(%(..+R->->????" ll		*4DE$
  	k2 Os   /Dc                   \         P                  ! R 4      pVP                  VP                  R4      VP	                  ^4      3 F9  p\        R^^^^^-VR7      .p\        P                  ! RV/4      p\        V4       K;  	  R# )pytzr  r   tzinfor   N)	r   importorskiputcr   FixedOffsetr   r,   r-   r[   )r   r  r   rr   rS   s   &    r5   %test_python_datetime_with_pytz_tzinfoBTestConvertDateTimeLikeTypes.test_python_datetime_with_pytz_tzinfo  sp    ""6*88T]]<8$:J:J1:MNBtQ2r2bABFz623B#B' Ori   N)deadlinec           
         \        V4      R9   d   \        P                  ! R4       \        R^^^^^-VR7      .p\        P
                  ! RV/4      p\        VRR7       R# )	build/etc/localtimez Localtime timezone not supportedr   r  r   FrB   N)r  Factory)r(   r   r  r   r,   r-   r[   )r   r   rr   rS   s   &&  r5   'test_python_datetime_with_pytz_timezoneDTestConvertDateTimeLikeTypes.test_python_datetime_with_pytz_timezone  sT     r788KK:;4Ar2r"=>\\:v./6ri   c           
        \         P                  ! R 4      p^ RIHp \        R^^^^^-VP                  R7      .p\
        P                  ! RV/VR7      p\        VRR7       ^pV! \        VR7      4      pVP                  V^<,          4      p\        R^^^^^-VR7      .p\        R^^^^^-VR7      .p\
        P                  ! RV/VR7      p\
        P                  ! RV/VR7      p	\        WIRR	7       R
# )r  )r   r   r  r   r   Tr   )hoursr   N)
r   r  r   r   r  r,   r-   r[   r   r  )
r   r  r   rr   rS   r  tz_timezonetz_pytz
values_expdf_exps
   &         r5   )test_python_datetime_with_timezone_tzinfoFTestConvertDateTimeLikeTypes.test_python_datetime_with_timezone_tzinfo  s    ""6*%4Ar2r(,,GH\\:v.f=48 yu56""52:.4Ar2r+FGtQ2r2gFG
\\:v.f=z:6jIDIri   c                :    ! R  R\         4      pV! R^^^^^4      .p\        P                  ! R\        P                  ! V\        R7      /4      p\
        P                  P                  V4      p\        V^ ,          P                  ^ 4      \
        P                  4      '       g   Q hVP                  4       p\        P                  ! R\        P                  ! VRR7      /4      p\        P                  ! VR,          4      VR&   \        P                  ! We4       R# )c                       ] tR tRtRtRtR# )NTestConvertDateTimeLikeTypes.test_python_datetime_subclass.<locals>.MyDatetimei  r	  rB  N)r  r  r  r  
nanosecondr  rB  ri   r5   
MyDatetimer    s    Jri   r    r   r   r%   N)r   r,   r-   rb   r>   rD   rF   rG   r   rl  r  rH   to_datetimerQ   rR   )r   r  r  rS   rX   rY   r  s   &      r5   test_python_datetime_subclass:TestConvertDateTimeLikeTypes.test_python_datetime_subclass  s    	 	 !q!Q156
\\:ryy6'JKL$$R(%(..+R->->????"
 ll:5EFGI #%..Z1H"IJ
k2ri   c           
         ! R  R\         4      pV! R^^4      .p\        P                  ! R\        P                  ! V\        R7      /4      p\
        P                  P                  V4      p\        V^ ,          P                  ^ 4      \
        P                  4      '       g   Q hVP                  4       p\        P                  ! R\        P                  ! \        R^^4      .\        R7      /4      p\        P                  ! We4       R# )c                       ] tR tRtRtR# )FTestConvertDateTimeLikeTypes.test_python_date_subclass.<locals>.MyDatei  rB  Nr  r  r  r  r  rB  ri   r5   MyDater    s    ri   r  r  r   r   N)r   r,   r-   rb   r>   rD   rF   rG   r   rl  Date32ArrayrH   r.   ra   rQ   rR   )r   r  r  rS   rX   rY   r  s   &      r5   test_python_date_subclass6TestConvertDateTimeLikeTypes.test_python_date_subclass  s    	T 	 T1a()
\\6299Zv#FGH$$R(%(..+R^^<<<<"llRXXtD!Q/0?@
 	k2ri   c                R   \         P                  ! \        R ^
^4      R.4      p\         P                  ! V.4      pVP	                  4       p\         P
                  P                  V\         P                  ! 4       R7      pVP                  VP                  R4      4      '       g   Q hR# )  Nr  date32)
rD   ra   r   chunked_arrayrH   ArrayrG   r  rI   r  )r   rg   r   rd   arr2s   &    r5   test_datetime64_to_date326TestConvertDateTimeLikeTypes.test_datetime64_to_date32  sx    hhT2r*D12cU#KKMxx##ABIIK#8{{388H-....ri   rk   c                    V'       d   \         P                  ! V4      p\        P                  ! . RO4      p\        P
                  P                  V\        P                  ! 4       VR7      p\         P                  ! \        R^^
4      \        R^^4      \        R^^4      \        R^^
4      \        R^^4      \        R^^4      .4      p\        P                  ! WA\        P                  ! 4       R7      pVP                  V4      '       g   Q hR# )2018-05-10T00:00:00r^   rk   r   rk   r^   N)r  z2018-05-11T00:00:00z2018-05-12T00:00:00z2018-05-10T10:24:01z2018-05-11T10:24:01z2018-05-12T10:24:01)
r.   ra   r,   r  rD   r  rG   date64r   rI   )r   rk   rd   rg   r   rT   s   &&    r5   test_pandas_datetime_to_date64;TestConvertDateTimeLikeTypes.test_pandas_datetime_to_date64  s    
 88D>DNN 
  hh""1299;T"Bxxq"q"q"q"q"q"
  88D"))+>zz(####ri   zcoerce_to_ns,expected_dtypec                   \        R ^^4      R\        R^^4      \        R^^4      .p\        P                  ! . RORR7      p\        \        P
                  4      \        R4      8  d   Rp\        P                  ! . ROVR7      p\        P                  ! V4      \        P                  ! V.4      .pV F  pVP                  VR7      pVP                  \        4      p	VP                  V	P                  8X  g   Q h\        P                  ! W4       VP                  R	VR
7      pVP                  VP                  8X  g   Q h\        P                  ! W4       K  	  R# )r  N    datetime64[D]r   r;  r&   coerce_temporal_nanosecondsFdate_as_objectr  )
2000-01-01Nz
1970-01-01z
2040-02-26)r   r.   ra   r   r,   rC  rD   r  rH   rK  r>   r   rw   rx   )
r   coerce_to_nsexpected_dtyper   expected_daysrT   objectsobjrY   expected_objs
   &&&       r5   test_array_types_date_as_object<TestConvertDateTimeLikeTypes.test_array_types_date_as_object  s2    T1a T1a T1b!#  "07FH 2>>"WW%55-N88 +2@B 88D>##TF+- C]]|]LF(//7L<<<#5#5555""68]]%?K # MF<<8>>111""64 ri   zcoerce_to_ns,expected_typec                   \         P                  ! R \        R^^4      R\        R^^4      \        R^^4      ./4      p\        P                  P                  VRR7      pVP                  RVR7      pVP                  4       p\        P                  ! VP                  V4      VRR	7       \        P                  ! W6RR	7       R# )
r   r  Nr  r  Fr   r  Tr  )
r,   r-   r   rD   rF   rG   rH   rQ   rR   rK  )r   r  expected_typerS   rX   df_datetime	df_objects   &&&    r5   !test_table_convert_date_as_object>TestConvertDateTimeLikeTypes.test_table_convert_date_as_object%  s     \\T$1%$1%$2&() * $$R$>ooUBN & POO%	
bii6*.	0
b>ri   
arrow_typer  c                   \        R ^^4      \        R^^4      .p\        P                  ! V4      p\        P
                  ! V4      P                  V4      pVP                  RRR7      pRp\        VR4      '       d   VP                  e   Rp\        P                  ! RV4      P                  4       p\        P                  ! WSP                  V4      4       R# )	r    TFr  r  Nr   r  r9  )r   r   r,   rb   rD   ra   r  rH   hasattrr   r  to_pandas_dtyperQ   rc   rK  )r   r  r   rT   rg   rY   expected_tzr  s   &&      r5   &test_array_coerce_temporal_nanosecondsCTestConvertDateTimeLikeTypes.test_array_coerce_temporal_nanoseconds9  s     T1a (4A"6799T?hhtn!!*-(,U  D:t$$)BKT;7GGI
v}'EFri   c                   \        R ^^4      \        R^^4      .p\        P                  ! \        P                  ! RV4      .4      p\
        P                  ! RV/4      p\        P                  ! \        P                  ! V4      .VR7      pVP                  RRR7      pRp\        VR4      '       d   VP                  e   R	p\        P                  ! R
V4      P                  4       p\        P                  ! WdP!                  V4      4       R# )r  r  r   r  TFr  Nr   r  r9  )r   r   rD   r9   r   r,   r-   rX   ra   rH   r  r   r  r  rQ   rR   rK  )	r   r  r   r9   r  rX   	result_dfr  r  s	   &&       r5   &test_table_coerce_temporal_nanosecondsCTestConvertDateTimeLikeTypes.test_table_coerce_temporal_nanosecondsK  s     T1a (4A"67BHHVZ89:llFD>2"((4.)&9OO(,U $ D	:t$$)BKT;7GGI
i););M)JKri   c                   \         P                  ! R \        R^^4      R\        R^^4      \        R^^4      ./4      p\        P                  P                  VRR7      p\        P                  ! R \        P                  ! 4       4      p\        P                  ! V.VP                  P                  R7      pVP                  P                  V4      '       g   Q hVP                  4       p\        P                  ! WQ4       R# )r   r  Nr  r  Fr   r'  )r,   r-   r   rD   rF   rG   r   r  r9   r'  rI   rH   rQ   rR   )r   rS   rX   r   rU   rY   s   &     r5   test_date_infer,TestConvertDateTimeLikeTypes.test_date_infer^  s    \\T$1%$1%$2&() *
 $$R$>- ))UGell6K6KL||""?3333"
f)ri   c                r   \         P                  ! \        R ^^4      \        R ^^4      .RR7      pRR.p\        P                  ! V\         P                  ! V4      R7      p\         P                  ! R\        R ^^4      .RR7      p\        P                  ! VRR7      pVP	                  V4      '       g   Q hR# )r  r  r   TFr?  Nr  )r.   ra   r   rD   rI   )r   rg   rk   rY   rT   s   &    r5   test_date_mask+TestConvertDateTimeLikeTypes.test_date_maskn  s    hhT1a($tQ*:;,.e}#BHHTN388T4a#34OL88H$7v&&&&ri   c           
        \         P                  ! \        R ^^4      R\        R ^^4      \        R ^^4      .\        R7      p\         P                  ! . RORR7      pVP	                  R4      R,          p\         P                  ! . RO4      p\
        P                  ! 4       p\
        P                  ! 4       p\
        P                  ! WR7      p\
        P                  ! WR7      p\
        P                  ! W$VR7      p	\
        P                  ! W4VR7      p
VP                  V	4      '       g   Q hVP                  V
4      '       g   Q hR	R
.p\
        P                  P                  Wx.V4      p\         P                  ! . RORR7      p\        P                  P                  V^&   VP	                  R4      p\        P                  ! R	VR
V/VR7      pVP                  RR7      p\         P"                  ! VV4       VP                  4       pVP	                  R4      p\        P                  ! R	VR
V/VR7      p\         P"                  ! VV4       R# )r  Nr   r   r    \&Fr  r  r  r  r  r$   r   )r  r>   )kC  rW  lC  mC  )FTFF)z
2017-04-03
2017-04-04r  z
2017-04-05)r.   ra   r   r>   rK  rD   r  r  rI   rF   r   r,   NaTr  r-   rH   rQ   rR   )r   rg   arr_i4arr_i8rk   t32t64a32a64a32_expecteda64_expectedcolnamesrX   	ex_valuesex_datetime64msexpected_pandastable_pandastable_pandas_objects
ex_objectsexpected_pandas_objectss   &                   r5   test_date_objects_typed4TestConvertDateTimeLikeTypes.test_date_objects_typedw  s   hhq!q!q!	 &,	- 37Cw'(2xx34iikiikhhs%hhs%xx<xx<zz,''''zz,'''' h'$$cZ:XX -$35	 vv||	! $**+;<,,/(0/(C/79 e<
lO<$0%%h/
"$,,*08*0F7?#A 	25	7ri   c                   \        \        R R4      p\        P                  ! \	        R^^4      \        P
                  V.\        R7      p\        P                  ! \	        R^^4      RR.\        R7      p\        P                  ! VRR7      p\        P                  ! VRR7      pVP                  V4      '       g   Q hVP                  ^8X  g   Q h\        P                  ! \        P
                  .RR7      P                  \        P                  ! 4       8X  g   Q h\        P                  ! V.RR7      P                  \        P                  ! 4       8X  g   Q hR# )NANr  r   Tr  )getattrr,   r.   ra   r   r  r>   rD   rI   ro   r^   null)r   pd_NArr   values_with_nonerY   rT   s   &     r5   test_pandas_null_values4TestConvertDateTimeLikeTypes.test_pandas_null_values  s    D$'8D!Q/?vN88XdAq%94$F*02&d388,$?}}X&&&&  A%%% xxd388BGGIEEExxT2772779DDDri   c                   \         P                  ! 4       p\         P                  ! 4       p\        P                  ! . RORR7      pVP                  R4      R,          p\         P                  ! W1R7      p\         P                  ! WBR7      p\        R^^4      pV^ ,          P                  4       V8X  g   Q hV^ ,          P                  4       V8X  g   Q hR# )	r  r   r   r   r  r  r  N)r  r  r  )rD   r  r  r.   ra   rK  r   r  )r   t1t2rg   r  a1r{  rT   s   &       r5   test_dates_from_integers5TestConvertDateTimeLikeTypes.test_dates_from_integers  s    YY[YY[hh,G<zz'"X-XXc#XXd$a#!u{{}(((!u{{}(((ri   c                   \        ^^^R4      \        ^^^R4      .p\        P                  ! R4      p\        P                  ! VR.,           \
        R7      p\        P                  ! V4      pVP                  V8X  g   Q hV^ ,          P                  4       V^ ,          8X  g   Q hV^,          P                  4       V^,          8X  g   Q hV^,          P                  4       e   Q h\        P                  ! RV/4      p\        P                  P                  V4      pV^ ,          P                  V4      '       g   Q h\        P                  ! V Uu. uF  p\        V4      NK  	  upRR7      p\        P                  ! V\        P                  ! R4      R7      p	V	^ ,          P                  4       V^ ,          8X  g   Q h\        P                  ! VR,          \        P                  ! R	4      R7      p
V
^ ,          P                  4       V^ ,          8X  g   Q h\        P                  ! VR,          P                  R
4      \        P                  ! R4      R7      pV^ ,          P                  4       V^ ,          P!                  RR7      8X  g   Q h\        P                  ! VR,          P                  R
4      \        P                  ! R4      R7      pV^ ,          P                  4       V^ ,          P!                  ^ R7      8X  g   Q hR# u upi )r   L  r8  Nr   timesr   r    r9  r  r  microsecond@B rd   )r   rD   time64r.   ra   r>   r^   r  r,   r-   rE   rG   rI   _pytime_to_microsrK  time32rK   )r   pytimesr7  aobjsparrrS   r]  vrg   r9  r{  a3a4s   &            r5   test_pytime_from_pandas4TestConvertDateTimeLikeTypes.test_pytime_from_pandas  s=   1a&1a&( YYt_D6)8xxyyBAw}}'!*,,,Aw}}'!*,,,Aw}}&&& \\7E*+**2.Qxt$$$$ hhg>g)!,g>$& XXc		$0!u{{}
***XXcDjryy7!u{{}
***XXsTz))$/99T?,!u{{}
 2 2t 2 DDDDXXsW},,T299S>+!u{{}
 2 2q 2 AAAA ?s   Lc           
        \        ^^^R4      \        ^^^R4      \        ^ ^ ^ 4      .p\        P                  ! VR,          R.,           4      p\        P                  ! VR,           Uu. uF  pVP                  RR7      NK  	  upR.,           4      p\        P                  ! VR,           Uu. uF  pVP                  ^ R7      NK  	  upR.,           4      p\        P                  ! V Uu. uF  p\	        V4      NK  	  upRR7      p\        P                  ! V Uu. uF  p\	        V4      NK  	  upRR7      p\        P                  ! . RO\
        R7      p\        P                  ! Wx\        P                  ! R4      R	7      p	\        P                  ! VR,          V\        P                  ! R
4      R	7      p
\        P                  ! VR,          P                  R4      V\        P                  ! R4      R	7      p\        P                  ! VR,          P                  R4      V\        P                  ! R4      R	7      p. ROp\        P                  P                  WW.V4      pW3W3W3W33 F:  w  rVP                  4       pVP                  V8H  P                  4       '       d   K:  Q h	  VP                  4       p\        P                   ! RVRVRVRV/VR7      p\"        P$                  ! VV4       R# u upi u upi u upi u upi )r   r=  Nr8   NNr?  r@  r   r   r8  r  r9  r  r  rB  rd   
time64[us]
time64[ns]
time32[ms]	time32[s]r   FFT)rP  rQ  rR  rS  )r   r.   ra   rK   rD  r!   rD   rC  rK  rE  rE   r   rH   rr   allr,   r-   rQ   rR   )r   rF  rT   r4   expected_ms
expected_srI  rg   r  r9  r{  rJ  rK  r   r]  expected_valuesresult_pandasrS   r  s   &                  r5   test_arrow_time_to_pandas6TestConvertDateTimeLikeTypes.test_arrow_time_to_pandas  s   1a&1a&1a=" 88GBK4&01hh)0 6)4A !"		d	 ;)4 6 $v & ' XX(/5(31  !yyQy7(35#f% &
 hhg>g)!,g>$&hhg>g)!,g>$& HH1>	XXc		$@XXcDjy99T?, XXsTz))$/i99T?,XXsW},,T299S>+ H**BB+;UC&(^&(^&(%6&(%5%7 C  MMOM!((O;@@BBBB%7 __llL($0($0+$/$= ,1	2 	b+.Q 65 ?>s   )K5.K:,K?Lc                .   \         P                  ! . RORR7      p\        V4       \         P                  ! . RORR7      p\        V4       \         P                  ! . R	ORR7      p\        V4       \         P                  ! . R
ORR7      p\        V4       R# )r  Nr&   r   r%   r$   r#   r  )z2007-07-13T01:23:34.123456Nz2006-01-13T12:34:56.432539z2010-08-13T05:46:57.437699)r  Nr  r  )z2007-07-13T01:23:34Nz2006-01-13T12:34:56z2010-08-13T05:46:57r.   ra   rz   )r   datetime64_nsdatetime64_usdatetime64_msdatetime64_ss   &    r5   test_numpy_datetime64_columns:TestConvertDateTimeLikeTypes.test_numpy_datetime64_columns  s     "-
 #$ 	+=9 "*
 #$ 	+=9 "'
 #$ 	+=9xx !#
 "# 	+<8ri   c                   \        \        P                  4      \        R 4      8  d   \        P                  ! R4       \
        P                  ! . RO\
        P                  ! R4      4      p\        P                  ! \        P                  ! . RORR7      4      pVP                  4       p\        P                  ! W24       \
        P                  ! V.4      pVP                  4       p\        P                  ! W24       R# )r;  z0pandas >= 2.0 supports non-nanosecond datetime64r  )r7  Nr   )r   r,   rC  r   r  rD   ra   r  rb   r  rH   rQ   rc   r  )r   rg   rT   rd   s   &   r5   &test_timestamp_to_pandas_coerces_to_nsCTestConvertDateTimeLikeTypes.test_timestamp_to_pandas_coerces_to_ns;  s    2>>"gg&66KKJKhhy",,t"4599R^^IDABMMO
q+u%MMO
q+ri   c           
     p   R
 EFu  pR EFj  p\         P                  ! \        ^^^4      .\         P                  ! WR7      4      p\         P                  ! RV/4      pRp\
        P                  ! \        VR7      ;_uu_ 4        VP                  RR7       RRR4       \
        P                  ! \        VR7      ;_uu_ 4        VP                  RR7       RRR4       \
        P                  ! \        VR7      ;_uu_ 4        VP                  R4      P                  RR7       RRR4       VP                  RRR	7       VP                  RRR	7       VP                  R4      P                  RRR	7       EKm  	  EKx  	  R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i)rd   Nr  r   z'would result in out of bounds timestamprU  Tr  F)rV  r  rd   r  r8  )Nr>  )
rD   ra   r   r  rX   r   rP  rQ  rH   column)r   r7  r   rg   rX   msgs   &     r5   &test_timestamp_to_pandas_out_of_boundsCTestConvertDateTimeLikeTypes.test_timestamp_to_pandas_out_of_boundsH  s/    &D0hhAq 12BLL4MN#s,?]]:S99MMdMC : ]]:S99OOOE : ]]:S99LL%//D/Q : 5dKUMS!++D , B' 1 & :9 :9 :9s$   E?	F	"F%	?FF"%F5c           	     2   \         P                  ! R \         P                  ! . \         P                  ! R4      R7      /4      pVP	                  4       p\
        P                  ! R \
        P                  ! . RR7      /4      p\        P                  ! W#4       R# )r   r8  r  r%   r   N)
rD   rX   r  r  rH   r,   r-   rb   rQ   rR   )r   rX   rY   rT   s   &   r5   &test_timestamp_to_pandas_empty_chunkedCTestConvertDateTimeLikeTypes.test_timestamp_to_pandas_empty_chunkedc  sd    #r//d9KLMN"<<bii:J&K LM
f/ri   r   c                R    \         P                  ! . RORR7      p\        W!R7       R# )
2007-07-13Nr  r   r  )rq  Nz
2006-01-15z
2010-08-19r]  )r   r   datetime64_ds   && r5   test_numpy_datetime64_day_unit;TestConvertDateTimeLikeTypes.test_numpy_datetime64_day_unitj  s$    xx !
 "# 	+<Dri   c           	        \         P                  ! . RO4      p\        P                  ! \	        R^^4      \	        R^^4      \	        R^^4      .4      p\
        P                  P                  W!R7      p\        P                  ! R\	        R^^4      R.4      p\
        P                  P                  V4      P                  V4      '       g   Q hR# )Ti  i  i  r?  NTFT)	r.   ra   r,   rb   r   rD   r  rG   rI   )r   mr   rY   rT   s   &    r5   %test_array_from_pandas_date_with_maskBTestConvertDateTimeLikeTypes.test_array_from_pandas_date_with_maskt  s    HH()yyq!q!q!
  %%d%399dDq!$4d;<xx##H-44V<<<<ri   z1.16.0z1.16.1z#Until numpy/numpy#12745 is resolved)reasonc                    \         P                  ! R \         P                  ! R4      \         P                  ./4      p\	        VRR7       R# )r   z2012-11-11 00:00:00+01:00Fr  N)r,   r-   	Timestampr  r[   r   s   & r5   test_fixed_offset_timezone7TestConvertDateTimeLikeTypes.test_fixed_offset_timezone  s?    
 \\89
  	 6ri   c           	     ^   \        \        P                  4      \        R 4      8  d   Rp\        P                  ! R\        P
                  ! . RORV R2R7      /4      p\        P                  ! R\        P                  ! V4      4      p\        P                  ! V.4      p\        VVR7       R# )	r;  r9  timedelta64timedelta64[rA  r   r  N)r   l     qa    @B1r   r,   rC  r-   r.   ra   rD   r   durationr9   r[   r   r7  rS   r   r9   s   &&   r5   test_timedeltas_no_nulls5TestConvertDateTimeLikeTypes.test_timedeltas_no_nulls  s    2>>"WW%55D\\288$E,8a*@B
  D(9:E7#"	
ri   c           	     ^   \        \        P                  4      \        R 4      8  d   Rp\        P                  ! R\        P
                  ! . RORV R2R7      /4      p\        P                  ! R\        P                  ! V4      4      p\        P                  ! V.4      p\        VVR7       R# )	r;  r9  r  Nr  rA  r   r  )r   Nr  r  r  s   &&   r5   test_timedeltas_nulls2TestConvertDateTimeLikeTypes.test_timedeltas_nulls  s    2>>"WW%55D\\288$<,8a*@B
  D(9:E7#"	
ri   c                    ^ RI Hp \        P                  ! RRV! RR^RR7      ./4      p\        P
                  ! R\        P                  ! 4       3.4      p\        VVR7       R# )r   )
DateOffsetdate_offsetNi  iX  )r  monthsmicrosecondsnanosecondsr  )pandas.tseries.offsetsr  r,   r-   rD   r9   month_day_nano_intervalr[   )r   r  rS   r9   s   &   r5   test_month_day_nano_interval9TestConvertDateTimeLikeTypes.test_month_day_nano_interval  sb    5\\D&DA3689
 
 ]B,F,F,HIJK"	$ri   rB  )rd   r  r8  r9  )TFFTFF)Fr$   )Tr&   )9r  r  r  r  r  r  r  r   r  r  r  r  r  hgivenstnonepast	timezonessettingsr  r  r  r  r  r  r  r  rD   r  r  r  r  r  r  r  r,  r4  r:  rL  rZ  rb  re  rk  rn  rs  rx  skipifr.   r   rC  r}  r  r  r  r  r  r  s   @r5   r  r  =  s    

 [[V%<=$ >$83&( WWRWWY'(ZZ7  )7J&323"/ [[V0& $	$2 [[:7689595: [[97689?9?" [[\ iik299;S8I ll40",,t2D ll40",,sE2J ll47dE9R ll47	9:
G:
G [[\ iik299;S8I ll40",,t2D ll40",,sE2J ll47dE9R ll47	9:L:L* '/7bE)#BJ./`9B,B60 [[Wryy{BIIK&@AE BE= [[
$ 	0 	078,NN1 0 0%h/04  67	67 [[V%<=
 >
 [[V%<=
 >

$ 
$ri   r  c                     a  ] tR tRt o R tR t]P                  P                  R 4       t	]P                  P                  ]P                  P                  RRR.4      R 4       4       tR	 tR
 tR tR tR tR tR tR tR tR tR tR t]P                  P                  R]P2                  ! 4       ]P4                  ! 4       ]P6                  ! 4       .4      R 4       t]P                  P                  R]P2                  ! 4       ]P4                  ! 4       ]P6                  ! 4       .4      R 4       tR tR tR t Rt!V t"R# )TestConvertStringLikeTypesi  c                   R pRRRR\         P                  .p\        P                  ! RW!,          /4      p\        P
                  ! R\        P                  ! 4       '       d   \        P                  ! 4       M\        P                  ! 4       4      p\        P                  ! V.4      p. ROp\        P                  ! RWa,          /4      p\        W7VR7       R# )r?  r   Nrs     mañanastringsrd  )r   Nrs  r  N)r.   rL   r,   r-   rD   r   r   r  large_stringr  r9   r[   )r   repeatsrr   rS   r   r9   r%  rT   s   &       r5   test_pandas_unicode.TestConvertStringLikeTypes.test_pandas_unicode  s    ui8\\9f&678!,!>!>!@!@BOObiik
 E7#9	<<I,? @AvNri   c                Z   R RR\        R4      R \        P                  .p\        P                  ! RV/4      p\
        P                  P                  V4      pV^ ,          P                  \
        P                  ! 4       8X  g   Q h. ROp\        P                  ! RV/4      p\        W%4       R# )qux   fooN   barzr  )   quxr  Nr  r  N)	bytearrayr.   rL   r,   r-   rD   rF   rG   r^   binaryr[   )r   rr   rS   rX   values2rT   s   &     r5   test_bytes_to_binary/TestConvertStringLikeTypes.test_bytes_to_binary  s    y'95"&&I\\9f-.$$R(Qx}}		+++?<<G 45-ri   c                   R R,          pR R,          p\         P                  ! RV.^,          V.,           R.^,          ,           /4      p\        P                  ! VR,          4      p\	        V\        P
                  4      '       g   Q hVP                  ^8X  g   Q hRp\        P                  P                  V4      pV^ ,          P                  ^8X  g   Q hR# )   x kr  r4   N)	r,   r-   rD   ra   r   ChunkedArray
num_chunksrF   rG   )r   v1v2rS   rg   rX   s   &     r5   test_bytes_exceed_2gb0TestConvertStringLikeTypes.test_bytes_exceed_2gb  s    II \\tbyB4'3%"*4
  hhr)}%#r////~~"""$$R(Qx""a'''ri   charr4   r  c                   VR ,          pVR,          p\         P                  ! RV..^,          V..,           R..,           /4      p\        P                  ! VR,          RR7      pVP	                  RR7       \        V\        P                  4      '       g   Q hVP                  ^8X  g   Q h\        VP                  ^ 4      4      ^8X  g   Q h\        VP                  ^4      4      ^8X  g   Q hR# )r  r  r  r  Tr  fullN)
r,   r-   rD   ra   validater   r  r  r   rl  )r   r  r  r  rS   rg   s   &&    r5   +test_auto_chunking_pandas_series_of_stringsFTestConvertStringLikeTypes.test_auto_chunking_pandas_series_of_strings  s     II\\v{rdV+vh6
  hhr)}$7$#r////~~"""399Q< B&&&399Q< A%%%ri   c                8   R R\        R4      RRR.p\        P                  ! RV/4      p\        P                  ! \        P
                  ! R\        P                  ! ^4      4      .4      p\        P                  P                  W#R7      pVP                  ^ ,          P                  V^ ,          P                  8X  g   Q hVP                  ^ ,          P                  V^ ,          P                  8X  g   Q hVP                  4       p\        P                  ! WR4       R# )r  N   bar   heyr  r  )r  r,   r-   rD   r9   r   r  rF   rG   r^   r`   rH   rQ   rR   )r   rr   rS   r9   rX   rY   s   &     r5   test_fixed_size_bytes0TestConvertStringLikeTypes.test_fixed_size_bytes  s    $	& 14vF\\9f-.BHHY		!=>?$$R$7||A##vay~~555||A##vay~~555"
f)ri   c                   . ROp\         P                  ! RV/4      p\        P                  ! \        P                  ! R\        P
                  ! ^4      4      .4      p\        P                  ! \        P                  4      ;_uu_ 4        \        P                  P                  W#R7       RRR4       R#   + '       g   i     R# ; i)r  Nr  r  )r  Ns   baNNr  )r,   r-   rD   r9   r   r  r   rP  ArrowInvalidrF   rG   )r   rr   rS   r9   s   &   r5   5test_fixed_size_bytes_does_not_accept_varying_lengthsPTestConvertStringLikeTypes.test_fixed_size_bytes_does_not_accept_varying_lengths  su    :\\9f-.BHHY		!=>?]]2??++HH   3 ,+++s   	!B44C	c                v    \         P                  ! . RO4      p\        V\        P                  ! 4       R7       R# )   123Nre   r  ri   rd  N)r,   rb   rh   rD   r  r   rd   s   & r5   test_variable_size_bytes3TestConvertStringLikeTypes.test_variable_size_bytes  s!    II/05ri   c                    \         P                  ! \        R 4      \        R4      \        R4      R.4      p\        V\        P
                  ! 4       R7       \        V\        P
                  ! 4       R7       R# )r  ri   rd  Nr  rf   )r,   rb   r  rh   rD   r  r  s   & r5   test_binary_from_bytearray5TestConvertStringLikeTypes.test_binary_from_bytearray  sM    IIy()C.)D/  	 5BIIK@ri   c                   \         P                  ! . RO4      p\        V\        P                  ! 4       R7       \         P
                  ! RV/4      p\        V\        P                  ! R\        P                  ! 4       3.4      R7       R# r  Nr  r   r  r  )r,   rb   rh   rD   large_binaryr-   r[   r9   r   rd   rS   s   &  r5   test_large_binary,TestConvertStringLikeTypes.test_large_binary  sY    II/0):;\\3(#ryy3(9":!;<	>ri   c                   \         P                  ! . RO4      p\        V\        P                  ! 4       R7       \         P
                  ! RV/4      p\        V\        P                  ! R\        P                  ! 4       3.4      R7       R# 123r   Nr  r  )r  r+   r   N)r,   rb   rh   rD   r  r-   r[   r9   r  s   &  r5   test_large_string,TestConvertStringLikeTypes.test_large_string"  sY    II,-):;\\3(#ryy3(9":!;<	>ri   c                   \         P                  ! . RO4      p\        V\        P                  ! 4       R7       \         P
                  ! RV/4      p\        V\        P                  ! R\        P                  ! 4       3.4      R7       R# r  )r,   rb   rh   rD   binary_viewr-   r[   r9   r  s   &  r5   test_binary_view+TestConvertStringLikeTypes.test_binary_view)  sY    II/0)9:\\3(#ryy3(8"9!:;	=ri   c                   \         P                  ! . RO4      p\        V\        P                  ! 4       R7       \         P
                  ! RV/4      p\        V\        P                  ! R\        P                  ! 4       3.4      R7       R# r  )r,   rb   rh   rD   string_viewr-   r[   r9   r  s   &  r5   test_string_view+TestConvertStringLikeTypes.test_string_view0  sY    II,-)9:\\3(#ryy3(8"9!:;	=ri   c                0   . ROp\         P                  ! RV/4      p\        P                  ! R\        P                  ! 4       4      p\        P
                  ! V.4      p\        P                  P                  W$R7      pVP                  RR7      p\         P                  ! RV/4      p\        P                  ! WgRR7       VP                  RR7      p\         P                  ! R\         P                  ! V4      /4      p	\        P                  ! WRR7       R# )	r+   r  r  Fstrings_to_categoricalTr  Nr+   r+   r+   r+   r+   )r,   r-   rD   r   r  r9   rF   rG   rH   rQ   rR   Categorical)
r   rr   rS   r   r9   rX   result1	expected1r   	expected2s
   &         r5   test_table_empty_str/TestConvertStringLikeTypes.test_table_empty_str7  s    %\\9f-.BIIK0E7#$$R$7///?LL)V!45	
gdC///>LL)R^^F-C!DE	
gdCri   c                   . ROp\         P                  ! RV/4      p\        P                  ! R\        P                  ! 4       4      p\        P
                  ! V.4      p\        P                  P                  W$R7      p\         P                  ! RV/4      p\         P                  ! R\         P                  ! V4      /4      pVP                  R.R7      p\        P                  ! WRR7       VP                  . R7      p	\        P                  ! WRR7       VP                  RR7      p
\        P                  ! WRR7       VP                  \        4       R7      p\        P                  ! WRR7       R# )	r+   r  r  
categoriesTr  Nr  )r  )r,   r-   rD   r   r  r9   rF   rG   r  rH   rQ   rR   tuple)r   rr   rS   r   r9   rX   expected_strexpected_catr  r   result3result4s   &           r5   test_selective_categoricals6TestConvertStringLikeTypes.test_selective_categoricalsF  s
   %\\9f-.BIIK0E7#$$R$7||Y$78||Yv0F$GH//i[/9
gF//R/0
gF//\/:
gF//UW/5
gFri   c                    \         P                  ! . \         P                  ! 4       R 7      p\         P                  P	                  V.R.R7      pVP                  R.R7       R# )r  rZ   r  r   r  N)rD   ra   r   rF   r   rH   )r   ra   rX   s   &  r5   &test_to_pandas_categorical_zero_lengthATestConvertStringLikeTypes.test_to_pandas_categorical_zero_lengthX  sE    "((*-$$UGE7$CE7+ri   c                   \         P                  ! . RO4      P                  4       p\         P                  P	                  V.R.R7      pVP                  R.R7      pVP                  4       P                  V4      '       g   Q hR# )r   rZ   r  r  N)r   r   r   rs  )rD   ra   dictionary_encoderF   r   rH   rI   )r   ra   rX   rY   s   &   r5   ,test_to_pandas_categories_already_dictionaryGTestConvertStringLikeTypes.test_to_pandas_categories_already_dictionary_  sg    56HHJ$$UGE7$CUG4 ''////ri   string_typec                   . R	Op\         P                  ! RV/4      p\        P                  ! RV4      p\        P                  ! V.4      p\        P
                  P                  W5R7      pVP                  RR7      p\         P                  ! R\         P                  ! V4      /4      p\        P                  ! WxRR7       \        P                  ! \        P                  4      ;_uu_ 4        VP                  RRR7       RRR4       VR,          P                  RR7      p\         P                  ! \         P                  ! V4      RR7      p\        P                  ! Wx4       \        P                  ! \        P                  4      ;_uu_ 4        VR,          P                  RRR7       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)
r   r  r  Tr  r  r  zero_copy_onlyNr_   )r   r   r   r   r   )r,   r-   rD   r   r9   rF   rG   rH   r  rQ   rR   r   rP  r  rb   rc   	r   r  rr   rS   r   r9   rX   rY   rT   s	   &&       r5   (test_table_str_to_categorical_without_naCTestConvertStringLikeTypes.test_table_str_to_categorical_without_naf  sK    +\\9f-.K0E7#$$R$7=<<BNN6,B CD
fDA]]2??++OO4+/  1 ,
 y!++4+H99R^^F3)D
v0]]2??++)&&d6: ' < ,+ ,+ ,++s   -F5G5G	G	c                   R RR\         P                  .p\        P                  ! RV/4      p\        P
                  ! RV4      p\        P                  ! V.4      p\        P                  P                  W5R7      pVP                  RR7      p\        P                  ! R\        P                  ! V4      /4      p\        P                  ! WxRR7       \        P                  ! \        P                  4      ;_uu_ 4        VP                  RRR7       R R R 4       VR,          P                  RR7      p\        P                   ! \        P                  ! V4      RR	7      p\        P"                  ! Wx4       \        P                  ! \        P                  4      ;_uu_ 4        VR,          P                  RRR7       R R R 4       R #   + '       g   i     L; i  + '       g   i     R # ; i)
Nr   r   r  r  Tr  r  r  r_   )r.   rL   r,   r-   rD   r   r9   rF   rG   rH   r  rQ   rR   r   rP  r  rb   rc   r  s	   &&       r5   %test_table_str_to_categorical_with_na@TestConvertStringLikeTypes.test_table_str_to_categorical_with_na  sX    S"&&)\\9f-.K0E7#$$R$7=<<BNN6,B CD
fDA]]2??++OO4+/  1 ,
 y!++4+H99R^^F3)D
v0]]2??++)&&d6: ' < ,+ ,+ ,++s   =G GG	G)	c                    \         P                  ! \        P                  ! R .\        R7      \         P                  ! 4       4      pVP
                  \         P                  ! 4       8X  g   Q hR# )r  r   N)rD   ra   r.   r>   r  r^   )r   	converteds   & r5   test_array_of_bytes_to_strings9TestConvertStringLikeTypes.test_array_of_bytes_to_strings  s=    HHRXXtfF;RYY[I	~~,,,ri   c           	     :   \         P                  ! \        P                  P                  R R7      ;_uu_ 4        \        P
                  ! \        P
                  ! R.\        R7      \        P                  ! 4       4       RRR4       R#   + '       g   i     R# ; i)zwas not a utf8 stringrU  s   r   N)	r   rP  rD   libr  ra   r.   r>   r  r   s   &r5   'test_array_of_bytes_to_strings_bad_dataBTestConvertStringLikeTypes.test_array_of_bytes_to_strings_bad_data  s[    ]]##-/ / HHRXX{m6:BIIKH/ / / /s   AB		B	c                   \         P                  ! . R
ORR7      p\        P                  ! V\        P                  ! ^4      R7      p\        P                  ! \	        V4      \        P                  ! ^4      R7      pVP                  V4      '       g   Q h\         P                  ! . RO4      p\        P                  ! V\        P                  ! ^4      VR7      p\        P                  ! . RO\        P                  ! ^4      R7      pVP                  V4      '       g   Q h\        P                  ! \        P                  P                  RR7      ;_uu_ 4        \         P                  ! . R
ORR7      p\        P                  ! V\        P                  ! ^4      R7       RRR4       \        P                  ! \        P                  P                  RR7      ;_uu_ 4        \         P                  ! . R
OR	R7      p\        P                  ! V\        P                  ! ^4      R7       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r  z|S3r   r  r  Nz)Got bytestring of length 3 \(expected 4\)rU  z*Got bytestring of length 12 \(expected 3\)z|U3)r  r     bazFTF)r  Nr  )
r.   ra   rD   r  r+  rI   r   rP  r  r  )r   rg   r  rT   rk   s   &    r5   ,test_numpy_string_array_to_fixed_size_binaryGTestConvertStringLikeTypes.test_numpy_string_array_to_fixed_size_binary  s   hh/u=HHSryy|4	88DIBIIaL9))))xx,-HHSryy|$?	8821F))))]]266..!MO O((35ACHHSryy|,O
 ]]##CE E ((35ACHHSryy|,	E EO O
E E Es   AH1 AI1I	I	rB  N)#r  r  r  r  r  r  r   r  large_memoryr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rD   r  r  r  r	  r  r  r  r  r  r  r  s   @r5   r  r    sC    O	. [[( (  [[[[Vc4[1& 2 &*46A>>==DG$,0 [[		R__%68HI<<0 [[		R__%68HI<<2-I- -ri   r  c                     a  ] tR tRt o Rt]P                  ! R4      ]P                  ! R4      .t]P                  ! R4      ]P                  ! R4      .t]P                  ! R4      ]P                  ! R4      .t	]
P                  P                  R]
P                  ! ]]P                  ! ^^4      R
R7      ]
P                  ! ]]P                  ! ^^4      RR7      ]
P                  ! ]	]P                  ! ^^4      RR7      .4      R 4       t]
P                  P                  R	]
P                  ! ]R
R7      ]
P                  ! ]RR7      ]
P                  ! ]	RR7      .4      R 4       tR tR tR tR tR t]
P                  P                  R]P                  ]P                  ]P                  ]P,                  .4      R 4       tRtV tR# )TestConvertDecimalTypesi  z$
Conversion test for decimal types.
z	-1234.123z1234.439z-129934.123331z129534.123731r  z-314292388910493.12343437128rr   r  )idr  r  c                F   \         P                  ! R V/4      p\        P                  P	                  VRR7      p\        P
                  ! R V4      p\        P                  ! V.VP                  P                  R7      pVP                  P                  V4      '       g   Q hR# )r  Fr   r  N)	r,   r-   rD   rF   rG   r   r9   r'  rI   )r   rr   r  rT   rX   r   rU   s   &&&    r5   test_decimal_from_pandas0TestConvertDecimalTypes.test_decimal_from_pandas  sy     <<V 45$$Xe$D]3 ))UGell6K6KL||""?3333ri   c                    \         P                  ! R V/4      p\        P                  P	                  V4      pVP                  4       p\        P                  ! WB4       R# )r  N)r,   r-   rD   rF   rG   rH   rQ   rR   )r   rr   rT   r  rS   s   &&   r5   test_decimal_to_pandas.TestConvertDecimalTypes.test_decimal_to_pandas  sG     <<V 45HH((2	  "
b+ri   c                <   \         P                  ! R 4      .p\        P                  ! ^
^4      p\        P
                  ! \        P                  4      ;_uu_ 4        \        P                  ! WR7       RRR4       \         P                  ! R4      .p\        P                  ! ^
^4      p\        P
                  ! \        P                  4      ;_uu_ 4        \        P                  ! W4R7       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)z1.234r  Nz1.2345)r   r   rD   r  r   rP  r  ra   )r   data1type1data2type2s   &    r5   "test_decimal_fails_with_truncation:TestConvertDecimalTypes.test_decimal_fails_with_truncation  s    )*b!$]]2??++HHU' , *+b!$]]2??++HHU' ,+ ,+
 ,++s   C7D
7D	
D	c                   \         P                  ! R 4      \         P                  ! R4      .p\        P                  ! V4      p\        P
                  ! V4      pVP                  4       V8X  g   Q hVP                  \        P                  ! ^^4      8X  g   Q h\        P
                  ! V\        P                  ! ^^4      R7      p\         P                  ! R4      \         P                  ! R4      .pVP                  4       V8X  g   Q hR# )z0.01z0.001r  z0.01000z0.00100N)	r   r   r,   rb   rD   ra   r  r^   r  )r   r   seriesra   rT   s   &    r5   &test_decimal_with_different_precisions>TestConvertDecimalTypes.test_decimal_with_different_precisions  s    OOF#OOG$
 4  D(((zzR]]1a0000BMM"a$89OOI.	0JK H,,,ri   c                "   \         P                  ! \        P                  ! R 4      R.4      p\	        V\
        P                  ! ^^4      R7       \         P                  ! R.^,          4      p\	        V\
        P                  ! ^^4      R7       R# )r  Nr  r,   rb   r   r   rh   rD   r  r   r.  s   & r5   $test_decimal_with_None_explicit_type<TestConvertDecimalTypes.test_decimal_with_None_explicit_type  s^    GOOF3T:;bmmB.BC D6A:&bmmB.BCri   c                    \         P                  ! \        P                  ! R 4      R.4      p\	        V\
        P                  ! ^^4      R7       R# )r  Nr  r2  r3  s   & r5   !test_decimal_with_None_infer_type9TestConvertDecimalTypes.test_decimal_with_None_infer_type  s3    GOOF3T:;q!9LMri   c                    R ^ R /R^ \         P                  ! R4      //p\        P                  P	                  V4      p\        V4       R# )r   r   z0.0N)r   r   r,   r-   	from_dictr[   )r   tmpdirr   rS   s   &&  r5   test_strided_objects,TestConvertDecimalTypes.test_strided_objects  sE     !S!W__U+,
 \\##D)#ri   r  c                    \         P                  ! R 4      R.p\        P                  ! W!! ^^4      R7      pVP	                  4       p\
        P                  ! V4      p\        P                  ! WE4       R# )r  Nr  )	r   r   rD   ra   rH   r,   rb   rQ   rc   )r   r  r   rg   rY   rT   s   &&    r5   test_decimal_array_to_pandas4TestConvertDecimalTypes.test_decimal_array_to_pandas  sS     '.hht#a),99T?
v0ri   rB  N)rr   r  )r  r  r  r  r  r   r   r  r  r  r   r  r  paramrD   r!  r$  r+  r/  r4  r7  r<  r  r?  r  r  r  s   @r5   r  r    s     	$
#I
 	()(I
 	5667J
 [[8Ya 3DYb! 4EZr2!6<H; 
4
4 [[XY;/Y;/ZL1( 
,
,	(-DN	$ [[U



	% 11ri   r  c            
          a  ] tR tRt o RtR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR t]P6                  P9                  R]P<                  ^^.^.R.R^.R.3]P>                  RR.R.R.RR.R.3]P@                  RR.R.R.RR.R.3.4      R 4       t!R t"R t#R  t$R! t%R" t&]P6                  PN                  R# 4       t(R$ t)R% t*R& t+R' t,R( t-R) t.]P6                  P9                  R*]P^                  ]P`                  .4      R+ 4       t1]P6                  P9                  R*]P^                  ]P`                  .4      R, 4       t2]P6                  P9                  R*]P^                  ]P`                  .4      R- 4       t3]P6                  P9                  R*]P^                  ]P`                  .4      R. 4       t4]P6                  P9                  R*]P^                  ]P`                  .4      R/ 4       t5R0t6V t7R# )1TestConvertListTypesi*  z$
Conversion tests for list<> types.
c                   \        4       w  r\        WVR 7       \        P                  P	                  WRR7      pVP                  VP                  P                  4      pVP                  P                  V4      '       g   Q hVP                   F1  pVP                  V4      p\        W,          VP                  R7       K3  	  R# r9   rU   Frk  r  N)r   r[   rD   rF   rG   with_metadatar9   r'  rI   rJ   r   rt   r^   r   rS   r9   rX   rU   ri  r   s   &      r5   test_column_of_arrays*TestConvertListTypes.test_column_of_arrays/  s    *,
6J$$Ru$M !..u||/D/DE||""?3333jjFLL(E"2:EJJ? !ri   c           
        R p\         P                  ! \         P                  ! ^
VR7      \         P                  ! ^VR7      R\         P                  ! ^VR7      .\        R7      p\        P
                  ! \        P                  ! 4       4      p\        P                  ! W#R7      pV^ ,          P                  4       \        \        ^
4      4      8X  g   Q hV^,          P                  4       \        \        ^4      4      8X  g   Q hV^,          P                  4       e   Q hV^,          P                  4       ^ .8X  g   Q hR# )r  r   Nr  )
r.   ra   r/   r>   rD   r  r   r  r+  r2   )r   r   rg   re   rH  s   &    r5   test_column_of_arrays_to_py0TestConvertListTypes.test_column_of_arrays_to_py<  s    hhIIb&IIau%IIau%	

  #xx(Aw}}$uRy/111Aw}}$uQx.000Aw}}&&&Aw}}1#%%%ri   c                   \         P                  ! R R.R ..\         P                  ! \         P                  ! 4       4      R7      p\         P                  P                  V.R.R7      pVP                  4       p\        P                  ! RR R.R ../4      p\        P                  ! W44       V^ ,          P                  4       p\        P                  ! \        P                  ! V4      VR,          RR7       R# )TFr  r  r   rl   N)rD   ra   r  r  rF   r   rH   r,   r-   rQ   rR   rc   rb   )r   ra   rX   rS   r  rd   s   &     r5   test_column_of_boolean_list0TestConvertListTypes.test_column_of_boolean_listM  s    4-$0rxx
7KL$$eWVH$=__llFdE]TF,C#DE
b.!H 
ryy|RZUKri   c           	     N   \         P                  ! \        P                  ! R 4      \        P                  ! R4      .\        P                  ! R4      ..\         P                  ! \         P
                  ! ^^4      4      R7      p\         P                  P                  V.R.R7      pVP                  4       p\        P                  ! R\        P                  ! R 4      \        P                  ! R4      .\        P                  ! R4      ../4      p\        P                  ! W44       R# )r   re  z3.3r  r  r   N)rD   ra   r   r   r  r  rF   r   rH   r,   r-   rQ   rR   )r   ra   rX   rS   r  s   &    r5   test_column_of_decimal_list0TestConvertListTypes.test_column_of_decimal_listY  s    7??3/1EF"??5124 hhr}}Q':;= $$eWVH$=__llws+W__S-ABu-.0 12 	b.ri   c                    \         P                  ! \        P                  ! \        P                  \        P                  .\
        R 7      4      p\        P                  ! \        P                  ! 4       4      \        P                  ! \        P                  ! 4       4      \        P                  ! \        P                  ! RR4      .4      3 F  p\        P                  ! WR7      p\        P                  ! RR.VR7      pVP                  V4      '       g   Q h\        P                  ! \        4      ;_uu_ 4        \        P                  ! VP                   VR7       RRR4       K  	  R#   + '       g   i     K  ; i)r   f0r   r  N)r,   rb   r.   ra   rL   r>   rD   r  r   
large_liststructr   rI   r   rP  	TypeErrorrr   )r   rd   rn  rY   rT   s   &    r5   +test_nested_types_from_ndarray_null_entries@TestConvertListTypes.test_nested_types_from_ndarray_null_entriese  s    IIbhh/v>?88BHHJ'==,99bhhtW5679B XXa)Fxxt26H==****y))+ *)9 *))s   ;#E,,E=c                   \        4       w  r\        WVR 7       \        P                  P	                  WRR7      pVP                  VP                  P                  4      pVP                  P                  V4      '       g   Q hVP                   F1  pVP                  V4      p\        W,          VP                  R7       K3  	  R# rE  )r   r[   rD   rF   rG   rG  r9   r'  rI   rJ   r   rt   r^   rH  s   &      r5   test_column_of_lists)TestConvertListTypes.test_column_of_listss  s    )+
6J$$Ru$M !..u||/D/DE||""?3333jjFLL(E"2:EJJ? !ri   c           
     H   . . RO. RO. ^..p\         P                  ! V Uu. uF  p\        P                  ! V\        R7      NK!  	  up4      p\
        P                  ! V4      p\         P                  ! VP                  4       4      p\        P                  ! WS4       R# u upi )r8   r   Nr  )r   r   r      )	r,   rb   r.   ra   r  rD   rH   rQ   rc   )r   	num_listsrd   r.  rg   rY   s   &     r5    test_column_of_lists_first_empty5TestConvertListTypes.test_column_of_lists_first_empty  sr    L"qc:	iHiBHHQe4iHIhhv3==?+
v. Is   %Bc                J   \         P                  ! R \        P                  ! ^^.R^^.^^.^^.^^	..\        R7      /4      p\
        P                  ! \
        P                  ! R \
        P                  ! \
        P                  ! 4       4      4      .4      p\
        P                  P                  VR,          VR7      p\
        P                  P                  VR,          VR7      p\
        P                  ! W4.4      pVP                  4       p\        P                  ! Wa4       R# )listsNr   rO  r  :r8   NN)r,   r-   r.   ra   r>   rD   r9   r   r  r   rF   rG   concat_tablesrH   rQ   rR   )r   rS   r9   r7  r8  rX   rY   s   &      r5   test_column_of_lists_chunked1TestConvertListTypes.test_column_of_lists_chunked  s    \\RXXAAAAA 	
 	 HHWbhhrxxz23
  XX!!"R&!8XX!!"R&!8  "*"
f)ri   c           	        \         P                  ! R \        P                  ! . \        R7      /4      p\
        P                  ! \
        P                  ! R \
        P                  ! \
        P                  ! 4       4      4      .4      p\
        P                  P                  WR7      pVP                  4       p\        P                  ! WA4       R# )rd  r   r  N)r,   r-   r.   ra   r>   rD   r9   r   r  r   rF   rG   rH   rQ   rR   )r   rS   r9   rX   rY   s   &    r5   "test_empty_column_of_lists_chunked7TestConvertListTypes.test_empty_column_of_lists_chunked  s    \\RXXb/
  HHWbhhrxxz23
  $$R$7"
f)ri   c           	        ^ ^.^^.^^.^^.^
^.^^.^^.^^..p^^	.^^..p\         P                  ! V4      p\         P                  ! V4      p\         P                  P                  V.R.R7      p\         P                  P                  V.R.R7      p\         P                  ! WV.4      pVP                  4       p\        P                  ! RW,           /4      p	\        P                  ! W4       R# )r   r   r   N)
rD   ra   rF   r   re  rH   r,   r-   rQ   rR   )
r   r'  r)  r9  r{  r7  r8  concatenatedrY   rT   s
   &         r5   test_column_of_lists_chunked22TestConvertListTypes.test_column_of_lists_chunked2  s    Q!Q!Q!Q"bbB8b"X/Q"b"XXe_XXe_XX!!2$se!4XX!!2$se!4''1'')<<em 45
f/ri   c                    \        4       w  r\        P                  ! V.^,          RR7      pVR,          P                  R,          pVP                  ^ ,          ^8w  g   Q h\        V4       R# )r   T)ignore_indexr   :NNr   N)r   r,   concatrr   stridesrt   )r   rS   r9   rg   s   &   r5   test_column_of_lists_strided1TestConvertListTypes.test_column_of_lists_strided  sT    )+
YYtaxd3k  %{{1~"""s#ri   c           
     l   \         P                  ! R R .R .\        R7      p\        P                  ! V4      p\        P                  ! \	        V4      4      pVP                  V4      '       g   Q hVP                  \        P                  ! \        P                  ! 4       4      8X  g   Q h\         P                  ! R R R R .\         P                  ! R R .\        R7      .\        R7      p\        P                  ! V4      p\        P                  ! R R R R .R R ..4      pVP                  V4      '       g   Q hR # )Nr   )	r.   ra   r>   rD   r+  rI   r^   r  r1  )r   r   rg   rT   r)  s   &    r5   test_nested_lists_all_none/TestConvertListTypes.test_nested_lists_all_none  s    xx$t,F;hhtn88DJ'zz(####xx288BGGI....$tTl((D$<v>@%' hhuo88T4$d|DEzz(####ri   c                H   \         P                  ! . . . .4      p\        P                  ! V4      p\        P                  ! \	        V4      4      pVP                  V4      '       g   Q hVP                  \        P                  ! \        P                  ! 4       4      8X  g   Q hR # N)	r,   rb   rD   ra   r+  rI   r^   r  r1  r   r   rg   rT   s   &   r5   test_nested_lists_all_empty0TestConvertListTypes.test_nested_lists_all_empty  sk    yy"b"&hhtn88DJ'zz(####xx288BGGI....ri   c                H   \         P                  ! . R ..4      p\        P                  ! V4      p\        P                  ! \	        V4      4      pVP                  V4      '       g   Q hVP                  \        P                  ! \        P                  ! 4       4      8X  g   Q hR# )r   N)	r,   rb   rD   ra   r+  rI   r^   r  r  rz  s   &   r5   test_nested_list_first_empty1TestConvertListTypes.test_nested_list_first_empty  sk    yy"se%hhtn88DJ'zz(####xx288BIIK0000ri   c                    \         P                  ! \        P                  ! . RORR7      R.4      p\        P                  ! V4      p\        P                  ! VP
                  4      p\        P                  ! . ROR.\        P                  ! \        P                  ! 4       4      R7      pVP                  V4      '       g   Q hVP                  V4      '       g   Q h\         P                  ! \        P                  ! . RORR7      R.4      p\        P                  ! V4      p\        P                  ! . ROR.\        P                  ! \        P                  ! 4       4      R7      pVP                  V4      '       g   Q hR# )r   r  r   Nr  r  r   )
r,   rb   r.   ra   rD   rr   r  r   rI   r   )r   r   rY   r   rT   data3r  	expected3s   &       r5   test_nested_smaller_ints-TestConvertListTypes.test_nested_smaller_ints  s     yy"((9D94@A$((4;;'88Y-BHHRWWY4GH}}X&&&&~~h''''		288IT:DAB((5/HHi.RXXbjjl5KL	~~i((((ri   c                   \        R \        P                  ^.^^..3R^ ^.^^..3RRR.RR..3RRR.RR..R.3.4      p\        P                  ! V4      p\
        P                  ! \
        P                  ! R \
        P                  ! \
        P                  ! 4       4      4      \
        P                  ! R\
        P                  ! \
        P                  ! 4       4      4      \
        P                  ! R\
        P                  ! \
        P                  ! 4       4      4      \
        P                  ! R\
        P                  ! \
        P                  ! \
        P                  ! 4       4      4      4      .4      p\        W#R7       R# )	nan_intsrr  strsNr   r   dnested_strsr  )r   r.   rL   r,   r-   rD   r9   r   r  r   r  r[   r   r   rS   rU   s   &   r5   test_infer_lists%TestConvertListTypes.test_infer_lists  s   2661+1v./q!fq!f%&tSkC:./tSkC:6=>	
  \\$))HHZ"((*!56HHVRXXbhhj12HHVRXXbiik23HH]BHHRXXbiik-B$CD	%
  	 Dri   c                   \         P                  ! \         P                  ! 4       ^R7      p\         P                  ! \         P                  ! 4       4      p. ROR. RO. RO.p\         P                  ! W1R7      p\         P                  ! W2R7      pVP	                  4       pVP	                  4       p\        Wg4       F%  w  rVf   V	e   Q h\        P                  ! W4       K'  	  R# )r   )	list_sizeNr  )r   r   r8   r   r   )r_  	   rC     )rD   r  r   ra   rH   r  rw   rx   )
r   fixed_tyvariable_tyr   	fixed_arrvariable_arrrY   rT   leftrights
   &         r5   test_fixed_size_list)TestConvertListTypes.test_fixed_size_list
	  s    88BHHJ!4hhrxxz*dL.AHHT1	xx7$$&))+v0KD|}$}""4/ 1ri   c           	        \        R \        P                  ! ^ ^.\        P                  R7      \        P                  ! ^^.\        P                  R7      .3.4      p\        P
                  ! V4      p\        P                  ! \        P                  ! R \        P                  ! \        P                  ! 4       4      4      .4      p\        W#R7       R# )rr  r   r  N)r   r.   ra   r   r,   r-   rD   r9   r   r  r[   r  s   &   r5   test_infer_numpy_array+TestConvertListTypes.test_infer_numpy_array	  s    !Qrxx0!Qrxx0 
  \\$))HHVRXXbhhj12%
  	 Dri   c           	        \         P                  ! . RO\         P                  ! 4       4      p\         P                  ! RR.RR.RR..\         P                  ! \         P                  ! 4       4      4      p\         P
                  P                  W.RR.4      p\         P                  P                  . ROV4      p\        P                  ! R^RRR./.R^RRR./R^RRR./..4      p\        P                  ! VP                  4       4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! R	R
\        4       \        P                   ! We4       RRR4       R#   + '       g   i     R# ; i)r   r   r   r   r  eff1r  r?   r@   Nr   )r   r   r   )rD   ra   r   r  r  StructArrayr   	ListArrayr,   rb   rH   rM   rN   rO   rP   rQ   rc   )r   rr  r  structsr   rT   r.  s   &      r5   test_to_list_of_structs_pandas3TestConvertListTypes.test_to_list_of_structs_pandas)	  s%   xx	288:.((S#Jc
S#J?88BIIK02..,,d_tTlK||''	7;99Atc3Z()Atc3Z(Atc3Z(*
  4>>+, $$&&##H.M$68""64 '&&&s   '3E$$E5	c                $   \        \        P                  4      \        R 4      8  d>   \        \        P                  4      \        R4      8  d   \        P
                  ! R4       RRR.3RRR.3..R	. 3RRR
R.3.RRR.3...p\        P                  ! V\        P                  ! \        P                  ! \        P                  ! 4       \        P                  ! \        P                  ! 4       4      4      4      4      pVP                  4       p\        P                  ! V4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! RR\         4       \"        P$                  ! W44       R
R
R
4       R
#   + '       g   i     R
# ; i)1.25.0.dev0r;  $Regression in pandas with numpy 1.25r   r   r   rs  r   r  r  Nquuxr  quzr  gr?   r@   r  N)r   r.   rC  r,   r   r  rD   ra   r  map_utf8rH   rb   rM   rN   rO   rP   rQ   rc   )r   r   rg   r.  rT   s   &    r5   test_to_list_of_maps_pandas0TestConvertListTypes.test_to_list_of_maps_pandas?	  s!   R^^$(>>(77+;; KK>?sCj!EC:#678bk=6D#;*?@ECQT:CVBWX
 hhtRXXbggbggi"'')9L&MNO99T? $$&&##H.M$68""64 '&&&s   3E>>F	c           
     L   \        \        P                  4      \        R4      8  d>   \        \        P                  4      \        R4      8  d   \        P
                  ! R4       \        P                  ! . RO4      P                  ^^4      p\        P                  ! R.R.RR	.R
R.. RRR..\        P                  ! \        P                  ! 4       4      4      P                  ^^4      p\        P                  P                  . ROW4      p\        P                  P                  . ROV4      pVP                  4       p\        P                  ! RRR	.3RR
R.3..R. 3R...4      pVP                  ^^4      P                  4       p\        P                  ! R. 3R...4      p\         P"                  ! 4       ;_uu_ 4        \         P$                  ! RR\&        4       \(        P*                  ! WV4       \(        P*                  ! Wx4       RRR4       R#   + '       g   i     R# ; i)z<
A slightly more rigorous test for chunk/slice combinations
r  r;  r  r?   r   rs  r  r   r   r   r  Nr  r@   )r?   r   rs  r  r  r  r?   r   r8   r   r   r   r8   r  )r   r.   rC  r,   r   r  rD   ra   slicer  r  MapArrayr   r  rH   rb   rM   rN   rO   rP   rQ   rc   )	r   r  itemsmaprg   r.  rT   series_slicedexpected_sliceds	   &        r5   "test_to_list_of_maps_pandas_sliced7TestConvertListTypes.test_to_list_of_maps_pandas_slicedT	  s   
 R^^$(>>(77+;; KK>?xx 2 3385A; 	Z(c3Z#sRc{SHHRYY[!
 %1+ 	 kk%%i=ll&&y#699sCj!EC:#678bk=)*
 
 		!Q113))bk=)*%
  $$&&##H.M$68""64""=B	 '&&&s   ?A	HH#	zt,data,expectedNaaabbr   c                x   \         P                  ! . RO4      p\        P                  ! V4      p\        P
                  P                  WT\        P                  ! V! 4       4      R7      p\        P
                  P                  V\        P                  ! V! 4       4      R7      P                  V4      '       g   Q hR# )Tr  r  Nrv  )	r.   ra   r,   rb   rD   r  rG   r  rI   )r   r  r   rT   rw  rd   rY   s   &&&&   r5   ,test_array_from_pandas_typed_array_with_maskATestConvertListTypes.test_array_from_pandas_typed_array_with_mask{	  s    $ HH()IIdO%%abhhqsm%Dxx##H)+!# $ 88>vG 	G Gri   c                J   \         P                  ! R\        R7      pVP                  . 4       \        P
                  ! R\         P                  ! . RO4      RV/4      p\        P                  P                  V4      pVP                  4       p\        P                  ! WB4       R# )r   r   r   r   N)r   )r   re  3)r.   emptyr>   fillr,   r-   ra   rD   rF   rG   rH   rQ   rR   )r   empty_list_arrayrS   r  rY   s   &    r5   test_empty_list_roundtrip.TestConvertListTypes.test_empty_list_roundtrip	  st    88D7b!\\3 9 02 3hh""2&
f)ri   c                V   \        4       w  rV F  pWP                  ,          P                  p\        P                  ! \        V4      VP                  R 7      p\        P                  ! V4      pVP                  VP                  8X  g   Q hVP                  V4      '       d   K  Q h	  R# rz  )r   r`   rr   rD   ra   r+  r^   rI   )r   rS   r9   r   rg   rT   rY   s   &      r5   test_array_from_nested_arrays2TestConvertListTypes.test_array_from_nested_arrays	  sw    *,
EZZ.''CxxS	

;HXXc]F;;%**,,,==**** ri   c           
     .   \         P                  ! . R	O^..R.\         P                  ! \         P                  ! \         P                  ! 4       4      4      R7      P	                  4       p\
        P                  ! 4       ;_uu_ 4        \
        P                  ! RR\        4       \
        P                  ! RR\        4       \        P                  ! V\        P                  ! . R	O^..R.\        R7      RR7       RRR4       R#   + '       g   i     R# ; i)
r   Nr  r?   z&Creating an ndarray from ragged nestedr@   r   Frl   r   )rD   ra   rV  r   rH   rM   rN   rO   _np_VisibleDeprecationWarningrP   rQ   rc   r,   rb   r>   r  s   & r5   test_nested_large_list+TestConvertListTypes.test_nested_large_list	  s    XX	A3'.==rxxz)BCEik 	
 $$&&##H$L$AC ##H.M$68""299y1#.5VD!# '&&&s   A3DD	c           
     <   \         P                  \         P                  3 F  p\         P                  ! R R.RR.. .V! \         P                  ! 4       4      R7      P                  4       p\        P                  ! V\        P                  ! RR.RR.. .4      RR	7       \         P                  ! R R.RR.. .V! \         P                  ! 4       4      R7      P                  4       p\        P                  ! V\        P                  ! R R.RR.. .4      RR	7       K  	  R# )
rO  r  Nccr  s   aas   bbs   ccFrl   )rD   r  rV  ra   r  rH   rQ   rc   r,   rb   r  )r   list_type_factoryrd   s   &  r5   test_large_binary_list+TestConvertListTypes.test_large_binary_list	  s    "$((BMM!:D$<vr:01BCE)+  ""299uendUGR@A!# D$<vr:01BCE)+  ""299tTlD4&"=>!# ";ri   c                   \         P                  ! . RO4      P                  4       p\         P                  P	                  . ROV4      p\
        P                  ! VP                  4       4      p\        P                  ! VP                  4       V4       VP                  . RO4      pRV^&   \        P                  ! VP                  4       V4       R# )r   N)r   rs  Nr   )r   r   r   r   r   )r   r   Nr   )rD   ra   r  r  r   r,   rb   r  rQ   rc   rH   take)r   childrg   rT   s   &   r5   test_list_of_dictionary,TestConvertListTypes.test_list_of_dictionary	  s    45GGIll&&> 99S]]_-
s}}9 hh'
s}}9ri   c           
        Rp\         P                  P                  R\        \        P
                  ! VR	3RR7      4      R\        V4      /4      p\        P                  P                  V4      pVP                  RR7       V^ ,          pVP                  ^8X  g   Q h\        VP                  ^ 4      4      R
8X  g   Q h\        VP                  ^4      4      ^8X  g   Q hR# )r8   r   r   r   r   Tr  Ni    i   i )r,   r-   r:  r+  r.   zerosr2   rD   rF   rG   r  r  r   rl  )r   nrS   rX   column_as   &    r5   #test_auto_chunking_on_list_overflow8TestConvertListTypes.test_auto_chunking_on_list_overflow	  s     \\##bhh5z9:q%
  $$R(D!8""a'''8>>!$%2228>>!$%***ri   c                   RR.R.. ROR..p\         P                  ! RV/4      p\        P                  ! R\        P                  ! \        P
                  ! 4       \        P                  ! 4       4      3.4      p\        W#R7       R# )	rd  r  r  Nrd  r      br8      cr      dr      er   )   fr      gr   )r,   r-   rD   r9   r  r  r   r[   )r   r   rS   r9   s   &   r5   test_map_array_roundtrip-TestConvertListTypes.test_map_array_roundtrip	  sg    I&1
 \\5$-(UBGGBIIK$DEFG2ri   c                   RR.R.. ROR	..pV UUUu. uF   q" UUu. uF  w  r4W4^,          3NK  	  uppNK"  	  pppp\         P                  ! V\         P                  ! \         P                  ! 4       \         P                  ! 4       4      R7      p\         P                  ! V\         P                  ! \         P                  ! 4       \         P                  ! 4       4      R7      p\         P
                  ! Wg.4      p\        P                  ! W,           4      p	VP                  4       p
\        P                  ! WRR7       R# u uppi u upppi )
rd  r  Frl   Nr  r  r  r  r  )rD   ra   r  r  r   r  r,   rb   rH   rQ   rc   )r   r'  rowkrI  r)  arr1r  rg   rT   actuals   &          r5   test_map_array_chunked+TestConvertListTypes.test_map_array_chunked	  s    Y'2 :??#-1!e*-?xxBGGBIIK$DExxBGGBIIK$DE|,99U]+
vUC .?s   	EE E Ec                   RR.R. ROR..pV UUUu. uF.  q"e'   V UUu. uF  w  r4Y4e   \        V4      MR3NK  	  uppMRNK0  	  pppp\        P                  ! V4      p\        P                  ! V\        P
                  ! \        P                  ! 4       \        P                  ! 4       4      R7      pVP                  4       p\        P                  ! WuRR7       R# u uppi u upppi )	rd  Nr  Frl   r  r  )r  r  )r  Nr  )r  r,   rb   rD   ra   r  r  r   rH   rQ   rc   )r   r   r  r  rI  rT   rg   r  s   &       r5   test_map_array_with_nulls.TestConvertListTypes.test_map_array_with_nulls	  s    I&4 =AB<@S KNN#$!a]q=#N,01<@ 	 B99X&hht"''"))+rxxz"BC
vUC O Bs   C#C
C#C#c           	        \         P                  ! . RO4      p\         P                  ! . RO4      P                  4       p\         P                  ! \        \	        \        V4      4      4      4      p\         P                  P                  WV4      p\        P                  ! . RORR..4      pVP                  4       p\        P                  ! WeRR7       R# )	r   Frl   Nr   r   r   )r   r   r   r   r  ))r   r   )r   r   )r8   r   )r   r   )r   r  )rD   ra   r  r+  r2   r   r  r   r,   rb   rH   rQ   rc   )r   offsetsr  r  rg   rT   r  s   &      r5   !test_map_array_dictionary_encoded6TestConvertListTypes.test_map_array_dictionary_encoded
  s    ((9%23EEGxxU3u:./0kk%%gU; 99+h-ABD 
vUCri   c           	        \         P                  ! ^^.. R
OR^R.^^..4      p\         P                  ! VP                  ^ ^4      VP                  ^^4      .4      pVP	                  4       p\
        P                  ! RR.. RORR\
        P                  ..RR	7      p\        W44       F)  w  rVVf   WV8X  g   Q hK  \        P                  ! WV4       K+  	  \
        P                  ! RRRRRR\
        P                  ..4      p\        P                  ! V^ ,          P                  V4       VP                  ^^4      P	                  4       p\
        P                  ! . R
OR^\
        P                  ..RR	7      p\        W4       F)  w  rVVf   WV8X  g   Q hK  \        P                  ! WV4       K+  	  \
        P                  ! RRRR\
        P                  ..4      p\        P                  ! V^ ,          P                  V4       R# )r   Nr   r   r   r   r   r   r>   r   )r   r   r   )r   r   r   )rD   ra   r  r  to_numpyr.   rL   r  rw   rx   base)	r   rg   chunked_arrr1  rT   r  r  expected_basenp_arr_sliceds	   &        r5   test_list_no_duplicate_base0TestConvertListTypes.test_list_no_duplicate_base
  s   hhA	4!TQFCD&&		!Q1a'IJ%%'88b"X|TL*19;v0KD}}$}&&t3	 1 2r2r2r266"B!CDvay~~}=#))!Q/88:88Yq"&&k:(K}7KD}}$}&&t3	 8 2r2r266":!;<}Q/44mDri   c                   \         P                  P                  \         P                  ! . R
O4      \         P                  ! . RO4      \         P                  ! . RO4      R7      pVP	                  RR7      p\
        P                  ! RR.RR\
        P                  ..RR	7      p\        W#4       F)  w  rEVf   WE8X  g   Q hK  \        P                  ! WE4       K+  	  R# )r   NF)r  rr   rk   r  r   r   r   r>   r   r   r8   r   r   )r   r8   c   r  r   Nr  )
rD   r  r   ra   r  r.   rL   r  rw   rx   )r   rg   r1  rT   r  r  s   &     r5   test_list_values_behind_null1TestConvertListTypes.test_list_values_behind_null9
  s    ll&&HH\*8834./ ' 

 U388b"Xtb"&&\:(Kv0KD}}$}&&t3	 1ri   rW   c                <   VP                  \        P                  ! . RO4      \        P                  ! . RO4      \        P                  ! . RO4      R7      pVP                  4       p\        P
                  ! ^^.^^.^^..4      p\        P                  ! W44       R# )r   r  sizesrr   Nr  r8   r8   r8   r   r8   r   r   r   r   r   rD   ra   rH   r,   rb   rQ   rc   r   rW   rg   r  rT   s   &&   r5   .test_list_view_to_pandas_with_in_order_offsetsCTestConvertListTypes.test_list_view_to_pandas_with_in_order_offsetsH
  x    HHY'((9%88./   
 99q!fq!fq!f56
v0ri   c                <   VP                  \        P                  ! . RO4      \        P                  ! . RO4      \        P                  ! . RO4      R7      pVP                  4       p\        P
                  ! ^^.^^.^^..4      p\        P                  ! W44       R# )r8   r  N)r8   r   r   r  r  r  r  s   &&   r5   2test_list_view_to_pandas_with_out_of_order_offsetsGTestConvertListTypes.test_list_view_to_pandas_with_out_of_order_offsetsU
  r  ri   c                <   VP                  \        P                  ! . RO4      \        P                  ! . RO4      \        P                  ! . RO4      R7      pVP                  4       p\        P
                  ! . RO. RO. RO.4      p\        P                  ! W44       R# )	r   r  Nr  )r   r   r   r  r   )r8   r   r   r   )r   r   r   r   r  r  s   &&   r5   1test_list_view_to_pandas_with_overlapping_offsetsFTestConvertListTypes.test_list_view_to_pandas_with_overlapping_offsetsb
  sl    HHY'((9%88./   
 99lL,GH
v0ri   c           	     ~   VP                  \        P                  ! . RO4      \        P                  ! . RO4      \        P                  ! ^R.4      \        P                  ! . RO4      R7      pVP                  4       p\        P
                  ! ^\        P                  .. R.4      p\        P                  ! W44       R# )r   Nr  r  rr   rk   )r   r8   r8   )r8   r   r   rT  )
r   rD   ra   rH   r,   rb   r.   rL   rQ   rc   r  s   &&   r5   )test_list_view_to_pandas_with_null_values>TestConvertListTypes.test_list_view_to_pandas_with_null_valueso
  s    HHY'((9%88QI&./	   
 99q"&&k2t45
v0ri   c           	        \         P                  ! 4        \        P                  ! 4       pVP	                  \        P
                  ! . RO4      \        P
                  ! . RO4      \        P
                  ! . RO4      R7      pVP	                  \        P
                  ! . RO4      \        P
                  ! . RO4      \        P
                  ! . R	O4      \        P
                  ! . R
O4      R7      p\        P                  ! W4.4      pVP                  4       p\        P                  ! ^^.^^.^^.. RO^^\        P                  .R.4      p\        P                  ! Wg4       ????\        P                  ! 4       pW8X  g   Q hR# )r8   r  Nr  )r8   r   r   r  r   )r   r   r   )r   r   r   )r   r   r   NrT  )r   r   r   )gccollectrD   total_allocated_bytesr   ra   r  rH   r,   rb   r.   rL   rQ   rc   )	r   rW   bytes_startr  r  rg   r  rT   	bytes_ends	   &&       r5   (test_list_view_to_pandas_multiple_chunks=TestConvertListTypes.test_list_view_to_pandas_multiple_chunks}
  s   


..0  HHY'((9%88L) ! 

   HHY'((9%88O,./	 ! 
 |,99q!fq!fq!fi!QQUVW
v0,,.	'''ri   rB  )8r  r  r  r  r  rI  rL  rO  rR  rY  r\  ra  rf  ri  rm  rs  rv  r{  r~  r  r  r  r  r  r  r  r   r  r  rD   r   r  r1  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  ListViewArrayLargeListViewArrayr  r  r  r  r%  r  r  r  s   @r5   rC  rC  *  s    @&"
L
/,@/*2*0$$$/1)E$0"E5,5*%CN [[.HHVaS$A3	
 IIT]SE4(C5$	
 GGD\D64(D64 	
1 "G#"G
*+##: [[+ +	3DDDE<4 [[Wr'7'79N9N&OP
1 Q
1 [[Wr'7'79N9N&OP
1 Q
1 [[Wr'7'79N9N&OP
1 Q
1 [[Wr'7'79N9N&OP1 Q1 [[Wr'7'79N9N&OP( Q(ri   rC  c                      a  ] tR tRt o RtR tR tR tR tR t	]
P                  P                  ]
P                  P                  R 4       4       tR	 tR
 tR tRtV tR# )TestConvertStructTypesi
  z$
Conversion tests for struct types.
c           	     .   \         P                  ! R R^R^/R^R^/./4      p\        P                  ! R \        P                  ! R\        P
                  ! 4       3R\        P
                  ! 4       3.4      3.4      p\        WR7       \        WVR7       R# )r  r   r   r  rF  N)r,   r-   rD   r9   rW  r   r[   )r   rS   rU   s   &  r5   test_pandas_roundtrip,TestConvertStructTypes.test_pandas_roundtrip
  s    \\7c1c1%5QQ7G$HIJ))bii#rxxz!2S"((*4E FGH%
  	 D 	 	Iri   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\         P
                  P                  WV.. RO4      p\        P                  ! RR RRRR/R^RR RR/R^RRRR /.4      p\        P                  ! VP                  4       4      p\        P                  ! We4       R # )Nr  r   r   TFrr  r  rH  )Nr8   r   )r   Nr   TFN)rr  r  rH  )rD   ra   r   r  r  r  r   r,   rb   rH   rQ   rc   )r   rr  r  rH  rg   rT   r.  s   &      r5   test_to_pandas%TestConvertStructTypes.test_to_pandas
  s    xx288:6xx(ryy{;,288:>nn((%' 99T636Qgu5QWd3
  3==?+
v0ri   c                   \         P                  ! 4        \        P                  ! 4       p\        P                  ! ^.\        P
                  ! 4       R7      p\        P                  ! ^.\        P
                  ! 4       R7      p\        P                  P                  V.R.4      p\        P                  P                  V.R.4      p\        P                  ! WE.4      p\        P                  ! R^/R^/.4      p\        P                  ! VP                  4       4      p\        P                  ! W4       ??????\        P                  ! 4       p	W8X  g   Q hR# )r   r  rr  N)r   r!  rD   r"  ra   r   r  r   r  r,   rb   rH   rQ   rc   )
r   r#  ints1ints2r  r  rg   rT   r.  r$  s
   &         r5   test_to_pandas_multiple_chunks5TestConvertStructTypes.test_to_pandas_multiple_chunks
  s    


..0!288:.!288:.~~))5'F8<~~))5'F8<|,99QKQK
 
 3==?+
v0,,.	'''ri   c                   \         P                  ! R \         P                  3R\         P                  3.4      p\        P
                  ! \        P                  ! R \        P                  ! 4       4      \        P                  ! R\        P                  ! 4       4      .4      p\         P                  ! . VR7      p\        P                  ! W2R7      pVP                  4       . 8X  g   Q h\         P                  ! R	R
.VR7      p\        P                  ! W2R7      pVP                  4       R ^*RR/R ^+RR/.8X  g   Q h\        P                  ! V\         P                  ! RR.4      VR7      pVP                  4       R ^*RR/R.8X  g   Q h\         P                  ! . 4      p\        P
                  ! . 4      p\         P                  ! . VR7      p\        P                  ! W2R7      pVP                  4       . 8X  g   Q h\         P                  ! RR.VR7      p\        P                  ! W2R7      pVP                  4       / / .8X  g   Q hR# )r4   r  r   r  TFr  N)y_titler  )r7  T)+   FrB  )	r.   r   r   r  rD   rW  r   ra   r  r   r  rn  r   rg   s   &    r5   test_from_numpy&TestConvertStructTypes.test_from_numpy
  s   XXRXX("((35 6YYbhhj1bhhj13 4 xx"%hht%}}"$$$xx[1<hht%}}CS$#7$'S%#8#: : 	: : hht"((E4="9C}}CS$#7">>>> XXb\YYr]xx"%hht%}}"$$$xxR+hht%}}2r(***ri   c                L   \         P                  ! R \         P                  ! R\         P                  3R\         P                  3.4      3R\         P                  3R\         P
                  3.4      pVP                  \        P                  R8  d   ^M^8X  g   Q h\        P                  ! \        P                  ! R \        P                  ! \        P                  ! R\        P                  ! 4       4      \        P                  ! R\        P                  ! 4       4      .4      4      \        P                  ! R\        P                  ! 4       4      \        P                  ! R\        P                  ! 4       4      .4      p\         P                  ! . VR7      p\        P                  ! W2R7      pVP                  4       . 8X  g   Q h\         P                  ! RR.VR7      p\        P                  ! W2R7      pVP                  4       R R^RR/R^RR/R R^RR	/R^RR
/.8X  g   Q hR# )r4   xxyyr  zr   r  Tr   Frs  Nl        ))r   Tr8   r   ))r   Fr   rs  )r.   r   r   r  r   object_itemsizesysmaxsizerD   rW  r   r  ra   r  r:  s   &    r5   test_from_numpy_nested-TestConvertStructTypes.test_from_numpy_nested
  s   XXRXXbgg(,bhh'7'9 : ;RXXRZZ(* + {{S[[5%8ra@@@YYbii$	1J13$
1K1M 'N Obhhj1biik24 5
 xx"%hht%}}"$$$xx!"$+-/ hht%}}4D$'ae<4D%(#q#u=#? ? 	? ?ri   c                  a Rp\         P                  ! R\         P                  3R.4      pRVP                  ,
          pRV,          pWVP                  ,           ,          p\         P                  ! WRR7      p\         P
                  P                  V4      VR&   WFR&   \         P                  VR,          VR,          R8  &   \        P                  ! \        P                  ! R\        P                  ! 4       4      \        P                  ! R\        P                  ! 4       4      .4      p\        P                  ! WgRR7      pVP                  RR	7       VP                  ^8X  g   Q hR
 oRV3R llp	V	! W4       ?\         P
                  P                  V4      R8  p
\        P                  ! WgV
RR7      pVP                  RR	7       VP                  ^8X  g   Q hV	! WV
4       ?R# )r   r4   r  i      .r   r  Tr  r  c              3   T   "   V P                  4        F  pT R j  xL
  K  	  R #  L
5iry  )
iterchunks)rg   rl  s   & r5   iter_chunked_arrayHTestConvertStructTypes.test_from_numpy_large.<locals>.iter_chunked_array'  s"     )    * s   (&(Nc                   < \        V 4      \        V4      8X  g   Q hVR ,          pVR,          p\        S	! V 4      4       F  w  rV VP                  4       pVe   W%,          '       d	   Ve   Q hK0  W5,          p\        P                  ! V4      '       d   VR ,          e   Q hMVR ,          V8X  g   Q hVR,          WE,          8X  g   Q hK  	  R#   \
         d    \        RT4       h i ; i)r4   r  NzFailed at index)r   	enumerater  r.   r  	Exceptionprint)
rg   r   rk   xsysir  r  r4   rK  s
   &&&      r5   check;TestConvertStructTypes.test_from_numpy_large.<locals>.check+  s    s8s4y(((cBcB#$6s$;<		A'DGG y(yE88A;;#$S6>1>#$S6Q;.; v. = ! +Q/s   (C0ACC')r^   rk   rG   l        )r  r>   ry  )r.   r   r    rB  r  r0   random_samplerL   rD   rW  r   r  ra   r  r  )r   target_sizer  bsblockr  r   rn  rg   rT  rk   rK  s   &          @r5   test_from_numpy_large,TestConvertStructTypes.test_from_numpy_large  sp    "XXRZZ(/:;R[[ r	,-xx$II++A.S	S	%'VVS	$s)c/"YYbjjl3biik24 5hht$7$~~"""	!	( 	c yy&&q)C/hht4TB$~~"""cri   c                    \         P                  ! \         P                  ! R \         P                  ! 4       4      \         P                  ! R\         P                  ! 4       4      .4      p\
        P                  ! R \
        P                  3R\
        P                  3.4      p\
        P                  ! . VR7      p\        P                  ! \        RR7      ;_uu_ 4        \         P                  ! W1R7       RRR4       \
        P                  ! . 4      p\        P                  ! \        RR7      ;_uu_ 4        \         P                  ! W1R7       RRR4       R#   + '       g   i     Ll; i  + '       g   i     R# ; i)	r4   r  r@  r   zMissing field 'y'rU  r  NzExpected struct array)rD   rW  r   r   r  r.   r   ra   r   rP  rQ  rX  )r   rn  r  r   s   &   r5   test_from_numpy_bad_input0TestConvertStructTypes.test_from_numpy_bad_inputK  s    YYbhhj1bhhj13 4XXRXXRXX( ) xx"%]]:!46 6HHT#6 xx|]]9!8: :HHT#: :	6 6: : :s   E7E,E)	,E=	c                   \         P                  ! R RR./4      p\         P                  ! R R^R^/R^R^/./4      p\        P                  ! R\        P                  ! 4       3R\        P                  ! 4       3.4      p\
        P                  ! VR ,          4      p\        WBR ,          VR7       \        P                  ! R V3.4      p\        WVVR7       R# )tuplesr   r   r
  )rT   r9   rU   N)r   r8   )r   r   )
r,   r-   rD   rW  r   r.   asarrayrt   r9   r[   )r   rS   r  struct_typerg   rU   s   &     r5   test_from_tuples'TestConvertStructTypes.test_from_tuplesZ  s    \\8ff%567llaa(33*:;<> ii#rxxz!2S"((*4E FGjjH&h/k	C ))h%<$=>_+	-ri   c           	     F   R R.p\         P                  ! . RO4      P                  4       \         P                  ! . RO4      P                  4       .p\         P                  P	                  W!R7      p\        R V 4       !  pV Uu. uF  p\        \        W4      4      NK  	  pp\        P                  ! V4      p\        P                  ! VP                  4       V4       VP                  . RO4      pRV^&   \        P                  ! VP                  4       V4       R# u upi )rr  r  Nr   c              3   @   "   T F  qP                  4       x  K  	  R # 5iry  )r  ).0r  s   & r5   	<genexpr>CTestConvertStructTypes.test_struct_of_dictionary.<locals>.<genexpr>r  s     GhU00hs   )  i  rj  )r   r   N)r   Nr8   )rD   ra   r  r  r   r  r  r,   rb   rQ   rc   rH   r  )r   r   childrenrg   rows_as_tuplesr  rows_as_dictsrT   s   &       r5   test_struct_of_dictionary0TestConvertStructTypes.test_struct_of_dictionaryk  s     HH_-??AHH12DDFHnn(((? GhGH:HI.3c%o..I99]+
s}}9 hh|$
s}}9 Js   DrB  N)r  r  r  r  r  r,  r0  r5  r;  rE  r   r  slowr  rZ  r]  rc  rn  r  r  r  s   @r5   r*  r*  
  si     I1"(6+>?4 [[[[5  5n$-": :ri   r*  c                   l   a  ] tR tRt o RtR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tRtV tR# )TestZeroCopyConversioni~  z8
Tests that zero-copy conversion works with some types.
c                    \         P                  ! . RO4      P                  RR7      p\        P                  ! V. RO4       R# )r   Tr  Nr  rv   )r   rY   s   & r5   test_zero_copy_success-TestZeroCopyConversion.test_zero_copy_success  s.    )$..d.Cvy1ri   c                v   \         P                  P                  \        P                  ! ^ ^ .4      \        P                  ! ^.RR7      4      pVP                  RR7      p\        P                  ! ^^.4      p\        P                  ! \        P                  ! V4      \        P                  ! V4      RR7       R# )r   r   r   Tr  Frl   N)rD   rX  r   r.   ra   rH   r,   r  rQ   rc   rb   )r   rg   rY   rr   s   &   r5   test_zero_copy_dictionaries2TestZeroCopyConversion.test_zero_copy_dictionaries  s      ,,HHaVHHaS(

 d3A'
ryy0"))F2C+0	2ri   c                    \         P                  ! R .RR7      p\        P                  ! V4      P                  RR7      p\        P
                  ! W!4       R# )rq  r&   r   Tr  Nr.   ra   rD   rH   rw   rx   r   rg   rY   s   &  r5   test_zero_copy_timestamp/TestZeroCopyConversion.test_zero_copy_timestamp  s>    hh~-=>#(((=v+ri   c                    \         P                  ! ^.RR7      p\        P                  ! V4      P                  RR7      p\        P
                  ! W!4       R# )r   r'   r   Tr  Nrz  r{  s   &  r5   test_zero_copy_duration.TestZeroCopyConversion.test_zero_copy_duration  s>    hhs"34#(((=v+ri   c                    \         P                  ! \        P                  4      ;_uu_ 4        VP	                  R R7       RRR4       R#   + '       g   i     R# ; i)Tr  N)r   rP  rD   r  rH   r   rg   s   &&r5   check_zero_copy_failure.TestZeroCopyConversion.check_zero_copy_failure  s2    ]]2??++MMM. ,+++s   A

A	c                    \        \        P                  4      \        R 4      8  d*   V P                  \        P
                  ! . RO4      4       R# R# )3.0.0N)r
  BC)r   r,   rC  r  rD   ra   r  s   &r5   &test_zero_copy_failure_on_object_types=TestZeroCopyConversion.test_zero_copy_failure_on_object_types  s4    2>>"WW%55((/)BC 6ri   c                T    V P                  \        P                  ! . RO4      4       R# )r   N)r   r   Nr  rD   ra   r  s   &r5   *test_zero_copy_failure_with_int_when_nullsATestZeroCopyConversion.test_zero_copy_failure_with_int_when_nulls  s    $$RXXl%;<ri   c                T    V P                  \        P                  ! . RO4      4       R# )r	  N)r	  r   Nr  r  s   &r5   ,test_zero_copy_failure_with_float_when_nullsCTestZeroCopyConversion.test_zero_copy_failure_with_float_when_nulls  s    $$RXX.>%?@ri   c                T    V P                  \        P                  ! R R.4      4       R# r/  r  r  s   &r5   $test_zero_copy_failure_on_bool_types;TestZeroCopyConversion.test_zero_copy_failure_on_bool_types  s    $$RXXtUm%<=ri   c                    \         P                  ! ^^.^^	..\         P                  ! \         P                  ! 4       4      R7      pV P	                  V4       R# )r   r  N)rD   ra   r  r   r  r  s   & r5   $test_zero_copy_failure_on_list_types;TestZeroCopyConversion.test_zero_copy_failure_on_list_types  s<    hhAA'bhhrxxz.BC$$S)ri   c                    \         P                  ! ^R.RR7      pV P                  \        P                  ! V4      4       R# )r   Nr&   r   r.   ra   r  rD   r  s   & r5   .test_zero_copy_failure_on_timestamp_with_nullsETestZeroCopyConversion.test_zero_copy_failure_on_timestamp_with_nulls  s-    hh4y(89$$RXXc]3ri   c                    \         P                  ! ^R.RR7      pV P                  \        P                  ! V4      4       R# )r   Nr'   r   r  r  s   & r5   -test_zero_copy_failure_on_duration_with_nullsDTestZeroCopyConversion.test_zero_copy_failure_on_duration_with_nulls  s-    hh4y(9:$$RXXc]3ri   rB  N)r  r  r  r  r  rt  rw  r|  r  r  r  r  r  r  r  r  r  r  r  r  s   @r5   rr  rr  ~  sM     2
2,
,
/D
=A>*44 4ri   rr  c                  P    \        4       p \        V R R7       \        V R RR7       R# )Fr<   Tr=   rV   Nr6   r[   rS   s    r5   _non_threaded_conversionr    s     		BBE2BEDAri   c                  P    \        4       p \        V R R7       \        V R R R7       R# )Tr<   r  Nr  r  s    r5   _threaded_conversionr    s     		BBD1BD4@ri   c                   F  a  ] tR tRt o RtR]P                  ! 4       3R]P                  ! 4       3R]P                  ! 4       3R]P                  ! 4       3R]P                  ! 4       3R]P                  ! 4       3R	]P                  ! 4       3R
]P                  ! 4       3R]P                  ! 4       3R]P                  ! 4       3R]P                   ! 4       3R]P"                  ! 4       3R]P$                  ! 4       3R]P$                  ! ^
4      3R]P&                  ! ]P                  ! 4       4      3.tR tR tR tR t]P4                  P6                  ]P4                  P8                  R 4       4       tR tR tR t R t!]P4                  PE                  RR. R(O/]PF                  3R. R(O/]PF                  3R^R./]PF                  3RRR./]PH                  3R^R./]PH                  3RRR./]PH                  3.4      R 4       t%R t&R t'R t(R  t)R! t*R" t+R# t,R$ t-R% t.R&t/V t0R'# ))TestConvertMisci  z!
Miscellaneous conversion tests.
r   r   r   r   r   r   r   r   r  r   r    r>   c                P    \         P                  ! R . RO/4      p\        V4       R# )r   NNNNr  r   s   & r5   test_all_none_objects%TestConvertMisc.test_all_none_objects  s    \\3 234#ri   c                    \         P                  ! R . RO/4      pVR ,          P                  R4      VR &   \        V4       R# )r   Nr"  r  )r,   r-   rK  r[   r   s   & r5   test_all_none_category&TestConvertMisc.test_all_none_category  s4    \\3 234S'..,3#ri   c                &   V P                    F  w  r\        \        P                  4      \        R 4      8  d   V\        P
                  ! 4       8X  d   Rp\        P                  ! . \        P                  ! V4      R7      p\        W2R7       K  	  R# )r  r(   r   r  N)

type_pairsr   r,   rC  rD   r  r.   ra   r   rt   )r   	dtype_strpa_typerg   s   &   r5   test_empty_arrays!TestConvertMisc.test_empty_arrays  s]    "&//I'77+;;ryy{*!	((2RXXi%89C"35 #2ri   c                    \        4        R # ry  )r  r  s   &r5   test_non_threaded_conversion,TestConvertMisc.test_non_threaded_conversion  s     "ri   c                    \         P                  ! ^4      p VP                  \        4       VP	                  4        VP                  4        R#   TP	                  4        TP                  4        i ; i)r8   N)mpPoolapplyr  closejoin)r   pools   & r5   %test_threaded_conversion_multiprocess5TestConvertMisc.test_threaded_conversion_multiprocess  sK     wwqz	JJ+,JJLIIK JJLIIKs   A "A1c                Z   ^pRRRR\         P                  .p. ROpRRRR\         P                  .pR\        P                  ! W!,          4      R	\        P                  ! W!,          RR.R
7      R\        P                  ! W1,          4      R\        P                  ! WA,          4      R\        P                  ! W!,          . RORR7      RW1,          RW1,          RW!,          RW!,          RWA,          /
p\        P                  ! V4      p\        V4       V F  p\        WW,          4       K  	  R# )r   r   Nrs  r  r  r  r  cat_stringscat_strings_with_nar  cat_ints
cat_binarycat_strings_orderedTr  r)  rr  r4  r  strings2strings3)r   r   r   r   r_  )rs  r  r   )r.   rL   r,   r  r-   r[   rt   )r   r  r  r  v3r  rS   r  s   &       r5   test_categoryTestConvertMisc.test_category  s    T5%0dFFBFF3 2>>",7!2>>",>CU^$Mr|4"..6!2>>)>$ BLR\r|& \\&!#A"69- ri   c                    R  p\         P                  ! . RORR.R7      \         P                  ! . RORR.RR7      .pV F  pV! V4       K  	  R# )c                     \         P                  ! V 4      pVP                  4       p\        P                  ! \
        P                  ! V4      \
        P                  ! V 4      4       R # ry  )rD   ra   rH   rQ   rc   r,   rb   )rI  rg   rY   s   &  r5   _checkBTestConvertMisc.test_category_implicit_from_pandas.<locals>._check  s;    ((1+C]]_F""299V#4biilCri   r   r   r  Tr  Nr  )r,   r  )r   r  r  rg   s   &   r5   "test_category_implicit_from_pandas2TestConvertMisc.test_category_implicit_from_pandas  sM    	D NN?SzBNN?Sz#')

 C3K ri   c                t    \         P                  ! R \         P                  ! . 4      /4      p\        V4       R# )catN)r,   r-   r  r[   r   s   & r5   test_empty_category#TestConvertMisc.test_empty_category*  s&    \\5".."456#ri   c           	        \         P                  ! 4       R 3\         P                  ! 4       R33 EF  w  r\         P                  ! . \         P                  ! \         P
                  ! 4       V4      4      pVP                  4       p\        P                  ! . \        P                  ! . VR7      R7      p\        P                  ! \        P                  ! V4      \        P                  ! V4      4       \         P                  ! RV/4      pVP                  4       p\        P                  ! RV/4      p\        P                   ! WE4       EK  	  R# )r>   r   r   r  r   N)rD   r  r   r  
dictionaryr   rH   r,   r  r.   ra   rQ   rc   rb   rX   r-   rR   )r   r  r   r   rY   rT   rX   s   &      r5   test_category_zero_chunks)TestConvertMisc.test_category_zero_chunks/  s     "		X6W8MNNG  R]]2779g%FGA[[]F~~bRXXb5NOH""299V#4bii6IJHHc1X&E__&F||S(O4H!!&3 Ori   zdata,error_typer   Tr   c                    \         P                  ! V4      pR p\        P                  ! W$R7      ;_uu_ 4        \        P
                  P                  V4       RRR4       R#   + '       g   i     R# ; i)/Conversion failed for column a with type objectrU  N)r,   r-   r   rP  rD   rF   rG   )r   r   
error_typerS   rj  s   &&&  r5   test_mixed_types_fails&TestConvertMisc.test_mixed_types_fails<  sG     \\$?]]:11HH  $ 2111s    A""A3	c           
        . p. ROp^d^rC\         P                  P                  W44      P                  4       ^d,          p. R	OpV F_  p\        P
                  ! 4       ;_uu_ 4        \        P                  ! R4       VP                  VP                  V4      4       RRR4       Ka  	  TP                  \         P                  ! \        W4,          4       Uu. uF  p\        ^
4      NK  	  up\        R7      P                  W44      P                  4       4       \         P                  ! . R
OV,          \        R7      P                  W44      P                  4       p	RV	^&   VP                  V	4       VP                  \         P                  ! RW4,          RR7      P                  W44      P                  4       4       V^ 8  P                  \        4      R,          p
V FE  p\         P"                  ! WR7      pVR ,          p\%        V4       \'        V4       \'        WR7       KG  	  R#   + '       g   i     EK  ; iu upi )r   r?   Nr   r"   r$   r   r?  r  )
r  r  r  r  r  r  r  r  r  r  rv  ):NNNr   )r.   r0   r1   rq   rM   rN   r   r  rK  ra   r2   r   r>   reshaper/   r!   r,   r-   r[   rt   )r   casesrJ   NKrandom_numbersnumeric_dtypes	type_namerS  boolean_objectsstrided_maskcaserS   rZ   s   &             r5   test_strided_data_import(TestConvertMisc.test_strided_data_importM  s   !A1.335;& (I((**%%h/^229=> +* ( 	RXXquFA|B/F$*,gamDDF	,
 88$7!$;6J#GAM$$& 	 "_%RYY8!%%57gamDDF	, '*2248>Dd4BS'C#B'"3'"3: / +**
 Gs   $7H&H;&H8c                6   R  pV! \         P                  ! R.^,          \        R7      4       V! \         P                  ! \        P                  .^,          \        R7      4       V! \         P                  ! R\        P                  R.\        R7      4       R# )c                     \         P                  ! V 4      p\        V\         P                  4      '       g   Q h\	        V4      ^8X  g   Q hVP
                  ^8X  g   Q hV F  pV\         P                  J d   K  Q h	  R# )r   N)rD   ra   r   	NullArrayr   ro   r/  )rd   r  items   &  r5   _check_series5TestConvertMisc.test_all_nones.<locals>._check_seriesy  sf    Ii6666y>Q&&&''1,,,!ruu}$} "ri   Nr   )r,   rb   r>   r.   rL   )r   r  s   & r5   test_all_nonesTestConvertMisc.test_all_nonesx  s]    	% 	bii
&9:bii1F;<biirvvt 4FCDri   c           	        \        R . RO3R\        P                  ! . RO\        P                  R7      3R. RO3.4      p\        P
                  ! V4      p\        P                  ! \        P                  ! R\        P                  ! 4       4      \        P                  ! R \        P                  ! 4       4      .4      p\        W#VRR .,          VR7       R# )r   r   r   r   )r9   rT   rU   N)r   r   r8   r   r   )ir   r   rC  )r   r.   ra   r   r,   r-   rD   r9   r   r   r[   )r   r   rS   partial_schemas   &   r5   test_partial_schema#TestConvertMisc.test_partial_schema  s    /""((.bhh?@%&
 
 \\$HHS"((*%HHS"((*%$
 
 	 )+S#J0>	@ri   c                ^   \         P                  ! / 4      p\        VR R7       \        VR RR7       \         P                  ! \         P                  ! . 4      R7      p\        WRR7       \        WRRR7       \         P                  ! / . ROR7      p\        VRR7       \        VRRR7       R # )	Nr   T)r:   rV   r   Fr   )rV   r:   r  )r,   r-   r[   r   )r   rS   rT   r   s   &   r5    test_table_batch_empty_dataframe0TestConvertMisc.test_table_batch_empty_dataframe  sx    \\"484$G<<5UCUTRll2Y/D9d4Hri   c           
        \         P                  ! . \         P                  ! 4       R 7      p\        P                  ! \
        P                  ! . \        R7      4      p\        P                  ! VP                  4       \        P                  ! \
        P                  ! . \
        P                  R7      4      4       \         P                  ! . \         P                  ! \         P                  ! 4       4      R 7      p\        P                  ! VP                  4       V4       \         P                  ! . \         P                  ! \         P                  ! R\         P                  ! 4       4      .4      R 7      p\        P                  ! VP                  4       V4       \         P                  ! . \         P                  ! 4       R 7      p\        \        P                  4      \        R4      8  dD   \        P                  ! . \         R7      p\        P                  ! VP                  4       V4       R# \        P                  ! VP                  4       V4       R# )r  r   r   r  N)rD   ra   r   r,   rb   r.   r>   rQ   rc   rH   r  rW  r   r  r   rC  r(   )r   rg   empty_objectsr*   s   &   r5   test_convert_empty_table(TestConvertMisc.test_convert_empty_table  sC   hhr
+		"((2V"<=
s}}!yy"BHH)EF	Hhhr 45
s}}>hhr		288C+D*E FG
s}}>hhr		,2>>"gg&66		"C0I""3==?I>""3==?MBri   c                   \         P                  ! R\         P                  3R\         P                  3.4      p\         P                  ! RR	.VR7      pVP
                  R
8X  g   Q h\        P                  ! VR,          \        P                  ! 4       R7      pVP                  4       ^*R.8X  g   Q h\        P                  ! VR,          \        P                  ! 4       R7      pVP                  4       R^.8X  g   Q hR# )z\
ARROW-2172: converting from a Numpy array with a stride that's
not a multiple of itemsize.
r4   r  r   r  NrW  )r7  rW  )r  r8   )r   )r.   r   r   r   ra   rr  rD   r  )r   r   r   rg   s   &   r5   test_non_natural_stride'TestConvertMisc.test_non_natural_stride  s    
 3/C?;<xx8,E:||t###hhtCyrxxz2}}2s)+++hhtCyrxxz2}}2q')))ri   c                :   \         P                  ! ^ ^
\         P                  R7      ^R^1,          p\        P                  ! V\        P
                  ! 4       R7      p\        P                  ! . RO\        P
                  ! 4       R7      pVP                  V4       R# )r   r   r  NrW  )r   r   r   g      @)r.   r/   r   rD   ra   r    rI   )r   r1  pa_arrrT   s   &   r5   #test_array_from_strided_numpy_array3TestConvertMisc.test_array_from_strided_numpy_array  s\    1b

3AbF;&rzz|4880rzz|Dhri   c           
        \         P                  ! R \        R4      R\        P                  ! ^ ^^4      /4      p\
        P                  ! \
        P                  ! R \
        P                  ! 4       4      \
        P                  ! R\
        P                  ! 4       4      .4      p\        P                  ! \        4      ;_uu_ 4        \
        P                  P                  WR7       RRR4       \
        P                  P                  WRR7      pVP                  R4      P                   \
        P                  ! 4       8X  g   Q hR#   + '       g   i     Lh; i)r
  abcr  r  NFr  )r,   r-   r+  r.   linspacerD   r9   r   r  r   r   rP  rQ  rF   rG   ri  r^   r  s   &   r5   test_safe_unsafe_casts&TestConvertMisc.test_safe_unsafe_casts  s    \\eQ1%
 
 HHS"))+&HHS"((*%
 
 ]]:&&HH   3 ' $$RU$C||C %%333	 '&s   !EE	c           	         \         P                  ! R \         P                  P                  ^\        P
                  ^.4      /4      p\        P                  ! \        RR7      ;_uu_ 4        \        P                  P                  V4       RRR4       R#   \         dA    \         P                  ! R \         P                  ! ^\        P
                  ^.4      /4      p Li ; i  + '       g   i     R# ; i)r   zSparse pandas datarU  N)r,   r-   r  SparseArrayr.   rL   AttributeErrorr   rP  rX  rD   rF   rG   r   s   & r5   test_error_sparse!TestConvertMisc.test_error_sparse  s    	EsBII$9$91bffa.$IJKB ]]9,@AAHH  $ BA  	EsBNNArvvq>$BCDB	E BAAs   AB , C$AC! C!$C5	rB  N)r   r   r   )1r  r  r  r  r  rD   r   r   r   r   r   r   r   r   r  r   r    r  r  r  r  r  r  r  r  r   r  	processes	threadingr  r  r  r  r  r  rW  r  r  r  r  r  r  r  r  r  r  r  r  r  r  s   @r5   r  r    s'    
 
	"((*	"((*	"((*	"((*	299;	299;	299;	BJJL!	BJJL!	BJJL! 
299;	299;	299R=!	288BHHJ'(#J($$
6# [[[[  .4$
4 [[=!2#4#45=!2#4#45At9r001D#;1As8_boo.C:0	

%
%);VE@"IC$* 4$% %ri   r  c                  ,   \         P                  ! . RO4      p \        P                  P	                  V \        P
                  ! 4       RR7      p\        P                  ! . RO\        P
                  ! 4       R7      pVP                  V4      '       g   Q hR# )r   NTr^   rV  r  )r   r8   Nr   )r,   rb   rD   r  rG   r   ra   rI   )rr   rg   rT   s      r5   *test_safe_cast_from_float_with_nans_to_intr    s\    YY'F
((

vBHHJT

BCxxbhhj9H::hri   c                     \         P                  P                  \         P                  ! R ^R7      P	                  ^4      \
        P                  ! \
        P                  ! RR.\        R7      ^4      .4      p \         P                  ! R ^
R7      p^ V^VP                  R4      ^VP                  R4      ^VR,          P                  R4      P	                  ^4      P                  R4      ^RR.^,          ^\         P                  ! RR.^,          4      P                  R4      P                  ^R	R
.^,          ^\
        P                  P                  ^
4      ^\
        P                  P                  ^ ^d^
R7      ^	\         P                   ! R^
RR7      ^
\         P"                  ! ^^^
R7      /p\         P$                  ! W R7      # )r  )r   r   rs  r   r  r  r5  r"  TFr  2013Mr   r   )r<  r   r   r   )r,   r   r   r   repeatr.   tilera   r>   r  rK  rb   rr   r0   r1   r  period_rangeinterval_ranger-   )r   r  r   s      r5   _fully_loaded_dataframe_exampler     s]   MM%%
lA.55a8
%v6:' E
 
|R	0B	2	2>>% 	2>>,'	2c7u%,,Q/66zB	E5>A	299eU^a'(//
;BB	D%=1	299??2	299Q"-	2??62C8
BAAr:D <<**ri   rJ   r  r   c                    \         P                  ! V R 7      p\        P                  P	                  V4      p\        P                  P	                  VP                  4       4      pVP                  V4      '       g   Q hVP                  P                  VP                  4      '       g   Q hVP                  P                  VP                  P                  8X  g   Q hR# )r   N)	r,   r-   rD   rF   rG   rH   rI   r9   r'  )rJ   rS   table1table2s   &   r5   !test_roundtrip_with_bytes_unicoder$    s    	g	&BXX!!"%FXX!!&"2"2"45F==    ==....==!!V]]%;%;;;;ri   c                     V R ,          pV R ,          p V ^<,          pV ^<,          p V ^<,          pV ^<,          p\        WCW!4      # )rB  )r   )valr  secondsminutesr  s   &    r5   _pytime_from_microsr)    sE    =LGOCBhGBJCBhG2IE66ri   c                     V P                   R ,          V P                  R,          ,           V P                  R,          ,           V P                  ,           # )l    $'- i rB  )hourminuter  rA  )pytimes   &r5   rD  rD    sE    KK*$MMH$%MMG#$   ri   c                  &    ! R  R4      p \         P                  ! RV ! 4       V ! 4       ./4      pRp\        P                  ! \        VR7      ;_uu_ 4        \
        P                  P                  V4       RRR4       R#   + '       g   i     R# ; i)c                       ] tR tRtRtR# )6test_convert_unsupported_type_error_message.<locals>.Ai#  rB  Nr  rB  ri   r5   r
  r0  #  s    ri   r
  r   r  rU  N)r,   r-   r   rP  rQ  rD   rF   rG   )r
  rS   rj  s      r5   +test_convert_unsupported_type_error_messager1    s`      
sQS!#J'	(B
;C	z	-	-
R  
.	-	-	-s    A??B	c                     V P                  4       p\        P                  ! WP                  R R7      pVP	                  V 4      '       g   Q hR# )Tr  N)rH   rD   ra   r^   rI   )rg   rd   r   s   &  r5   test_array_to_pandas_roundtripr3  1  s6    Axxd;H??3ri   c                 b    \        V 4       Uu. uF  p\        ^
4      NK  	  ppW1,          # u upi )rC  )r2   r   )nuniquer  rS  unique_valuess   &&  r5   _generate_dedup_exampler7  <  s,    (-g71U2YM7"" 8s   ,c                 f    \        V  Uu0 uF  p\        V4      kK  	  up4      V8X  g   Q hR # u upi ry  )r   r  )r  rT   r4   s   && r5   _assert_nuniquer9  A  s+    s#s!1s#$000#s   .c                     \         P                  ! 4       '       d   \        P                  ! R 4       ^dp ^
p\	        W4      p\
        P                  ! V\
        P                  ! 4       R7      \
        P                  ! V\
        P                  ! 4       R7      \
        P                  ! W".4      3 FB  p\        VP                  4       V 4       \        VP                  RR7      \        V4      4       KD  	  R# )Dpandas uses string dtype and not object dtype, keyword has no effectr  Fdeduplicate_objectsN)r   r  r   r  r7  rD   ra   r  r  r  r9  rH   r   )r5  r  rr   rg   s       r5   .test_to_pandas_deduplicate_strings_array_typesr>  E  s    $$&&R	
 GG$W6Fbiik2bggi0  &!124 	1%@#c(K	4ri   c                     \         P                  ! 4       '       d   \        P                  ! R 4       ^dp ^
p\	        W4      p\
        P                  ! V4      p\
        P                  P                  V.R.4      p\
        P                  P                  V.4      pWE3 FP  p\        VP                  4       R,          V 4       \        VP                  RR7      R,          \        V4      4       KR  	  R# )r;  r   Fr<  N)r   r  r   r  r7  rD   ra   rE   r   rF   rY  r9  rH   r   )r5  r  rr   rg   r  r  r  s          r5   .test_to_pandas_deduplicate_strings_table_typesr@  U  s    $$&&R	
 GG$W6F
((6
C		#	#SEE7	3B
((


%Cy.8%@GC	" ri   c                  N   ^dp ^
p\        \        P                  P                  RRV R7      4      pRW ^,          &   \        P
                  ! W!,          4      p\        VP                  RR7      V 4       \        VP                  RRR7      V ^,
          V,          ^,           4       R# )	r  i i ʚ;r  NTr  F)r  r=  )r+  r.   r0   r  rD   ra   r9  rH   )r5  r  r6  rg   s       r5   .test_to_pandas_deduplicate_integers_as_objectsrB  h  s    GG **8Zg*NOM"&MQ,
((=*
+CCMMtM<gFCMMt6; " = q[G+a/1ri   c                  ^   ^dp ^
p\        \        V 4      4      pRRRR/3RRRR/3RR/ 3RR/ 3.pV Fx  w  rEp\        P                  ! W!,          VR	7      pVP	                  V4      p\        VP                  ! R/ VB V 4       \        VP                  ! RR
R/VB \        V4      4       Kz  	  R# )r  r   r  r  Tr   r  rR  rP  r  r=  FNrB  )r+  r2   rD   ra   r  r9  rH   r   )	r5  r  r6  r  raw_type
array_typepandas_optionsraw_arr
casted_arrs	            r5   $test_to_pandas_deduplicate_date_timerI  y  s    GGw(M 
(-t45	(-t45	,#	,#E 16,n((=2B\\*-

,,>~>	!
,, ? ?/=?J	) 16ri   c            	         \         P                  ! R . ROR\        P                  RR./4      p \        P
                  ! \        P                  ! R \        P                  ! 4       RR7      \        P                  ! R\        P                  ! 4       RR7      .4      p\        P                  ! \        4      ;_uu_ 4        \        P                  P                  WR7       RRR4       R#   + '       g   i     R# ; i)	r   r   r  r   Fr   r  N)333333?g @r  )r,   r-   r.   rL   rD   r9   r   r    r  r   rP  rQ  rF   rG   )rS   r9   s     r5   /test_table_from_pandas_checks_field_nullabilityrL    s    	sORVVXu57 
8BYYbjjlUCbggi%@B CF 
z	"	"
R/ 
#	"	"	"s   <!C''C8	c            
      D   \         P                  ! \        R . RO3R. RO^^.RR.3R. RO3.4      4      p V . R	O,          p\        P                  ! R \        P
                  ! 4       3R\        P                  ! \        P
                  ! 4       4      3R\        P                  ! 4       3.4      p\        P                  ! R\        P                  ! 4       3R \        P
                  ! 4       3R\        P                  ! \        P
                  ! 4       4      3.4      p\        P                  P                  V RR7      p\        P                  P                  VRR7      pVP                  P                  V4      '       g   Q hVP                  P                  V4      '       g   Q hR# )
	partitionr  Nrc  Fr   r   r   r   r   r  NNr   gffffff
@rc  rN  r  )r,   r-   r   rD   r9   r   r  r    rF   rG   rI   )df1r   schema1schema2r"  r#  s         r5   6test_table_from_pandas_keeps_column_order_of_dataframerU    sG   
,,{	l#	I1vtT23	)*$  C
 /
0Cii	bhhj!	288BHHJ'(	2::<  G
 ii	2::< 	bhhj!	288BHHJ'( G XX!!#e!<FXX!!#e!<F==((((==((((ri   c            
         \         P                  ! \        R . RO3R. RO^^.RR.3R. RO3.4      4      p \        P                  ! R\        P
                  ! 4       3R\        P                  ! \        P                  ! 4       4      3R \        P                  ! 4       3.4      pW P                  ^ 8H  ,          pW P                  ^8H  ,          . R	O,          p\        P                  P                  W!RR7      p\        P                  P                  W1RR7      pVP                  P                  V4      '       g   Q hVP                  P                  VP                  4      '       g   Q hR# )
rN  r  Nrc  Frk  rO  r  rP  rQ  )r,   r-   r   rD   r9   r    r  r   rN  rF   rG   rI   )rS   r9   rR  r   r"  r#  s         r5   3test_table_from_pandas_keeps_column_order_of_schemarW    s    	k	l#	I1vtT23	)*#  
B YY	2::< 	288BHHJ'(	bhhj! F \\Q
C
\\Q
 A
BCXX!!#U!KFXX!!#U!KF==''''==....ri   c            
         \         P                  ! \        R . RO3R. RO^^.RR.3R. RO3.4      4      p . R	Op\        P                  ! R\        P
                  ! \        P                  ! 4       4      3R\        P                  ! 4       3R \        P                  ! 4       3.4      pRR .p\        P                  ! R\        P                  ! 4       3R \        P                  ! 4       3.4      p\        P                  P                  WRR7      p\        P                  P                  WRR7      pVP                  P                  V4      '       g   Q hVP                  P                  V4      '       g   Q hR# )
rN  r  Nrc  F)rJ   r:   rO  r  rP  )r  rc  rN  )r,   r-   r   rD   r9   r  r   r    rF   rG   rI   )rS   columns1rS  columns2rT  r"  r#  s          r5   ;test_table_from_pandas_columns_argument_only_does_filteringr[    s4   	k	l#	I1vtT23	)*#  
B 1Hii	288BHHJ'(	2::< 	bhhj! G +&Hii	2::< 	bhhj! G
 XX!!"u!MFXX!!"u!MF==((((==((((ri   c            
         \         P                  ! \        R . RO3R. RO^^.RR.3R. RO3.4      4      p \        P                  ! R \        P
                  ! 4       3R\        P                  ! \        P
                  ! 4       4      3R\        P                  ! 4       3.4      pRR.p\        P                  ! \        4      ;_uu_ 4        \        P                  P                  WVR7       RRR4       R#   + '       g   i     R# ; i)rN  r  Nrc  )r9   rJ   rO  r  rP  )r,   r-   r   rD   r9   r   r  r    r   rP  rQ  rF   rG   )rS   r9   rJ   s      r5   @test_table_from_pandas_columns_and_schema_are_mutually_exclusiver]    s    	k	l#	I1vtT23	)*#  
B
 YY	bhhj!	288BHHJ'(	2::<  F
 "G	z	"	"
R@ 
#	"	"	"s   "C33D	c                     \         P                  ! R . RO/4      p \        P                  ! \        P                  ! R \        P
                  ! 4       RR7      .4      p\        P                  P                  V 4      pVP                  P	                  R 4      P                  RJ g   Q h\        P                  P                  WR7      pVP                  P	                  R 4      P                  RJ g   Q hR# )r   Fr   Tr  Nr   )	r,   r-   rD   r9   r   r   rF   rG   r  rS   r9   rX   s      r5   /test_table_from_pandas_keeps_schema_nullabilityr`    s    	sL)	*BYY
bhhj51 F HH  $E<<c"++t333HH   3E<<c"++u444ri   c                  n   \         P                  ! R . ROR. RO/4      p \        P                  ! R \        P                  ! 4       3R\        P
                  ! 4       3R\        P                  ! 4       3.4      p\        P                  ! \        RR7      ;_uu_ 4        \        P                  P                  WR7       RRR4       RV P                  n        \        WRVR7       \        P                  ! \        R	R7      ;_uu_ 4        \        P                  P                  WR
R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        P                  P                  WRR7       RRR4       \         P                  ! . RORR7      V n        \        WRVR7       \        WRVR7       \        P                  ! R\        P                  ! 4       3R \        P                  ! 4       3R\        P
                  ! 4       3.4      p\        WRVR7       \        WRVR7       \        P                  ! R \        P                  ! 4       3R\        P
                  ! 4       3.4      pV P!                  4       pVP#                  RR7      p\        WRWR7       \        WRWR7       \         P$                  P'                  . RORR.R7      V n        \        P                  ! R\        P(                  ! 4       3R\        P                  ! 4       3R \        P                  ! 4       3R\        P
                  ! 4       3.4      p\        WRVR7       \        WRVR7       \        P                  ! R\        P                  ! 4       3R \        P                  ! 4       3R\        P
                  ! 4       3.4      pV P!                  4       pVP#                  RRR7      p\        WRWR7       \        WRWR7       R#   + '       g   i     ELH; i  + '       g   i     EL; i  + '       g   i     EL; i)r   r   r   zname 'index' present in therU  r  NT)r9   r:   rU   z'preserve_index=False' wasFrk  z=name 'index' is present in the schema, but it is a RangeIndexr_   r  )r9   r:   rU   rT   level1level2r   r   r  r  ))r   r   )r   r8   )r   r   )r,   r-   rD   r9   r   r    r   rP  KeyErrorrF   rG   r   r`   r[   rQ  r   rq   r  r   from_tuplesr  )rS   r9   rT   s      r5   +test_table_from_pandas_schema_index_columnsrf    sU   	sIsO<	=BYY	bhhj	bjjl	"((* F 
x'D	E	E
R/ 
F BHHM Bd,24 
z)E	F	F
RuE 
G
 
z *J 
K 
K
RtD
K xx	0BH Bd,24Bd,24 YY	"((*	bhhj	bjjl F
 Bd,24Bd,24
 YY	bhhj	bjjl F wwyH###.HBd,2GBd,2G }}(()G08(/C ) EBHYY	299;	288:	bhhj	bjjl	 F Bd,24Bd,24 YY	288:	bhhj	bjjl F
 wwyH##H4#8HBd,2GBd,2GW 
F	E	E 
G	F	F

K 
K 
Ks$   !O;"P"P#;P	P 	#P4	c                     \         P                  ! R . R	OR. R
O/4      p \        P                  ! R \        P                  ! 4       3R\        P
                  ! 4       3R\        P                  ! 4       3.4      p\        P                  P                  V RR7      p\        P                  P                  V RVR7      pVP                  P                  4       P                  V4      '       g   Q h\         P                  ! R . R	OR. R
O/. ROR7      p \        P                  P                  V 4      p\        P                  P                  WR7      pVP                  P                  4       P                  V4      '       g   Q hR# )r   r   r  Tr   )r:   r9   r   r  Nr   r  r  )r,   r-   rD   r9   r   r    SchemarG   rF   r  rI   )rS   rU   r9   rX   s       r5   :test_table_from_pandas_schema_index_columns__unnamed_indexri  e  s   	sIsO<	=Bii	bhhj	bjjl	bhhj)! O YY""2d";FHH  D HE<<'')00AAAA 
sIsO<I	NBYY""2&FHH   3E<<'')00AAAAri   c                  (   \         P                  ! 4       p \        P                  P	                  V 4      P                  R R/4      p\        P                  P	                  WR7      pVP                  P                  P                  R4      R8X  g   Q hR# )metaTruer  s   metas   TrueN)
r,   r-   rD   rh  rG   rG  rF   r9   r'  getr_  s      r5   2test_table_from_pandas_schema_with_custom_metadatarn  z  sk    	BYY""2&44ff5EFFHH   3E<<  $$W-888ri   c                     \         P                  ! R \         P                  ! RR^R7      R\        P                  P                  ^4      /4      p \        P                  ! \        P                  ! R\        P                  ! 4       RR7      \        P                  ! R \        P                  ! RRR	7      R
R7      .4      p\        P                  P                  WR7      pVP                  P                  V4      '       g   Q hVP                  P                  R,          ^ ,          pVR,          R8X  g   Q hVR,          e   Q hVP                  P                  R,          ^,          pVR,          R 8X  g   Q hVR,          RR/8X  g   Q hVP                  4       pRR/p\!        \         P"                  4      \!        R4      8  d   RVR &   V RR .,          P%                  V4      p\&        P(                  ! WW4       R# )r   z2020-01-01T00:00:00Zr  )r   r   r  Tr   rd   r  r  Fr  rJ   r`   r'  Nr   r   r;  zdatetime64[s, UTC])r,   r-   r   r.   r0   r1   rD   r9   r   r   r  rF   rG   rI   r  rH   r   rC  rK  rQ   rR   )rS   r9   rX   metadata_floatmetadata_datetimerY   coerce_cols_to_typesrT   s           r5   2test_table_from_pandas_schema_field_order_metadatars    s    
BMM"8sAN# 
B
 YY
"**,6
R\\#%85I F
 HH   3E<<v&&&&\\11)<Q?N&!W,,,*%---44Y?BV$
222Z(Z,????__F#Y/r~~''"22+?Z(7J'(//0DEH&+ri   c                  r   \         P                  ! R \        P                  ! . R	ORR7      R\        P                  ! . R	ORR7      R\        P                  P                  ^4      R. R
OR. RO/4      p \        P                  P                  V 4      pVP                  4       p\        P                  ! W4       R# )r  r   r   r  r   c3c4Nc5r   r8   r   r   r   )r   rs  Nr  r  )FTFTF)r,   r-   r.   ra   r0   r1   rD   rE   rG   rH   rQ   rR   )r   r]  rY   s      r5   test_recordbatch_from_to_pandasry    s    <<bhhg6bhhh7biiooa 0/ D NN&&t,E__F$'ri   c                     \         P                  ! R \        P                  ! . RORR7      R\        P                  ! . RORR7      R. ROR. RO/4      p \         P                  ! R \        P                  ! ^^.RR7      R\        P                  ! R	R
.RR7      RRR.RRR./4      p\        P
                  P                  V 4      p\        P
                  P                  V4      p\        P                  P                  W#.4      pVP                  4       p\         P                  ! W.4      P                  RR7      p\        P                  ! We4       R# )r  r   r   r  r    ru  TNrv  r   r   r  r  r  )r   r   r8   r   )TNF)r   rs  N)r,   r-   r.   ra   rD   rE   rG   rF   rY  rH   rq  r  rQ   rR   )r'  r)  batch1batch2rX   rY   r   s          r5   test_recordbatchlist_to_pandasr}    s	   LLbhhy1bhhi8!"	 E LLbhh1vX.bhhSz3tTluen	 E ^^''.F^^''.FHH!!6"23E__F99e^$00d0;D$'ri   c                  f   \         P                  ! \         P                  ! . RO4      .R.R7      p \         P                  ! \         P                  ! . RO4      .R.R7      pV ^ ,          P	                  4       P
                  R8X  g   Q hV^ ,          P	                  4       P
                  R8X  g   Q hR# )r   a0r   Nr   )rD   record_batchra   rX   rH   r`   )r  r  s     r5   *test_recordbatch_table_pass_name_to_pandasr    s|    	"((<01$	@B
"((<()$8Aa5??!!T)))Q4>>  D(((ri   r  r!   r   r   r   r   r   r   r   r   r  r   r    r   rz  )lengthr2  zlist[list[int16]]r   r  r   r8  r  r?  rd   r   c                 *    \        V 4      V8X  g   Q hR # ry  )r   r^   rT   s   &&r5   test_logical_typer    s    < D!X---ri   c            	         R p \         P                  ! \        P                  ! V \        P                  R7      \        P
                  P                  ^ ^V R7      P                  \        P                  4      R7      p\        P                  ! 4        \         P                  ! 4       pVP                  4       p\         P                  ! 4       W ^,          ,           8X  g   Q hRp\        P                  ! 4        \         P                  ! 4       V8X  g   Q h\         P                  ! \        P                  ! V \        P                  R7      4      p\         P                  ! 4       pVP                  4       p\         P                  ! 4       V8X  g   Q hR# )'  r   r  r?  N)rD   ra   r.   r/   r   r0   r  rK  r  r   r!  r"  rH   )r  rg   prior_allocationr4   s       r5   test_array_uses_memory_poolr    s
   A
((299Qbhh/		))!QQ)7>>rxxHJC JJL//1A##%*:U*BCCCAJJL##%)9999 ((299Qbhh/
0C//1A##%)9999ri   c            	         \         P                  ! \         P                  ! \        P                  ! R \        P
                  R7      4      .R.4      p \        V RR7       \         P                  ! 4       pV P                  4       pVR,          P                  P                  P                  '       g   Q h\         P                  ! 4       V8  g   Q hR# )r?  r   rU  Tsplit_blocksN)rD   rX   ra   r.   r/   r   !_check_to_pandas_memory_unchangedr"  rH   _valuesflags	writeable)r  r  rY   s      r5   test_singleton_blocks_zero_copyr    s    
"((299T:;<tfEA &ad;//1[[]F$<%%/////##%(8888ri   c                 X   \         P                  ! 4       pV P                  ! R/ VB p\        P                  ! 4       '       dL   \        ^VP                  P                  ^,          4      p\         P                  ! 4       W$,           8:  g   Q hR# \         P                  ! 4       V8X  g   Q hR# )   NrB  )rD   r"  rH   r   r  r!  rJ   nbytes)r  kwargsr  r4   max_index_allocations   &,   r5   r  r  $  s    //1A $$&&  #3		(8(81(<='').>.UVVV'')-====ri   c                     \         P                  ! \         P                  ! . RO^d,          RR7      \         P                  ! . RO^d,          RR7      \         P                  ! . RO^d,          RR7      \         P                  ! . RO^d,          RR7      \         P                  ! . RO^d,          RR7      \         P                  ! . RO^d,          RR7      \         P                  ! . RO^d,          RR7      \         P                  ! . RO^d,          RR7      .\        ^4       U u. uF  p RV  2NK
  	  up 4      p\	        V^4       \        VRR	7       R
# u up i )r   r  r  r  r  r  r  r  Tr  Nrx  )rD   rX   ra   r2   _check_blocks_createdr  )rS  r  s     r5   test_to_pandas_split_blocksr  2  s    

$40
$40
$40
$40
$40
$40
$40
$40	 q"A!A3"		$A !Q%ad; #s   E
c                     \        \        P                  4      \        R 4      8  d   V P                  # V P                  # )z1.1.0)r   r,   rC  _data_mgrr  s   &r5   _get_mgrr  C  s*    r~~!11xxwwri   c                 t    V P                  R R7      p\        \        V4      P                  4      V8X  g   Q hR# )Tr  N)rH   r   r  blocks)r  numberr4   s   && r5   r  r  J  s/    	&Ax{!!"f,,,ri   c                  j   a ^2oV3R lp V ! 4       p\        VRRR7       V ! 4       p\        VRR7       R# )2   c            
         < \         P                  ! \        S4       U u. uF=  p \         P                  ! \        P
                  P                  R 4      R,          4      NK?  	  up \        S4       U u. uF  p RV  2NK
  	  up 4      # u up i u up i )r  r5  r  )rD   rX   r2   ra   r.   r0   r1   )rS  r  s    r5   _make_table1test_to_pandas_self_destruct.<locals>._make_tableR  sz    xx 1X
  HHRYY__U+C01
 #1X&XasGX&	( 	( 
 's   AB1B
T)r  self_destruct)r  N)r  )r  r  r  s     @r5   test_to_pandas_self_destructr  O  s5    
A( 	A%ad$O 	A%at<ri   c                     R p \         P                  ! \        P                  ! V \        P                  R7      4      p\         P
                  ! WV.. RO4      p\         P                  ! 4       pVP                  4       p^V ,          ^,          p\        P                  ! 4       '       d
   V^,          p\         P                  ! 4       W5,           8X  g   Q hRp\        P                  ! 4        \         P                  ! 4       V8X  g   Q hR# )r  r   N)rU  r  r  )rD   ra   r.   r/   r   rX   r"  rH   r   r  r   r!  )r  rg   r  r  r4   new_allocations         r5   test_table_uses_memory_poolr  a  s    A
((299Qbhh/
0C
#C"45A//1	AUQYN$$&&###%*:*KLLL 	AJJL##%)9999ri   c                  h   \         P                  ! R ^/.4      p V P                  4       pVP                  \        P                  ! R4      8X  g   Q hV^ ,          p\
        P                  ! V4      p\
        P                  ! V4      V8X  g   Q h?\
        P                  ! V4      V^,
          8X  g   Q hR# )r   r>   N)rD   ra   rH   r   r.   rC  getrefcount)rg   r1  r  refcounts       r5   test_object_leak_in_numpy_arrayr  v  s    
((S!H:
C]]_F<<288H----
)Cs#H??38+++??38a<///ri   c                     \         P                  ! R ^/.4      p \         P                  ! V .R.4      pVP                  4       R,          pVP                  \
        P                  ! R4      8X  g   Q hV^ ,          p\        P                  ! V4      p\        P                  ! V4      V8X  g   Q h?\        P                  ! V4      V^,
          8X  g   Q hR# )r   rU  r>   N)rD   ra   rX   rH   r   r.   rC  r  )rg   rX   rZ   r  r  s        r5   test_object_leak_in_dataframer    s    
((S!H:
CHHcUTF#E
//
D
!C99****
a&Cs#H??38+++??38a<///ri   c                     R R.RR..p \         P                  ! 4       p\         P                  ! V ^ ,          VR7      p\         P                  ! V \         P                  ! V4      R7      p\        P                  ! V ^ ,          \        P                  R7      p\
        P                  ! \        P                  ! V ^ ,          \        P                  R7      \        P                  ! V ^,          \        P                  R7      .4      pVP                  V8X  g   Q hVP                  \         P                  ! V4      4      '       g   Q hVP                  \         P                  ! V4      4      '       g   Q hR# )rK  g333333@g      "@g      E@r  r   N)	rD   r   ra   r  r.   r,   rb   r^   rI   )r   r  r  r  r  r  s         r5   test_array_from_py_float32r    s    #Jd$D


A88DG!$D88Drxx{+Da

3I		288DG2::>88DG2::>@ AI 99>>;;rxx	*++++;;rxx	*++++ri   c                     \         P                  ! 4       p \        P                  ! V .4      pVP                  P                  R 4      P                  P                  R4      p\        P                  ! RRR7      p\        P                  P                  W#R7      pVP                  V8X  g   Q h\        P                  P                  V\        P                  ! R4      R7      pV^ ,          P                  4       V^ ,          P                  4       8X  g   Q hV^ ,          P                  4       V^ ,          P                  4       8X  g   Q h\        P                  ! R.RR7      P                  \        P                  ! R4      4      p\        P                  ! ^{.RR7      P                  \        P                  ! R4      4      pVP                  \        P                  ! R4      8X  g   Q h\        P                  ! R4      p\         P"                  ! \$        4      ;_uu_ 4        VP                  V4       R	R	R	4       VP                  VR
R7      pVP'                  V4      '       g   Q h\        P                  ! \        P(                  ! ^4      \        P(                  ! ^
4      \        P(                  ! R4      .4      p	\        P                  ! . RO\        P                  ! R4      R7      p\         P"                  ! \$        4      ;_uu_ 4        \        P                  ! V	\        P                  ! R4      R7       R	R	R	4       \         P"                  ! \$        4      ;_uu_ 4        \        P                  P                  V	\        P                  ! R4      R7       R	R	R	4       \        P                  P                  V	\        P                  ! R4      R
R7      pVP'                  V4      '       g   Q h\        P                  ! V	\        P                  ! R4      R
R7      pVP'                  V4      '       g   Q hR	#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     L; i)z	tzlocal()r>  r8  r  r  i r   r  rd   NFrU  r?  r  )r   r   r   )r   nowr,   rb   r  r  
tz_convertrD   r  r  rG   r^   r  to_pydatetimera   r  r   rP  rQ  rI   r|  )
r&  rd   s_nyc
us_with_tzrg   r  rT   targetrY   r.  s
             r5   test_cast_timestamp_unitr    s   
,,.C
		3%ADD[),,778JKEd'9:J
((

u

6C 88z!!!88T(:;Dq6<<>U1X3355557==?ad002222 ((F8'
*
/
/T0B
CCxxG,11",,s2CDH 88r||D))))\\#F	z	"	" 
# XXf5X)F=="""" YYQb)92<<;MNOFxx	T(:;H	z	"	"
bll401 
# 
z	"	"
V",,t*<= 
# XX!!&r||D/A!NF==""""XXf2<<#5EBF=="""") 
#	"	" 
#	"	" 
#	"s$   P5	-Q	 6Q5Q		Q	Q-	c                     \         P                  P                  4       p V P                  4       p\        P
                  ! V.\        P                  ! R RR7      R7      p\        P                  P                  W".RR.4      pVP                  4       p\        P
                  ! V4      pVP                  V4      '       g   Q hR# )r8  r>  r  r  r<  stopN)r,   r|  r  r  rD   ra   r  r  r   rH   rI   )tsts_dtrg   rW  rY   r   s         r5   (test_nested_with_timestamp_tz_round_tripr    s    				BE
((E7d7I!J
KC^^''
Wf4EFFFxxH??6""""ri   c            	         \         P                  P                  4       p V P                  4       pR EF  pVR9   d   R pMR p\        P
                  ! V .\        P                  ! V4      R7      p\        P
                  ! V .\        P                  ! VRR7      R7      p\        P                  P                  WD.RR.4      p\        P                  P                  WU.RR.4      pVP                  4       p\        V^ ,          R,          \        4      '       g   Q hV^ ,          R,          P                  e   Q h\        V^ ,          R,          \        4      '       g   Q hV^ ,          R,          P                  e   Q hVP                  4       p\        V^ ,          R,          \        4      '       g   Q hV^ ,          R,          P                  f   Q hV^ ,          R,          P                  \        P                  4      p	V! V	4      P!                  RR	7      V! V4      8X  g   Q h\        V^ ,          R,          \        4      '       g   Q hV^ ,          R,          P                  f   Q h\        P"                  ! R
V/4      P                  4       p\        VR
,          ^ ,          R,          \        4      '       g   Q hVR
,          ^ ,          R,          P                  e   Q h\        VR
,          ^ ,          R,          \        4      '       g   Q hVR
,          ^ ,          R,          P                  e   Q h\        P"                  ! R
V/4      P                  4       p\        VR
,          ^ ,          R,          \        4      '       g   Q hVR
,          ^ ,          R,          P                  f   Q h\        VR
,          ^ ,          R,          \        4      '       g   Q hVR
,          ^ ,          R,          P                  e   EK  Q h	  R# )rd   c                 &    V P                  ^ R7      # )r   r@  )rK   r4   s   &r5   truncate/test_nested_with_timestamp_tz.<locals>.truncate  s    AII!I$<<ri   c                     V # ry  rB  r  s   &r5   r  r    s    AXri   r  r>  r  r<  r  Nr  r   rh  )rd   r  )r,   r|  r  r  rD   ra   r  r  r   rH   r   r   r  
astimezoner   r  rK   rX   )
r  r  r7  r  rg   r  arr3arr4rY   utc_dts
             r5   test_nested_with_timestamp_tzr    s   				BE "; =%hht",,t"45xx2<<9K#LM~~))3*w6GH~~))4,&8IJ!&)G,h7777ay!((000&)F+X6666ay ''///!&)G,h7777ay!((4447#..x||<''t'4GGG&)F+X6666ay ''333 3+&002&+a.18<<<<c{1~g&--555&+a.0(;;;;c{1~f%,,4443+&002&+a.18<<<<c{1~g&--999&+a.0(;;;;c{1~f%,,888M "ri   c                  x   \         P                  ! . RO^4      p \         P                  ! . RO\        R7      p\         P                  ! . RO4      pR EFO  pV P	                  V4      p\
        P                  P                  WA4      p\
        P                  P                  WAVR	7      pVR8X  d@   \        P                  ! \        R
R7      ;_uu_ 4        VP                  4        RRR4       K  VP                  4       pVR8X  d   VP	                  R4      pM4VR8X  d   VP	                  R4      pMVR8X  d   VP	                  R4      pMTp\        P                  P                  WR7      p	\        P                   ! \        P"                  ! V4      \        P"                  ! V	4      4       VP                  4       p
V
P%                  4       P'                  4       ^8X  g   Q hVR8X  d   VP	                  R4      pM4VR8X  d   VP	                  R4      pMVR8X  d   VP	                  R4      pMTp\        P                  P                  \         P(                  ! VRV4      VR7      p\        P                   ! \        P"                  ! V
4      \        P"                  ! V4      4       EKR  	  R#   + '       g   i     EL; i)r   r   r   r   r   r   r   r   r   r?  zUInt64 dictionary indicesrU  Nr  r  r  )FFTFFF)r   r   r   r   r   r   r   r   rW  )r.   r  ra   r>   rK  rD   rX  r   r   rP  rX  rH   r,   r  
from_codesrQ   rc   rb   rn   rp   where)src_indicesr  rk   
index_typer[  d1d2pandas1compare_indices
ex_pandas1pandas2signed_indices
ex_pandas2s                r5   test_dictionary_with_pandasr    s   ))Iq)K/v>J88=>D*
$$Z0++G@++Gd+K!y%@B BB ,,.  %nnW5O8#%nnW5O8#%nnW5O%O^^...V

ryy1299Z3HI,,.~~##%***  $^^G4N8#$^^G4N8#$^^G4N$N^^..rxxb8F0H:D / F
 	ryy1299Z3HIY*B B Bs   J((J9c                 R   Ve4   V\         P                  P                  ^ \        V4      V R7      ,          pM>\         P                  ! \        V 4       Uu. uF  p\        V4      NK  	  up\        R7      pV^ 8  d&   R V\         P                  P                  V 4      V8  &   V# u upi )Nr  r   )	r.   r0   r  r   ra   r2   r   r>   rand)r  	item_sizepct_nullr  rY   rS  s   &&&&  r5   random_stringsr  L  s    BII--aZq-IJE!HEHq<	2HE &( !|/3ryy~~a 8+,M Fs   B$c            	         \         P                  P                  R 4       \        P                  ! \        ^d^ 4      RR7      p \        P                  ! \        ^d^4      RR7      p\        P                  ! \        R^
4      RR7      p\        P                  P                  \         P                  P                  ^ \        V 4      RRR7      V 4      p\        P                  P                  \         P                  P                  ^ \        V4      RRR7      V4      p\        P                  P                  \         P                  P                  ^ \        V4      RRR7      V4      p\        P                  ! \         P                  P                  ^ \        V4      RRR7      \         P                  P                  R4      R8  R7      p\        P                  P                  Wb4      p\        P                  ! WV.4      p\        P                  ! W4WW.4      p	\        P                  ! VP                  R4      VP                  R4      VP                  R4      VP                  R4      .4      p
V	P                  4       pV
P                  4       pVP                  P                   VP                  4       8H  P#                  4       '       g   Q hVP%                  R	4      pR
WP'                  4       &   \(        P*                  ! W4       R
# )i90  r  r  r  r?  r  r  r  r?  r(   N)r.   r0   rI  rD   ra   r  rX  r   r  r   r  concat_arraysr  r  rH   r  r  rU  rK  rn   rQ   rc   )r  r  d3r9  r{  rJ  r  rK  expected_dictr   a_denserY   result_denseexpected_denses                 r5   "test_variable_dictionary_to_pandasr  Y  sA   IINN5	.b)	9B	.b)	9B	.+(	;B				'	'
		!SW4t<

B 
			'	'
		!SW4t<

B 
			'	'
		!SW4t<b
BB 

		!SW4t<YY^^D!C'
B 
			'	'	/B$$bb\2M
"")*A 1 " 1 " 1 " 1 3 4G
 [[]F$$&LJJ!!]%<%<%>>CCEEEE]]5)N,0N&&()<8ri   c                     \         P                  ! . RO4      P                  4       p \         P                  P	                  . ROV 4      pVP                  4       p\        P                  ! \        P                  ! . RO\        R7      \        P                  ! RR.\        R7      .4      p\        P                  ! W#4       R# )r   r   r   N)r   r   r   r   r   r  )r   r   r   )rD   ra   r  r  r   rH   r,   rb   r.   r>   rQ   rc   )r  rg   rY   rT   s       r5   (test_dictionary_encoded_nested_to_pandasr    s}    HH./AACE
,,
"
"9e
4C]]_Fyy"((?&A((C:V<> ?H 6,ri   c                  \   \         P                  ! . RO4      p \        P                  ! \        P                  ! 4       \
        P                  ! 4       '       d   \        P                  ! 4       M\        P                  ! 4       4      p\        P                  ! V 4      pVP                  4       . RO8X  g   Q hVP                  P                  V4      '       g   Q h\         P                  ! . RO4      p \        P                  ! V 4      pVP                  4       . RO8X  g   Q hVP                  P                  V4      '       g   Q h\        P                  ! V \        P                  ! . RO4      R7      pVP                  4       . RO8X  g   Q hVP                  P                  V4      '       g   Q hR# )r   Nr?  )r   r   r   )r   r   Nr   )FFFT)r   r   NN)r,   r  rD   r  r   r   r  r  r  ra   r  r^   rI   r.   )r  r  rY   s      r5   test_dictionary_from_pandasr    s(   
..
)CMM
	(::<<"))+M
 XXc]F000;;m,,,, ...
/CXXc]F!6666;;m,,,, XXc)D EFF!7777;;m,,,,ri   c                  l	   \         P                  P                  \        P                  ! ^ ^.RR7      \        P                  ! RR.\
        R7      4      p \        P                  ! \        P                  ! 4       \        P                  ! 4       R7      p\        P                  ! WR7      pVP                  P                  V4      '       g   Q hVP                  4       RR.8X  g   Q h\        P                  ! \        P                  ! 4       \        P                  ! 4       R7      p\        P                   ! \        P"                  4      ;_uu_ 4        \        P                  ! WR7      pRRR4       \        P                  ! \        P                  ! 4       \        P                  ! 4       RR	7      pR
p\        P                   ! \$        VR7      ;_uu_ 4        \        P                  ! WR7      pRRR4       VP                  4       RR.8X  g   Q h\        P                  ! \        P                  ! 4       \        P                  ! 4       R7      p\        P                  ! W\        P                  ! RR.4      R7      pVP                  P                  V4      '       g   Q hVP                  4       RR.8X  g   Q h\         P                  ! . 4      p \        P                  ! \        P                  ! 4       \        P                  ! 4       R7      p\        P                  ! WR7      pVP                  P                  V4      '       g   Q hVP                  4       . 8X  g   Q h\        P                  ! \        P                  ! 4       \        P                  ! 4       R7      p\        P                  ! WR7      pVP                  P                  V4      '       g   Q hVP                  4       . 8X  g   Q h\         P                  ! RR.4      p \        P                  ! V \        P                  ! 4       R7      p\        P                  ! RR.\        P                  ! 4       R7      pVP                  V4      '       g   Q hVP                  4       RR.8X  g   Q hR#   + '       g   i     EL/; i  + '       g   i     EL; i)r   r   r   r   r   )r  
value_typer  NT)r  r  r)  z4The 'ordered' flag of the passed categorical values rU  Fr  )r,   r  r  r.   ra   r>   rD   r  r   r  r^   rI   r  r   r   r   rP  r  rQ  )r  r  rY   rj  rT   s        r5   *test_dictionary_from_pandas_specified_typer    s    ..
#
#
!Qv&#s6(JLC
 --288:"))+
FCXXc$F;;c""""#s+++ --2779
DC	r	'	'#( 
( --779dDC
@C	z	-	-#( 
.#s+++ --288:"))+
FCXXc"((E4=*ABF;;c""""#t,,, ..
C
--2779
ECXXc$F;;c""""###
--2779
DCXXc$F;;c""""### ..#s
$CXXc		,Fxxc
5H==""""#s+++E 
(	'	' 
.	-	-s   RR"R	"R3	c                     \        \        P                  4      \        R 4      8  d   \        P                  ! R4       \        P
                  ! R. RO/RR7      p V P                  R4      p \        P                  ! V R,          P                  P                  4      p\        P                  ! V R,          P                  P                  P                  4      p\        V\        P                  4      '       g   Q h\        P                  P                  V R,          4      p\        P                   P#                  W4      pWC8X  g   Q hR# )z1.3.0z:PyArrow backed string data type introduced in pandas 1.3.0r4   zstring[pyarrow]r   r"  Nr   rs  r   )r   r,   rC  r   r  r-   rK  rD   ra   r  codesr  rr   r   r  rG   rX  r   )rS   r[  r  rT   rY   s        r5   :test_convert_categories_to_array_with_string_pyarrow_dtyper    s    r~~!11PQ	s12:K	LB	:	Bhhr#w{{(()G"S'++00778Jj"((++++xx##BsG,H++G@Fri   c                     \         P                  ! R \         P                  ! . RORR7      /4      p \        P                  ! V 4      p\        P
                  ! . RO\        P                  ! 4       4      pV^ ,          P                  ^ 4      P                  V4      '       g   Q h\        P                  ! R \        P                  ! 4       3.4      p\        P                  ! WR7      p\        P
                  ! . RO\        P                  ! 4       4      pV^ ,          P                  ^ 4      P                  V4      '       g   Q h\        P
                  ! V R ,          4      pVP                  V4      '       g   Q h\        P
                  ! V R ,          \        P                  ! 4       R7      pVP                  V4      '       g   Q h\        P
                  ! V R ,          P                  4      pVP                  V4      '       g   Q h\        P
                  ! V R ,          P                  \        P                  ! 4       R7      pVP                  V4      '       g   Q hR# )r   NInt64r   r  r  r  )r,   r-   rb   rD   rX   ra   r   rl  rI   r9   r    rr   )rS   rY   rT   r9   r  s        r5   test_array_protocolr    s   	sBIIl'BC	DB
 XXb\Fxxbhhj1H!9??1$$X.... YYbjjl+,-FXXb(Frzz|4I!9??1$$Y//// XXbgF==""""XXbgBJJL1F==#### XXbgnn%F==""""XXbgnn2::<8F==####ri   c                   H   a a ] tR tRt oV 3R ltR t]R 4       tRtVt	V ;t
# )DummyExtensionTypei  c                N   < \         SV `  \        P                  ! 4       R 4       R# )z,pyarrow.tests.test_pandas.DummyExtensionTypeNsuper__init__rD   r   r   	__class__s   &r5   r  DummyExtensionType.__init__  s    G	Iri   c                    R # ri   rB  r  s   &r5   __arrow_ext_serialize__*DummyExtensionType.__arrow_ext_serialize__      ri   c                Z    VR 8X  g   Q hV\         P                  ! 4       8X  g   Q hV ! 4       # r  )rD   r   )clsstorage_type
serializeds   &&&r5   __arrow_ext_deserialize__,DummyExtensionType.__arrow_ext_deserialize__  s+    S   rxxz)))uri   rB  )r  r  r  r  r  r  classmethodr  r  r  __classcell__r  r  s   @@r5   r  r    s)     I   ri   r  c                     \         P                  ! . RO\         P                  ! 4       R7      p\         P                  P	                  \        4       V4      # )r   r  r   )rD   ra   r   ExtensionArrayfrom_storager  )r   r^   storages   && r5   PandasArray__arrow_array__r     s7     hhyrxxz2G))*<*>HHri   c                 >   \         P                  ! . R
O\         P                  ! 4       R7      p\         P                  P	                  \        4       V4      pV P                  \        P                  P                  R\        RR7       V P                  \        P                  P                  R\        RR7       \        P                  ! R^RR7      P                  \        P                  ! ^^4      P                  3 EF  p\         P                  ! V4      pVP                  V4      '       g   Q h\         P                  ! \        P                  ! V4      4      pVP                  V4      '       g   Q h\         P                  ! \        P                   ! V4      4      pVP                  V4      '       g   Q h\         P"                  ! \        P$                  ! RV/4      4      P'                  R4      P)                  ^ 4      pVP                  V4      '       d   EK  Q h	  R	# )r   r  __arrow_array__F)raising
2012-01-01Dr  r   Nr   )rD   ra   r   r  r  r  setattrr,   r  PeriodArrayr  IntervalArrayr  r  rI   rb   r   rX   r-   ri  rl  )monkeypatchr  rT   rg   rY   s   &    r5   *test_array_protocol_pandas_extension_typesr  '  s|    hhyrxxz2G  --.@.BGLH		--/@2E  C		//1B2E  CacBHH!!!Q'--/#}}X&&&&"))C.)}}X&&&&"((3-(}}X&&&&",,Sz23::3?EEaH}}X&&&&/ri   c                    \        V\        P                  4      '       d   TpMVP                  ^ 4      pVP	                  4       p\
        P                  ! VR,          RR7      VP                  VP                  \        V4      ,            pV^ ,          pVeW   \        P                  P                  \        P                  ! 4       \        V4      RV.4      p\
        P                  ! V4      pM%\
        P                  ! \        V4      \        R7      p\        P                   P#                  VP%                  4       V( RR7      pV# )r   r   r   NF)rq   rW  )r   rD   r  rl  buffersr.   
frombufferoffsetr   BooleanArrayfrom_buffersr  ra  r_  r!   r,   r  IntegerArrayrq   )r   ra   rg   buflistr   bitmaskrk   int_arrs   &&      r5   _Int64Dtype__from_arrow__r$  A  s     %"" kk!nkkmG==G4

3::C(*DajG++HHJC4/3zz$wws3xt,ii$$TYY[4%e$DGNri   c           
         \         P                  ! R . R	OR\         P                  ! . R
ORR7      R. RO/4      p\        P                  ! V4      pVP                  4       p\        V4      P                  ^ ,          P                  P                  \        P                  ! R4      8X  g   Q h\        V4      P                  ^,          P                  P                  \         P                  ! 4       8X  g   Q h\        P                  ! W14       \         P                  ! R \         P                  ! . RORR7      /4      p\        P                  ! V4      pVP                  4       p\        V4      P                  ^ ,          P                  P                  \         P                  ! 4       8X  g   Q h\        P                  ! W44       \        \         P                  4      \        R4      8  d@   V P!                  \         P"                  P$                  P&                  P(                  R4       M>V P!                  \         P"                  P$                  P&                  P*                  R4       VP                  4       p\-        \        V4      P                  4      ^8X  g   Q h\        V4      P                  ^ ,          P                  P                  \        P                  ! R4      8X  g   Q hR# )r   r   r  r   r   r   N	1.3.0.dev__from_arrow__r   r  )r   r   r   r  )r,   r-   ra   rD   rX   rH   r  r  rr   r   r.   
Int64DtyperQ   rR   r   rC  delattrcorer  integer_IntegerDtypeNumericDtyper   )r  rS   rX   rY   r   r#  s   &     r5   test_convert_to_extension_arrayr.  W  s    
	ibhhy@	i	
B HHRLE __FF""1%,,22bhhw6GGGGF""1%,,22bmmoEEE&% ,,RXXl'BC
DCXXc]FFF""1%,,22bmmoEEE&& r~~!55GGNN""002B	D 	GGNN""//1A	C __Fx&&'1,,,F""1%,,22bhhw6GGGGri   c                   >   a a ] tR tRt oV 3R ltR tR tRtVtV ;t	# )MyCustomIntegerTypeiz  c                N   < \         SV `  \        P                  ! 4       R 4       R# )z-pyarrow.tests.test_pandas.MyCustomIntegerTypeNr  r  s   &r5   r  MyCustomIntegerType.__init__|  s    H	Jri   c                    R # r  rB  r  s   &r5   r  +MyCustomIntegerType.__arrow_ext_serialize__  r  ri   c                ,    \         P                  ! 4       # ry  )r,   r(  r  s   &r5   r  #MyCustomIntegerType.to_pandas_dtype  s    }}ri   rB  )
r  r  r  r  r  r  r  r  r  r	  r
  s   @@r5   r0  r0  z  s     J ri   r0  c                 *   \         P                  ! . RO\         P                  ! 4       4      p\         P                  P	                  \        4       V4      p\         P                  ! RV/4      pVP                  4       p\        V4      P                  ^ ,          P                  P                  \        P                  ! 4       8X  g   Q h\        P                  ! . RORR7      p\        P                   ! WE4       VP                  4       p\        V4      P                  ^ ,          P                  P                  \        P                  ! 4       8X  g   Q h\        P"                  ! R\        P                  ! . RORR7      /4      p\        P$                  ! WE4       \'        \        P(                  4      \'        R4      8  d@   V P+                  \        P,                  P.                  P0                  P2                  R4       M>V P+                  \        P,                  P.                  P0                  P4                  R4       VP                  4       p\        V4      P                  ^ ,          P                  P                  \6        P                  ! R4      8X  g   Q h\        P                  ! . RO4      p\        P                   ! WE4       \8        P:                  ! \<        4      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     R# ; i)	r   r   r  r   r&  r'  r   Nr   )rD   ra   r   r  r  r0  rX   rH   r  r  rr   r   r,   r(  rb   rQ   rc   r-   rR   r   rC  r)  r*  r  r+  r,  r-  r.   r   rP  rQ  )r  r  rg   rX   rY   rT   s   &     r5   /test_conversion_extensiontype_to_extensionarrayr8    s   hh|RXXZ0G



(
()<)>
HCHHc3Z E ]]_FF""1%,,22bmmoEEEyyW5H6,__FF""1%,,22bmmoEEE||S"((<w"GHIH&+ r~~!55GGNN""002B	D 	GGNN""//1A	C ]]_FF""1%,,22bhhw6GGGGyy&H6,	z	"	" 
#	"	"	"s   &LL	c            
      Z   \         P                  ! R \         P                  ! . RO\         P                  ! 4       4      /4      p V P	                  4       pVR ,          P
                  \        P
                  ! R4      8X  g   Q hV P	                  \         P                  ! 4       \        P                  ! 4       /P                  R7      p\        VR ,          P
                  \        P                  4      '       g   Q h\         P                  ! R \         P                  ! . RO\         P                  ! 4       4      /4      p V P	                  \         P                  ! 4       \        P                  ! 4       /P                  R7      pVR ,          P
                  \        P
                  ! R4      8X  g   Q h\         P                  ! \        P                  ! R \        P                  ! . RORR7      /4      4      p V P	                  4       p\        VR ,          P
                  \        P                  4      '       g   Q hV P	                  \         P                  ! 4       \        P                  ! R4      /P                  R7      p\        VR ,          P
                  \        P                  4      '       g   Q hR# )	r   r   types_mapperr   r  r   r  Nr   )rD   rX   ra   r   rH   r   r.   r,   r(  rm  r   r   r-   PeriodDtype)rX   rY   s     r5   'test_to_pandas_extension_dtypes_mappingr=    s   HHc288Irxxz:;<E __F#; 1111 __288:r}}*G*K*K_LFfSk''7777 HHc288Irxxz:;<E__288:r}}*G*K*K_LF#; 1111 HHR\\3'(J"KLME__FfSk''7777__hhj".."56::  <FfSk''8888ri   c            	      ,   \        \        P                  4      \        R 4      8  d   \        P                  ! R4       \
        P                  ! \
        P                  ! R\
        P                  ! 4       RR7      \
        P                  ! R\
        P                  ! 4       RR7      .4      p \        P                  ! V 4      p\
        P                  ! \
        P                  ! RV 4      .4      p\        P                  ! RRRR\        P                  ! ^4      //RRRRR//.4      P                  RV/4      p\
        P                  P!                  W2R	7      pVP#                  \        P                  R
7      p\        P$                  P'                  W54       R# )z1.5.2zTest relies on pd.ArrowDtypers  Fr   r  Tr   Nr  r:  )r   r,   rC  r   r  rD   rW  r   r  r   
ArrowDtyper9   r-   r.   rK  rF   rG   rH   r  rR   )r  pd_typer9   df0rX   rR  s         r5   4test_to_pandas_extension_dtypes_mapping_complex_typerB    s    r~~!1123iiHHUBHHJ7HHUBJJL48	
G mmG$GYY012F
,,UD%A78UD%./	

 feW  HH   4E
//r}}/
5CJJ!!#+ri   c                  l   \        \        P                  4      \        R 4      8  d   \        P                  ! R4       \        P
                  ! R^RR7      P                  \        P                  ! ^^4      P                  3 F  p \        P                  ! V 4      P                  4       p\        P                  ! V 4      p\        P                  ! W4       \        P                  ! RV /4      R,          P                  4       p\        P                  ! V RR7      p\        P                  ! W4       K  	  R# )z1.1z'ExtensionDtype to_pandas method missingr  r  r  rZ   r_   N)r   r,   rC  r   r  r  ra   r  rD   rH   rb   rQ   rc   rX   )rg   rY   rT   s      r5   test_array_to_pandasrD    s    r~~/=>acBHH!!!Q'--/#((*99S>
v05#,'.88:99Su-
v0/ri   c                     \         P                  ! \         P                  ! ^ ^R7      R7      p \        P                  ! V 4      p\        \         P                  4      \        R4      8  d<   \        P                  ! VP                  4       P                  V P                  4       R# \        P                  ! VP                  4       P                  \         P                  ! R^ R^/R^R^/R^R^/.RR7      4       R# )	r   )r<  endr   z1.0r  r  r>   r   N)r,   r-   r  rD   rX   r   rC  rQ   assert_index_equalrH   r   r   rS   rX   s     r5   5test_roundtrip_empty_table_with_extension_dtype_indexrI    s    	B--A1=	>BHHRLEr~~/
eoo/55rxx@
eoo/55 hhGQ(?)/GQ(?)/GQ(?(A .67	8ri   r   r   r   c           	         \        \        P                  4      \        R 4      8  d   \        P                  ! R4       \        P
                  ! R^^.R^^.R^^./\        P                  ! \        P                  ! 4       4      R7      P                  V 4      pVP                  4       p\        P                  ! V4      pVP                  \        P                  R7      p\        P                  ! WB4       R# )z1.5.0zArrowDtype missingr   r   r   r   r:  N)r   r,   rC  r   r  r-   r?  rD   r   r   rq   rX   rH   rQ   rR   )r   rS   rT   rX   rY   s   &    r5   !test_to_pandas_types_mapper_indexrK    s    r~~!11()	!Q!Q!Q	

 mmBHHJ'
 i  wwyHHHRLE__"--_8F&+ri   c                  >   \        \        P                  4      \        R 4      8  d   \        P                  ! R4       \
        P                  ! . RO\
        P                  ! 4       4      p \
        P                  ! 4       \        P                  ! 4       /P                  pV P                  VR7      pVP                  \        P                  ! 4       8X  g   Q h\
        P                  ! 4       R/P                  pV P                  VR7      pVP                  \        P                  ! R4      8X  g   Q h\
        P                  ! 4       \        P                  ! 4       /P                  pV P                  VR7      pVP                  \        P                  ! R4      8X  g   Q hR# z1.2.0z$Float64Dtype extension dtype missingr:  Nr   r   )r   r,   rC  r   r  rD   ra   r   r(  rm  rH   r   r.   r    Float64Dtyper   r;  rY   s      r5   !test_array_to_pandas_types_mapperrP    s   r~~!11:;88Irxxz*D HHJ044L^^^6F<<2==?*** HHJ%))L^^^6F<<288G,,,, JJL"//"3488L^^^6F<<288G,,,,ri   c                     \        \        P                  4      \        R 4      8  d   \        P                  ! R4       \
        P                  ! \
        P                  ! . RO\
        P                  ! 4       4      .4      p \        V \
        P                  4      '       g   Q h\
        P                  ! 4       \        P                  ! 4       /P                  pV P                  VR7      pVP                  \        P                  ! 4       8X  g   Q h\
        P                  ! 4       R/P                  pV P                  VR7      pVP                  \        P                  ! R4      8X  g   Q h\
        P                   ! 4       \        P"                  ! 4       /P                  pV P                  VR7      pVP                  \        P                  ! R4      8X  g   Q hR# rM  )r   r,   rC  r   r  rD   r  ra   r   r   r  r(  rm  rH   r   r.   r    rN  rO  s      r5   )test_chunked_array_to_pandas_types_mapperrR  "  s5    r~~!11:;RXXi<=>DdBOO,,,, HHJ044L^^^6F<<2==?*** HHJ%))L^^^6F<<288G,,,, JJL"//"3488L^^^6F<<288G,,,,ri   r  r   c                    \        \        P                  4      \        R 4      8  d   \        P                  ! R4       \
        P                  ! WR7      pVP                  4       pVP                  \        P                  ! \        P                  R7      8X  g   Q h\
        P                  ! V.V R7      pVP                  4       pVP                  \        P                  ! \        P                  R7      8X  g   Q hV R/P                  pVP                  VR7      pVP                  \        P                  ! R4      8X  g   Q hVP                  RR7      pVP                  \        P                  ! \        P                  R7      8X  g   Q hVP                  R	R7      pVP                  \        P                  ! . RR
7      8X  g   Q hR# )r  z#PyArrow backed string dtype missingr  )na_valueNr:  r>   Fr  Tr  )r   r,   rC  r   r  rD   ra   rH   r   StringDtyper.   rL   r  rm  CategoricalDtype)r  r   rg   rY   r;  s   &&   r5   !test_array_to_pandas_string_dtyperW  ;  sC    r~~!119:
((4
*C]]_F<<2>>266::::


D6
4C]]_F<<2>>266::::  &**L]]]5F<<288H---- ]]%]8F<<2>>266::::]]$]7F<<2.."7<> > > >ri   c                  	   . ROp . ROp\         P                  ! V RR7      p\         P                  ! VRR7      p\         P                  ! . RORR7      pRpRp\        P                  ! RV /\        P                  ! ^ ^^RR	7      R
7      p\         P
                  P                  W$.RR.R7      pVP                  R\        P                  ! RR.RRRRRRRRRRRR//.RRRRRRRRRRR/RRRRRRRRRR/.RR/4      /4      pVP                  4       p	\        P                  ! W4       \        P                  ! RV /\        P                  ! ^ ^^RR	7      R
7      p
\         P
                  P                  W$.RV.R7      pVP                  R\        P                  ! RV.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VRRRRRR/.RR/4      /4      pVP                  4       p\        P                  ! W4       \        P                  ! RV /\        P                  ! ^ ^^RR	7      R
7      p\         P
                  P                  W$.RV.R7      pVP                  R\        P                  ! RV.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VRRRRRR/.RR/4      /4      pVP                  4       p\        P                  ! W4       \        P                  ! RV /\        P                  ! ^ ^^RR	7      V.R
7      p\         P
                  P                  W$V.RRV.R7      pVP                  R\        P                  ! RRV.RRRRRRRRRRRR//.RRRRRRRRRRR/RRRRRRRRRR/RRRVRRRRRR/.RR/4      /4      pVP                  4       p\        P                  ! VV4       \        P                  ! RV /\        P                  ! ^ ^^RR	7      V.R
7      p\         P
                  P                  W$V.RWV.R7      pVP                  R\        P                  ! RWV.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VRRRRRR/RRRVRRRRRR/.RR/4      /4      pVP                  4       p\        P                  ! VV4       R# )r   Nr   r  r  r   r  __index_level_1__r  r   r   r      pandasr  r#  r`   r  r$  r2  r&  r>   r'  r3  r4  rJ   r  z0.23.4)r   rs  Nr  )r   r   r   r   r  )rD   ra   r,   r-   r   rF   r   replace_schema_metadatajsondumpsrH   rQ   rR   )a_valuesb_valuesa_arrowb_arrowrng_index_arrow
gen_name_0
gen_name_1e1r7  r1e2r8  r2e3t3r3e4t4r4e5t5r5s                         r5   )test_metadata_compat_range_index_pre_0_12rr  ]  s    +H#Hhhxf-Ghhxf-Ghh|':O$J$J 
X]]1aae4
6B 
		w8%(%L 
 
2B		#	#4::ug!-t!.	!-x!+j'-B	!D  E
 &#&'&$d	,
 !%&'&$d	,	- x!)
% 
B( 
B"! 
x]]1aae4
6B 
		w8%*J$7 
 
9B		#	#4::zl!-t!.	!-x!+j'-B	!D  E
 &#&'&$d	,
 !%&
'&$d	,	- x!)
% 
B( 
B"! 
X]]1aad3
5B 
		w8%(*$5 
 
7B		#	#4::zl!-t!.	!-x!+j'-B	!D  E
 &#&'&$d	,
 !$&
'&$d	,	- x!)
% 
B( 
B"! 
XmmAqqu5x@
BB 
		wA%(%$< 
 
>B		#	#4::uj1!-t!.	!-x!+j'-B	!D  E
 &#&'&$d	,
 !%&'&$d	,
 !$&
'&$d	,- x+)
% 
B2 
B"b! 
XmmAqqt4h?
AB 
		wA%(*$A 
 
CB		#	#4::z6!-t!.	!-x!+j'-B	!D  E
 &#&'&$d	,
 !$&
'&$d	,
 !$&
'&$d	,- x+)
% 
B2 
B"b!ri   c                     . ROp . ROp\         P                  ! V RR7      p\         P                  ! VRR7      p\        P                  ! RV RV/\        P                  ! ^ ^^RR7      R7      p\         P
                  ! RVRV/4      pVP                  R	\        P                  ! R
RRRRRRRRRR/.RRRRRRRRR/RRRRRRRR/.RRRRRR^ R^R^/.RR/4      /4      pVP                  4       p\        P                  ! Wd4       R# )r   r   r   r   r  r  r  r   r   rZ  r#  r  Nr'  r`   r&  r>   r$  zmixed-integerrJ   r2  r  kindr2   r<  r   r  r  z0.25.0r   )r   r   r   r  )rD   ra   r,   r-   r   rX   r[  r\  r]  rH   rQ   rR   )r^  r_  r`  ra  rT   rX   rY   s          r5   'test_metadata_compat_missing_field_nameru    sQ    H#Hhhxg.Ghhxf-G||XX ]]1aae46H HHc7C12E ))4::tTx	1 Tw) Tx	+	 !	 h3( 
+ E: __F&+ri   c            
         \         P                  ! ^4      p \        P                  ! \        P
                  ! \        P                  ! ^ ^V R7      R7      4      pVP                  P                  pVR,          ^ ,          R,          R8X  g   Q hR# )r   r_   r   r  r`   6N)	r.   r   rD   rX   r,   r-   r   r9   r  r`   rX   r'  s      r5   .test_metadata_index_name_not_json_serializablery  9  s_    88A;DHHR\\a(FGHE||++HO$Q'/3666ri   c            
          ^p \         P                  ! \        P                  ! \        P                  ! ^ ^V R7      R7      4      pVP
                  P                  pVR,          ^ ,          R,          ^8X  g   Q hR# )r   r_   r   r  r`   N)rD   rX   r,   r-   r   r9   r  rx  s      r5   -test_metadata_index_name_is_json_serializabler{  @  sW    DHHR\\a(FGHE||++HO$Q'/1444ri   c                     \         P                  ! R \        P                  ! RR4      \        P                  ! RR4      \        P                  ! RR4      \        P                  ! RR4      .R\        P                  ! RR4      \        P                  ! RR4      \        P                  ! RR4      \        P                  ! R	R4      ./4      p V R ,          P	                  R
4      V R &   V P
                  P                  V P                  P                  3\        P                  ! R4      \        P                  ! R4      38X  g   Q hV # )
dateTimeMsz0001-01-01 00:00r  z2012-05-02 12:35z2012-05-03 15:42z3000-05-03 15:42
dateTimeNsz1991-01-01 00:00r9  z2050-05-03 15:42r>   r  zM8[ns])r,   r-   r.   r  rK  r}  r   r~  r  s    r5   make_df_with_timestampsr  G  s    
MM,d3MM,d3MM,d3MM,d3	
 	MM,d3MM,d3MM,d3MM,d3	
 
B ,'..x8B| MM!4!45
rxx):    Iri   c                    \        4       p\        P                  P                  V4      pV R ,          p\        P
                  ! W#4       \        P                  ! V4      pVP                  RR7      p\        P                  ! W4       R# )ztimestamps_from_pandas.parquetTtimestamp_as_objectN)
r  rD   rF   rG   pqwrite_table
read_tablerH   rQ   rR   )tempdirrS   rX   filenamerY   r   s   &     r5    test_timestamp_as_object_parquetr  b  sf     
!	"BHH  $E99HNN5#]]8$F


t

4C""ri   c                      \        4       p \        P                  P                  V 4      pVP	                  R R7      p\
        P                  ! W4       R# )Tr  N)r  rD   rF   rG   rH   rQ   rR   )rS   rX   r   s      r5   %test_timestamp_as_object_out_of_ranger  o  s>     
!	"BHH  $E
//d/
3C""ri   
resolutionr   r>  r  i  i  c                 d   \         P                  ! V.\         P                  ! WR 7      R7      p\         P                  ! RV/4      pVP	                  RR7      VP	                  RR7      R,          3 F  pVP
                  \        8X  g   Q h\        V^ ,          \        4      '       g   Q hV'       dQ   V^ ,          P                  f   Q hVP                  \        P                  R7      P                  \        V4      4      pMV^ ,          P                  e   Q hTpV^ ,          V8X  d   K  Q h	  R# )r  r  r   Tr  Nr  )rD   ra   r  rX   rH   r   r>   r   r   r  rK   r   r  r  r	   )r  r   r  rg   rX   rY   rT   s   &&&    r5   'test_timestamp_as_object_non_nanosecondr  x  s     ((B4bll:=
>CHHc3Z E 	$/D1#6 ||v%%%&)X....!9##///zzz6AA(2,OH!9##+++HayH$$$ri   c            	      `   \         P                  ! R 4      p ^ RIpV P                  ^x4      pVP                  ! VP                  ! R^^^^94      4      p\
        P                  ! R\
        P                  ! V.4      /4      pVP                  RR7      p\
        P                  ! V4      V8X  g   Q hR# )r  Ni  timestamp_colTr  )	r   r  r   r  localizerD   rX   ra   rH   )r  r   r   r  rX   rY   s         r5   %test_timestamp_as_object_fixed_offsetr    s    v&D$H			8,,T1b"bA	BBHHorxx~67E___6F88Fu$$$ri   c                      \        R 4       R# )zpandas_threaded_import.pyN)r   rB  ri   r5   test_threaded_pandas_importr    s    -.ri   c                     \         P                  ! R 4      p \         P                  ! \         P                  4      V 8X  g   Q h\        P                  ! R\         P                  ! 4       ./4      p\
        P                  P                  V4      pVP                  4        \         P                  ! \         P                  4      V 8X  g   Q hR# )m8r   N)	r.   r   r  r,   r-   rD   rF   rG   rH   )rT   rS   r  s      r5   $test_does_not_mutate_timedelta_dtyper    s    xx~H88BNN#x///	sR^^-./	0B
R AKKM88BNN#x///ri   c                      ^ RI Hp  RV ! ^^R7      /.pV ! ^^(^R7      .p\        P                  ! RVRV/4      pVP	                  4       pVR,          ^ ,          P                  4       V^ ,          8X  g   Q hR# )r   )r   timedelta_1)r'  r  )r  r(  r'  timedelta_2N)r   r   rD   rX   rH   to_pytimedelta)r   r  r  rX   rS   s        r5   %test_does_not_mutate_timedelta_nestedr    st     #!9Ra#HIJK1b"=>KHHm[-MNE		BmQ..0KNBBBri   c                     \         P                  ! \         P                  ! R \         P                  ! \         P                  ! \         P
                  ! 4       \         P                  ! \         P                  ! R\         P                  ! 4       4      .4      4      4      4      .4      p \         P                  ! R..R^RR/3.^RR/3^RR/3....V R7      p\        P                  ! R R..R^RR/3.^RR/3^RR/3.../4      p\        P                  ! R ^R/.R^RR//^RR/^RR//../4      pVP                  4       pVP                  RR7      p\        P                  ! WB4       \        P                  ! WS4       \         P                  P                  W@R7      pVP!                  V4      '       g   Q h\         P                  P                  WPR7      pVP!                  V4      '       g   Q hR# )	r   r   Ns   abcs   defr  strictmaps_as_pydicts)r   N)rD   r9   r   r  r  r   rW  r  rX   r,   r-   rH   rQ   rR   rF   rG   rI   )r9   rX   expected_default_dfexpected_as_pydicts_df
default_dfas_pydicts_dftable_default_roundtriptable_as_pydicts_roundtrips           r5   ,test_roundtrip_nested_map_table_with_pydictsr    s   YY
HH	299bhhsBIIK.H-I#JK	
 F HH
#v #tC=12	
  	E ,,	}dq3-&8%9'(3+&6S&M8J%K%M N 	O  \\	YK#v!c4[!c6]!CD
 	 "JOOHO=M*:-@ hh22:2M<</0000!#!5!5m!5!S<<23333ri   c            	       a \         P                  ! RR.4      p \         P                  ! . RO4      p\         P                  ! . \         P                  ! 4       4      p\         P                  ! RR.RR..\         P                  ! \         P                  ! 4       4      4      p\         P                  ! . RRR	.R
R..\         P                  ! \         P                  ! 4       4      4      p\         P                  ! . \         P                  ! \         P                  ! 4       4      4      p\         P                  P                  ^ ^.W4      p\         P                  P                  . ROW4      p\         P                  P                  ^ ^ .W%4      p\         P                  ! \         P                  P                  ^ ^.V4      P                  ^ 4      \         P                  P                  ^ ^.VP                  ^4      4      P                  ^ 4      \         P                  P                  ^ ^ .V4      P                  ^ 4      .4      p	V	P                  4       p
\        P                  ! RRR.3RRR.3..RR
R.3... .4      pV	P                  RR7      p\        P                  ! RRR.RRR./.RR
R./.. .4      pV	P                  ^^4      pVP                  4       p\        P                  ! RR
R.3... .4      pVP                  RR7      p\        P                  ! RR
R./.. .4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! RR\        4       \         P"                  ! W4       \         P"                  ! W4       \         P"                  ! VV4       \         P"                  ! VV4       RRR4       \         P                  ! \         P$                  ! \         P                  ! 4       \         P                  ! \         P                  ! 4       4      4      4      oR V3R llpV! W4       V! W4       V! W4       V! VV4       R#   + '       g   i     L; i)z5
Slightly more robust test with chunking and slicing
r   rs  r  r   r   r   r  Nr  r  r  r  r  r?   r@   c                <    V ^8  d   QhR\         P                  RR/# )r8   r.  returnN)r,   rb   )formats   "r5   __annotate__Itest_roundtrip_nested_map_array_with_pydicts_sliced.<locals>.__annotate__+  s     , , ,T ,ri   c                    < \         P                  ! \         P                  P                  V SR 7      4      pVP	                  RR7       VP                  V4      '       g   Q hR# )r  Tr  N)rD   r  r  rG   r  rI   )r.  r   array_roundtriprn  s   && r5   assert_roundtripMtest_roundtrip_nested_map_array_with_pydicts_sliced.<locals>.assert_roundtrip+  sM    **288+?+?R+?+PQ  d +{{?++++ri   )r  r  r  r  )r   r   r   )rD   ra   r  r  r  r   r  r  r  rH   r,   rb   rM   rN   rO   rP   rQ   rc   r  )keys_1keys_2keys_3items_1items_2items_3map_chunk_1map_chunk_2map_chunk_3r  series_defaultexpected_series_defaultseries_pydictsexpected_series_pydictsslicedseries_default_slicedexpected_series_default_slicedseries_pydicts_slicedexpected_series_pydicts_slicedr  rn  s                       @r5   3test_roundtrip_nested_map_array_with_pydicts_slicedr    s    XXuen%FXX34FXXb"))+&Fhh
sc3Z 
G hh	TD#;c
+
G hh

G
 ++))1a&&BK++)))VEK++))1a&&BK$$
  !Q5;;A>
  !Q):):1)=>DDQG
  !Q5;;A>& M #,,.N ii3*
Sz2	343*
	
)  #,,X,FN ii
#sUS#J	/0
#s	
)    A&F",,.%'YY3*
	
0 &"
 #,,X,F%'YY
#s	
0 &"
 
	 	 	"	"*I 2	4
~G
~G
46TU
46TU 
# 
"''"))+rxx		'<=	>B, ,
 ^3^3*3*F3% 
#	"s   >A7QQ	c                     \         P                  ! . RO4      p \         P                  ! RR.RR.RR..\         P                  ! \         P                  ! 4       4      4      p^ ^.p\         P                  P                  W V4      p\         P                  ! \         P                  ! 4       \         P                  ! \         P                  ! 4       4      4      p\        P                  ! \         P                  P                  4      ;_uu_ 4        VP                  RR	7       R
R
R
4       VP                  RR	7      p\        P                  ! R RR.RRR./.4      pVP                  \         P                  P!                  WTR7      4      '       d   Q hVP                  4       p\        P                  ! R RR.3RRR.3R RR.3..4      pVP                  \         P                  P!                  WtR7      4      '       g   Q h\#        V4      \#        V4      8X  g   Q h\%        WV4       F  w  r\#        V	4      \#        V
4      8X  g   Q h\%        V	P'                  4       V
P'                  4       4       FI  w  rV^ ,          V^ ,          8X  g   Q h\(        P*                  ! V^,          V^,          4      '       d   KI  Q h	  K  	  \#        V4      \#        V4      8X  g   Q h\%        Wx4       Fx  w  r\#        V	4      \#        V
4      8X  g   Q h\%        W4       FI  w  rV^ ,          V^ ,          8X  g   Q h\(        P*                  ! V^,          V^,          4      '       d   KI  Q h	  Kz  	  R
#   + '       g   i     ELI; i)r   rs  r   r   r   r  r   re  r  r  Nlossyr  r  )rD   ra   r  r  r  r   r  r   rP  r  ArrowExceptionrH   r,   rb   rI   r  rG   r   r  r  r.   array_equal)r  r  r  mapsrn  r  r  r  r  row1row2tup1tup2s                r5   4test_roundtrip_map_array_with_pydicts_duplicate_keysr  6  s   88)*DHH
sc3Z#s,
E !fG;;""7%8D	bhhryy{3	4B 
rvv,,	-	-x0 
. ^^G^<N ii	c
EC:.)  {{288///HIIII ^^%N ii
#s	usCj1EC:3FG)  ;;rxx++N+DEEEE
 ~#&=">>>>.B
4yCI%%%djjlDJJL9JD7d1g%%%>>$q'473333 : C ~#&=">>>>.B
4yCI%%%d/JD7d1g%%%>>$q'473333 * CC 
.	-	-s   MM/	c            	         \         P                  ! R R.RR.. R.RR.RR..\         P                  ! \         P                  ! 4       4      4      p \         P                  ! . RO4      p. ROp\         P                  P                  W V4      p\        P                  ! \        4      ;_uu_ 4        VP                  RR7       RRR4       VP                  4       p\        P                  ! R R.R	3RR.R
3.. R3R.R3RR.R3RR.R3..4      p\        V4      \        V4      8X  g   Q h\        WE4       Fx  w  rg\        V4      \        V4      8X  g   Q h\        Wg4       FI  w  r\        P                  ! V^ ,          V	^ ,          4      '       g   Q hV^,          V	^,          8X  d   KI  Q h	  Kz  	  R#   + '       g   i     L; i)r   r   r   r  r  Nr  r  r  r   rs  r  r  r  r  r  r  )r   rs  r  r  r  r  )r   r8   r   )rD   ra   r  r  r  r   r   rP  rX  rH   r,   rb   r   r  r.   r  )
r  r  r  r  r.  r  r  r  r  r  s
             r5   %test_unhashable_map_keys_with_pydictsr  j  s   88
sc3ZcUT3K#sD
D HH@AEG;;""7%8D 
y	!	!w/ 
"
 ^^F ii*e	Sz512
euenc{F&;sCj%=PQ)  v;#56666&:
4yCI%%%d/JD>>$q'4733337d1g%%% * ; 
"	!s   ,F..F>	c                  P   \         P                  ! \         P                  ! R ^RR7      RR7      p \        P                  ! R\        P
                  ! V 4      /4      pVP                  R4      pVP                  4       pVP                  R8X  g   Q h\        P                  ! W04       R# )2012r   r  datetime_columnr_   N)r,   rb   r   rD   rX   ra   ri  rH   r`   rQ   rc   )r.  rX   	table_colrY   s       r5   )test_table_column_conversion_for_datetimer    s    
 YYr}}VQ;LM-/FHH'&)9:;E./I  "F;;++++6*ri   c                      \         P                  ! \         P                  ! R ^RR7      4      p \        P                  ! V 4      pVP                  4       p\        P                  ! W 4       R# )r  r   r  N)r,   rb   r   rD   ra   rH   rQ   rc   )r.  rg   rY   s      r5   "test_array_conversion_for_datetimer    sG    
 YYr}}VQ;LMNF
((6
C]]_F6*ri   c            
         RR lp RR,          pV ! \         P                  ! RWV./4      4       RV/pV ! \         P                  ! RW"V./4      4       V.pV ! \         P                  ! RW3V./4      4       V.pV ! \         P                  ! RWDV./4      4       RV/pV ! \         P                  ! R	WUV./4      4       R
V/p\        P                  ! \        P                  ! 4       \        P
                  ! \        P                  ! R\        P                  ! 4       3.4      4      4      p\        P                  ! RV3.4      pV ! \         P                  ! RWfV./4      VR7       R # )Nc                    \         P                  P                  WR 7      pVP                  RR7       VP	                  ^ 4      P
                  pV^8  g   Q h\        P                  ! VP                  RRR7      V 4       R# )r  Tr  r  )r  r  N)	rD   rF   rG   r  ri  r  rQ   rR   rH   )rS   r9   tabr  s   &&  r5   	roundtrip-test_nested_chunking_valid.<locals>.roundtrip  sp    hh""2"5$ ZZ]--
A~~
cmm$<D , FGI	Kri      0i T*r  struct_fieldr  rd  lossolr   r  r  ry  )	r,   r-   rD   r  r  r  rW  r  r9   )	r  r4   rW  rd  r  r  
map_of_losmap_typer9   s	            r5   test_nested_chunking_validr    s3   K 	yAbllIay123a FbllI'?@ABCEbllGeE%:;<=(CbllECc?3455
!CbllECc?345sJwwryy{xx		NBIIK+H*I JKMHYY*+,FbllFZZ$HIJri   c                      \         P                  ! R R.RR..RR.R7      p \        P                  P	                  V 4      pVP
                  RR.8X  g   Q hVP                  4       P                  V 4      '       g   Q hR	# )
r  r  r  g?s   col1s   col2r   r  r  N)r,   r-   rD   rF   rG   r   rH   rI   rH  s     r5    test_bytes_column_name_to_pandasr    so    	SzC:.'8J	KBHH  $E&&!1111??##B''''ri   c                  2    \         P                  ! R 4       R# )zarrow_39313.pyN)	test_utilr   rB  ri   r5   !test_is_data_frame_race_conditionr    s     ,-ri   c                     \         P                  ! R . RO/4      p \        P                  ! R4      V P                  R&   \
        P                  ! \        RR7      ;_uu_ 4        \        P                  ! V 4      pRRR4       \        P                  ! XP                  P                  R,          4      pVR,          '       d   Q hR#   + '       g   i     LT; i)	r4   z2025-10-28T14:20:42r  z'Could not serialize pd.DataFrame.attrs:rU  NrZ  
attributesr   )r,   r-   r   fromisoformatattrsr   r   r   rD   rX   r\  loadsr9   r'  )rS   df_tablepd_metadatas      r5   $test_json_unserializable_pd_df_attrsr    s    	sI&	'B$223HIBHH[	7
 
 88B<	
 **X__55i@AK<(((((
 
s   "CC	)r  )NFNTNFF)NNr  ry  r6  r  )r   Nrh  )r   r   r\  multiprocessingr  rC  rM   collectionsr   r   r   r   r   r   zoneinfor	   
hypothesisr  hypothesis.strategies
strategiesr  r   numpyr.   numpy.testingr  rw   r
   r  r  numpy.exceptionsImportErrorpyarrow.pandas_compatr   r   pyarrow.tests.utilr   r   r   pyarrow.tests.strategiestestsr  utilr  pyarrow.vendored.versionr   pyarrowrD   r   r  pandasr,   pandas.testingrQ   pandas_examplesr   r   r  
pytestmarkr6   r[   rh   rt   rz   r|   r  r  r  r  r  r  r  rC  r*  rr  r  r  r  r  r   r$  r)  rD  r1  r  r  pandas_compatible_typesr3  r7  r9  r>  r@  rB  rI  rL  rU  rW  r[  r]  r`  rf  ri  rn  rs  ry  r}  r  r1  r  r   r   r   r   r   r   r   r   r  r   r    r  r  r  r  r  r  r  rE  rC  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  ExtensionTyper  r  r  r$  r.  r0  r8  r=  rB  rD  rI  rK  rP  rR  r  r  rW  rr  ru  ry  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rB  ri   r5   <module>r     s  $ 
    
  # > >   " 

(*(D(D% @ A A ' ' & & , 	%	L [[
>=>
&K0-{4 {4|b bJ	 IK.K.& IK,K,,}	$ }	$H~- ~-Be1 e1Pn	( n	(b`: `:F;4 ;4|BA[% [%| +. fXw$78< 9<7 !$ T11	23  4 #
1L "&1")60)4/0)6A"5WGtB*9,J((0) 	G	V	F	W	W	W	W	h	h	h	y!	y!	y!	f	f	g	!	g&	i 	"((288:&	')<=	r1	y)	d	Z(	dE	"L1	3 	4&!1:.;:.:49><"-
=$:*	0
0",*.#b#-9h1Jh
)9X
--02,j($:))  I'4, HF
"** 
!H92,21
8 3c
"34, 5,"-. - -0 BIIK!2BNN4DE "tf.> /><f"R0,f756 	# 	## '89&89:q! 4htQ6JKL% M ; :%*	% / /	0
C*4ZK4\14h&B+	+ # #L( . .
)ke  
	
 	

  	B  		  		sT   
Z Y: Z Z, :ZZ 
ZZ 	ZZZ)(Z),Z76Z7