o
    G¾±h\X  ã                   @   sÂ  d dl mZ d dlZd dlZd dlZzd dlZW n ey#   dZY nw d dlZ	d dl
m  mZ d dlmZ zd dlZW n	 eyF   Y nw dd„ Zdd„ Zejjdd	„ ƒZejjejjd
d„ ƒƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zejjdd„ ƒZdd„ Zdd„ Z dd„ Z!d d!„ Z"d"d#„ Z#d$d%„ Z$d&d'„ Z%d(d)„ Z&d*d+„ Z'd,d-„ Z(d.d/„ Z)d0d1„ Z*d2d3„ Z+d4d5„ Z,d6d7„ Z-d8d9„ Z.d:d;„ Z/d<d=„ Z0ejjd>d?„ ƒZ1d@dA„ Z2dBdC„ Z3dDdE„ Z4dS )Fé    )ÚOrderedDictN)ÚVersionc                  C   s@   d} t jt| d t ¡  W d   ƒ d S 1 sw   Y  d S )NzGDo not call Schema's constructor directly, use `pyarrow.schema` instead)Úmatch)ÚpytestÚraisesÚ	TypeErrorÚpaÚSchema)Úmsg© r   úZ/var/www/html/Persson_Maskin/env/lib/python3.10/site-packages/pyarrow/tests/test_schema.pyÚtest_schema_constructor_errors&   s   
"ÿr   c                  C   s6   g d¢} | D ]}t t|ƒ}|ƒ }t|ƒ|ksJ ‚qd S )N)Úint8Úint16Úint32Úint64Úuint8Úuint16Úuint32Úuint64)Úgetattrr   Ústr)ÚdtypesÚnameÚfactoryÚtr   r   r   Útest_type_integers-   s   
ýr   c                  C   sˆ  t  d¡} ttjƒtdƒk rt  d¡} t ¡ t jft ¡ t jft 	¡ t j	ft 
¡ t j
ft ¡ t jft ¡ t jft ¡ t jft ¡ t jft ¡ t jft ¡ t jft ¡ t jft ¡ t jft ¡ t jft ¡ | ft ¡ | ft d¡| ft ¡ t jft ¡ t jft ¡ t jft d¡t jft ¡ t jft ¡ t jft ¡ t jft t 	¡ ¡t jft t ¡ t ¡ ¡t jfg}|D ]\}}| ¡ |ksÁJ ‚qµd S )Núdatetime64[ms]z2.0.0údatetime64[ns]Úmsé   ) ÚnpÚdtyper   ÚpdÚ__version__r   ÚnullÚobject_Úbool_r   r   r   r   r   r   r   r   Úfloat16Úfloat32Úfloat64Údate32Údate64Ú	timestampÚbinaryÚlarge_binaryÚbinary_viewÚstringÚlarge_stringÚstring_viewÚlist_Úmap_Úto_pandas_dtype)ÚM8ÚcasesÚ
arrow_typeÚ
numpy_typer   r   r   Útest_type_to_pandas_dtype7   s@   



æÿr;   c                   C   s   t  d¡ d S )Nzarrow_7980.py)Ú	test_utilÚinvoke_scriptr   r   r   r   Ú&test_type_to_pandas_dtype_check_import\   s   r>   c                  C   sP   t  ¡ } t  | ¡}t|ƒdksJ ‚t  dt  ¡ ¡}t  |¡}t|ƒdks&J ‚d S )Nzlist<item: int32>Úmy_itemzlist<my_item: string>)r   r   r4   r   Úfieldr1   )Ú
value_typeÚ	list_typer@   Úl2r   r   r   Útest_type_listc   s   

rD   c                  C   s4   t  ¡ } | t  ¡ ksJ ‚| dksJ ‚| dksJ ‚d S )Nr   é   )r   r   )Úvalr   r   r   Útest_type_comparisonsm   s   rG   c                  C   s
  g dt  ¡ f‘dt  ¡ f‘dt  ¡ f‘dt  ¡ f‘dt  ¡ f‘dt  ¡ f‘dt  ¡ f‘dt  ¡ f‘d	t  ¡ f‘d
t  ¡ f‘dt  ¡ f‘dt  ¡ f‘dt  ¡ f‘dt  ¡ f‘dt  ¡ f‘dt  ¡ f‘dt  	¡ f‘dt  	¡ f‘dt  
¡ f‘dt  
¡ f‘dt  ¡ f‘dt  ¡ f‘dt  ¡ f‘dt  ¡ f‘dt  ¡ f‘dt  d¡f‘dt  d¡f‘dt  d¡f‘d t  d!¡f‘d"t  d¡f‘d#t  d¡f‘d$t  d¡f‘d%t  d!¡f‘d&t  d¡f‘d't  d¡f‘d(t  d¡f‘d)t  d!¡f‘d*t  ¡ f‘} | D ]\}}t  |¡|ksJ ‚qôd S )+NÚi1r   Úi2r   Úi4r   Úi8r   Úu1r   Úu2r   Úu4r   Úu8r   Úf4r)   Úf8r*   r+   r,   r1   r   r.   ú	time32[s]Úsz
time32[ms]r   z
time64[us]Úusú
time64[ns]Únsztimestamp[s]ztimestamp[ms]ztimestamp[us]ztimestamp[ns]zduration[s]zduration[ms]zduration[us]zduration[ns]Úmonth_day_nano_interval)r   r   r   r   r   r   r   r   r   r)   r*   r+   r,   r1   r.   Útime32Útime64r-   ÚdurationrW   Útype_for_alias)r8   rF   Úexpectedr   r   r   Útest_type_for_aliast   s    
ÿ
þ
ý
ü
û
ú
ù
ø
	÷

ö
õ
ô
ó
ò
ñ
ð
ï
î
í
ì
ë
ê
é
è
çæåäãâá à!ß"Þ#Ý$Ü%Û
&Ú)ÿr]   c                  C   s   t  ¡ } t| ƒdksJ ‚d S )Nr1   )r   r1   r   )r   r   r   r   Útest_type_string¢   s   r^   c                  C   s2   d} t jd| d}|jdksJ ‚|j| ksJ ‚d S )NzAmerica/Los_AngelesrV   )Útz)r   r-   Úunitr_   )r_   r   r   r   r   Útest_type_timestamp_with_tz§   s   ra   c                  C   sî   t  d¡} t  d¡}t  d¡}t  d¡}| jdksJ ‚|jdks"J ‚|jdks)J ‚|jdks0J ‚t| ƒdks8J ‚t|ƒdks@J ‚t t¡ t  d¡ W d   ƒ n1 sUw   Y  t t¡ t  d¡ W d   ƒ d S 1 spw   Y  d S )NrS   r   rT   rV   rR   rU   )r   rX   rY   r`   r   r   r   Ú
ValueError)Út1Út2Út3Út4r   r   r   Útest_time_types®   s    



ÿ"ÿrg   c                  C   sZ  t  d¡t ¡ ft  d¡t ¡ ft  d¡t ¡ ft  d¡t ¡ ft  d¡t ¡ ft  d¡t ¡ ft  d¡t 	¡ ft  d¡t 
¡ ft  d	¡t ¡ ft  d
¡t ¡ ft  d¡t ¡ ft  d¡t ¡ ft  d¡t ¡ ft  d¡t d¡ft  d¡t d¡ft  d¡t d¡ft  d¡t d¡ft  d¡t d¡ft  d¡t d¡ft  d¡t d¡ft  d¡t d¡fg} | D ]\}}t |¡}||ksÃJ ‚q´t d¡t ¡ ksÏJ ‚t t j¡t ¡ ksÛJ ‚t d¡t ¡ ksæJ ‚t t¡t ¡ ksñJ ‚t t¡ t t  d¡¡ W d   ƒ n	1 s
w   Y  t t¡ t d¡ W d   ƒ d S 1 s&w   Y  d S )NÚboolr   r   r   r   r   r   r   r(   r)   r*   ÚUÚSzdatetime64[s]rS   r   r   zdatetime64[us]rT   r   rV   ztimedelta64[s]ztimedelta64[ms]ztimedelta64[us]ztimedelta64[ns]ÚOÚnot_convertible_to_dtype)r!   r"   r   r'   r   r   r   r   r   r   r   r(   r)   r*   r1   r.   r-   rZ   Úfrom_numpy_dtypeÚstr_rh   r   r   ÚNotImplementedErrorr   )r8   ÚdtÚptÚresultr   r   r   Útest_from_numpy_dtypeÃ   sF   ë
ÿ$ÿrs   c               	   C   s*  t  dt  ¡ ¡t  dt  ¡ ¡t  dt  t  ¡ ¡¡g} t  | ¡}|jg d¢ks(J ‚|jt  ¡ t  ¡ t  t  ¡ ¡gks;J ‚t	|ƒdksCJ ‚|d j
dksLJ ‚|d j| d jksXJ ‚| d¡j
dksbJ ‚| d¡j| d jksoJ ‚t|ƒdkswJ ‚t t¡ t  d g¡ W d   ƒ d S 1 sŽw   Y  d S )NÚfooÚbarÚbaz©rt   ru   rv   é   r   úBfoo: int32
bar: string
baz: list<item: int8>
  child 0, item: int8)r   r@   r   r1   r4   r   ÚschemaÚnamesÚtypesÚlenr   ÚtypeÚreprr   r   r   ©ÚfieldsÚschr   r   r   Útest_schemaî   s    ý
&"ÿrƒ   c               	   C   sj   t  dt  ¡ ¡t  dt  ¡ ¡t  dt  t  ¡ ¡¡g} t  | ¡}t |¡}|ƒ d us+J ‚~|ƒ d u s3J ‚d S )Nrt   ru   rv   )	r   r@   r   r1   r4   r   rz   ÚweakrefÚref)r   rz   Úwrr   r   r   Útest_schema_weakref	  s   ý

r‡   c                  C   s(  d} t jt jdddddidt jdd	d
ddidgd| id}| ¡ d| d d… › dt| ƒd › ks5J ‚t jdgddid ¡ }|dksGJ ‚|jddd| d d… › dt| ƒd › dks`J ‚|jddddd| d d… › dt| ƒd › dks{J ‚|jdddd ks†J ‚|jdddd!d"ks’J ‚d S )#NaÈ  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla accumsan vel
turpis et mollis. Aliquam tincidunt arcu id tortor blandit blandit. Donec
eget leo quis lectus scelerisque varius. Class aptent taciti sociosqu ad
litora torquent per conubia nostra, per inceptos himenaeos. Praesent
faucibus, diam eu volutpat iaculis, tellus est porta ligula, a efficitur
turpis nulla facilisis quam. Aliquam vitae lorem erat. Proin a dolor ac libero
dignissim mollis vitae eu mauris. Quisque posuere tellus vitae massa
pellentesque sagittis. Aenean feugiat, diam ac dignissim fermentum, lorem
sapien commodo massa, vel volutpat orci nisi eu justo. Nulla non blandit
sapien. Quisque pretium vestibulum urna eu vehicula.rt   r   FÚkey1Úvalue1©Úmetadataru   r1   TÚkey3Úvalue3ÚloremzŽfoo: int32 not null
  -- field metadata --
  key1: 'value1'
bar: string
  -- field metadata --
  key3: 'value3'
-- schema metadata --
lorem: 'éA   z' + )Úf0r   ÚkeyÚCvaluexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzjf0: int32
-- schema metadata --
key: 'valuexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')Útruncate_metadataé\   z (... é[   z chars omitted)é2   )r“   Úshow_field_metadataÚelement_size_limitz>foo: int32 not null
bar: string
-- schema metadata --
lorem: 'é*   é)   )r“   Úshow_schema_metadatazofoo: int32 not null
  -- field metadata --
  key1: 'value1'
bar: string
  -- field metadata --
  key3: 'value3')r“   r—   r›   zfoo: int32 not null
bar: string)r   rz   r@   Ú	to_stringr}   )rŽ   Ú	my_schemarr   r   r   r   Ú#test_schema_to_string_with_metadata  s^   ÿ
ÿþü
ø
øÿÿ
ø
ø
þ
ü
üþÿÿ	þþrž   c                  C   sÆ   dt  ¡ fdt  ¡ fdt  t  ¡ ¡fg} t  | ¡}|jg d¢ks"J ‚|jt  ¡ t  ¡ t  t  ¡ ¡gks5J ‚t|ƒdks=J ‚t	|ƒdksEJ ‚t
 t¡ t  dg¡ W d   ƒ d S 1 s\w   Y  d S ©Nrt   ru   rv   rw   rx   ry   )rt   N)r   r   r1   r4   r   rz   r{   r|   r}   r   r   r   r   r€   r   r   r   Útest_schema_from_tuples^  s   

ý
&"ÿr    c                  C   sÒ   t dt ¡ fdt ¡ fdt t ¡ ¡fgƒ} t | ¡}|jg d¢ks$J ‚|jt ¡ t ¡ t t ¡ ¡gks7J ‚t	|ƒdks?J ‚t
|ƒdksGJ ‚t dgƒ} t t¡ t | ¡ W d   ƒ d S 1 sbw   Y  d S rŸ   )r   r   r   r1   r4   r   rz   r{   r|   r}   r   r   r   r   r€   r   r   r   Útest_schema_from_mappingr  s   

ý
&
"ÿr¡   c               	   C   s¨  t  dt  ¡ ¡t  dt  ¡ ¡t  dt  t  ¡ ¡¡g} t  | ¡}|jg d¢ks(J ‚|jt  ¡ t  ¡ t  t  ¡ ¡gks;J ‚t	|ƒdksCJ ‚t
|ƒdksKJ ‚|d jdksTJ ‚|d j| d jks`J ‚t t¡ | d¡| d ksqJ ‚W d   ƒ n1 s{w   Y  t t¡ | d¡d u sJ ‚W d   ƒ n1 s™w   Y  t ttf¡ | d¡d u s¯J ‚W d   ƒ n1 s¹w   Y  | d¡d	ksÇJ ‚| d¡dd
gksÒJ ‚d S )Nrt   ru   )rt   ru   rt   rx   zBfoo: int32
bar: string
foo: list<item: int8>
  child 0, item: int8r   é   Úxxxéÿÿÿÿé   )r   r@   r   r1   r4   r   rz   r{   r|   r}   r   r   r~   r   ÚwarnsÚFutureWarningÚfield_by_nameÚUserWarningÚget_field_indexÚget_all_field_indicesr€   r   r   r   Útest_schema_duplicate_fields‡  s,   ý
&ÿÿÿr¬   c                  C   s  t  dt  ¡ ¡ ddi¡} |  ¡ | gksJ ‚t jdt  ¡ dd}t jdt  | |g¡dd}| ¡ t  dt  ¡ ¡ ddi¡t jd	t  ¡ ddgksJJ ‚t  dt  | |g¡¡}| ¡ t  dt  ¡ ¡ ddi¡t  d	t  ¡ ¡gkspJ ‚t  d
t  |g¡¡}| ¡ t  dt  | |g¡¡gksŒJ ‚d S )Nrt   ó   fooó   barru   F©ÚnullableÚffzff.foozff.barÚfffzfff.ff)r   r@   r   Úwith_metadataÚflattenr*   Ústruct)r   Úf1r±   r²   r   r   r   Útest_field_flatten§  s   
þ
þ(r·   c               	   C   sž   t  dt  ¡ ¡t  dt  ¡ ¡t  dt  t  ¡ ¡¡g} t  | ¡}|jd u s&J ‚dddœ}| |¡}|j|ks7J ‚| 	¡ }|jd u sBJ ‚| 	¡ }|jd u sMJ ‚d S )Nrt   ru   rv   r®   ó   badger©r­   s   pandas)
r   r@   r   r1   r4   r   rz   r‹   r³   Úremove_metadata)r   Ús1r‹   Ús2Ús3Ús4r   r   r   Útest_schema_add_remove_metadata»  s   ý


r¿   c               	   C   sÎ   t  dt  ¡ ¡t  dt  ¡ ¡t  dt  t  ¡ ¡¡g} t  | ¡}| d| d¡ t  	¡ ¡¡}| d¡j
t  	¡ ks9J ‚| d¡j
t  ¡ ksEJ ‚| d| d¡ d¡¡}| d¡jdu s[J ‚| d¡jdu seJ ‚d S )Nrt   ru   rv   r   FT)r   r@   r   r1   r4   r   rz   ÚsetÚ	with_typer   r~   Úwith_nullabler°   )r   r»   r¼   r½   r   r   r   Útest_schema_set_fieldÓ  s   ý
rÃ   c               	   C   sæ   t  dt  ¡ ¡t  dt  ¡ ¡t  dt  t  ¡ ¡¡g} dddœ}t  | ¡}t  | ¡}t j| |d}t j| |d}|j|dd	s@J ‚|j|dd	sIJ ‚| |¡sPJ ‚|j|dd	rYJ ‚|j|dd	rbJ ‚| d
= t  | ¡}| |¡rqJ ‚d S )Nrt   ru   rv   r®   r¸   r¹   rŠ   T©Úcheck_metadatar¤   )r   r@   r   r1   r4   r   rz   Úequals©r   r‹   Úsch1Úsch2Úsch3Úsch4r   r   r   Útest_schema_equalså  s"   ý



rÌ   c                  C   sx   t  t  dt  ¡ ¡t  dt  ¡ ¡g¡} t  t  dt  ¡ ¡t jdt  ¡ ddidg¡}| j|ddr3J ‚|  |¡s:J ‚d S )Nrt   ru   ÚaÚalpharŠ   TrÄ   )r   rz   r@   r   r1   rÆ   )Úschema1Úschema2r   r   r   Ú,test_schema_equals_propagates_check_metadataý  s   þþrÑ   c               	   C   sj   t  t  dt  ¡ ¡g¡} d dt  ddg¡fD ]}t t¡ |  |¡ W d   ƒ n1 s-w   Y  qd S )NrÍ   r1   r¢   r¥   )	r   rz   r@   r   Úarrayr   r   r   rÆ   )rz   rF   r   r   r   Útest_schema_equals_invalid_type  s   ÿ€ÿrÓ   c               	   C   sÆ   t  dt  ¡ ¡t  dt  ¡ ¡t  dt  t  ¡ ¡¡g} dddœ}t  | ¡}t  | ¡}t j| |d}t j| |d}||ks=J ‚||ksCJ ‚||ksIJ ‚||krOJ ‚||ksUJ ‚|g ks[J ‚|dksaJ ‚d S )Nrt   ru   rv   r®   r¸   r¹   rŠ   )r   r@   r   r1   r4   r   rz   rÇ   r   r   r   Útest_schema_equality_operators  s    ý


rÔ   c               	   C   s  t  dt  ¡ ¡t  dt  ¡ ¡t  dt  t  ¡ ¡¡g} t  | ¡}| d¡jdks)J ‚| d¡jdks3J ‚| d¡jdks=J ‚t 	t
¡ | d¡ W d   ƒ n1 sRw   Y  t 	t¡ | d¡ W d   ƒ n1 slw   Y  t 	t¡ | d¡ W d   ƒ d S 1 s‡w   Y  d S )	Nrt   ru   rv   r   r¤   Úotherg        é   )r   r@   r   r1   r4   r   rz   r   r   r   ÚKeyErrorr   Ú
IndexError©r   rz   r   r   r   Útest_schema_get_fields/  s"   ý
ÿÿ"ÿrÚ   c               	   C   sê   t  dt  ¡ ¡t  dt  ¡ ¡t  dt  t  ¡ ¡¡g} t  | ¡}|d  |d ¡s*J ‚|d  |d ¡s5J ‚|d  |d	 ¡s@J ‚t 	t
¡ |d
  W d   ƒ n1 sTw   Y  t 	t
¡ |d  W d   ƒ d S 1 snw   Y  d S )Nrt   ru   rv   r¤   r¥   éþÿÿÿr¢   éýÿÿÿr   éüÿÿÿrx   )r   r@   r   r1   r4   r   rz   rÆ   r   r   rØ   rÙ   r   r   r   Útest_schema_negative_indexingD  s   ý

ÿ
"ÿrÞ   c                  C   sN   t  dt  t  ¡ t  ¡ ¡¡t  dt  ¡ ¡g} t  | ¡}d}t|ƒ|ks%J ‚d S )NÚoneÚtwozCone: dictionary<values=string, indices=int16, ordered=0>
two: int32)r   r@   Ú
dictionaryr   r1   r   rz   r   )r   r‚   r\   r   r   r   Ú"test_schema_repr_with_dictionariesX  s   þ
ÿrâ   c                 C   sþ  t  ¡ t  ¡ t  ¡ t  d¡t  t  ¡ ¡t  t  ¡ t  ¡ ¡t  t  dd¡t  dd¡g¡t  t  dt  ¡ ¡t  dt  	¡ ¡gt j
j¡t  t  dt  ¡ ¡t  dt  	¡ ¡gt j
j¡t  d¡t  d¡t  ¡ t  ¡ t  d¡t  d	¡t  d
d¡t  dd¡t  dd¡t  dd¡t jddddidt  t  dt  ¡ ¡¡t  t  dt  ¡ ¡¡t  t jdt  ¡ ddt  dt  ¡ ¡¡g}|D ]}|  |  |¡¡}||ksÂJ ‚q²g }t|ƒD ]\}}t|t jƒrÙ| |¡ qÉ| t  d|› |¡¡ qÉt j|ddid}|  |  |¡¡}||ksýJ ‚d S )Né
   rÍ   r   Úbr1   rS   rT   r   rV   é	   rx   é   rÖ   r    r¥   éL   é&   r­   r®   rŠ   Úelementr‘   Fr¯   ÚvalueÚ_f)r   r   r1   r.   r4   r5   rµ   r@   Úunionr   ÚlibÚUnionMode_SPARSEÚUnionMode_DENSErX   rY   r+   r,   r-   Ú	decimal32Ú	decimal64Ú
decimal128Ú
decimal256r   Ú
large_listÚloadsÚdumpsÚ	enumerateÚ
isinstanceÚFieldÚappendrz   )Úpickle_moduler8   rF   Úroundtrippedr   ÚiÚfrz   r   r   r   Útest_type_schema_picklingg  sd   

þþýþý



ÿà$rÿ   c                  C   s¼   t  t  dt  ¡ ¡t  dt  t  ¡ t  ¡ ¡¡t  dt  t  t  ¡ ¡¡¡g¡} t  t jdt  ¡ ddt  dt  ¡ ¡g¡}| |fD ]}| ¡ }t	|t j
ƒsMJ ‚|jdksTJ ‚|j|ks[J ‚q?d S )	Nr   r¶   Úf2rÍ   Fr¯   rä   r   )r   rz   r@   r   rá   r   r1   r4   Úempty_tablerø   ÚTableÚnum_rows)rÏ   rÐ   rz   Útabler   r   r   Útest_empty_tableœ  s   ýþür  c                  C   s–   dd l } ttdƒƒ|  ttdƒƒ¡g d¢tjg d¢dd| jg d¢|  ¡ dg}|D ]}| jd|i|d	}tj	 
|¡}tj 
|¡j}||ksHJ ‚q*d S )
Nr   rã   )rt   ru   Nrv   Úqux)z2007-07-13T01:23:34.123456789z2006-01-13T12:34:56.432539784z2010-08-13T05:46:57.437699912r   )r"   )r¢   r¥   NrÍ   )Úindex)ÚpandasÚlistÚrangeÚCategoricalr!   rÒ   Ú
Int32DtypeÚ	DataFramer   r	   Úfrom_pandasr  rz   )r#   ÚinputsÚdataÚdfrz   r\   r   r   r   Útest_schema_from_pandas¯  s   

ü÷ür  c                  C   s–   t  t  dt  ¡ ¡t  dt  ¡ ¡g¡} t | ¡tjdkrdndks#J ‚|  ddi¡}t |¡t | ¡ks6J ‚|  ddi¡}t |¡t |¡ksIJ ‚d S )	Nrt   ru   l        é   é   r‘   zsome metadatazsome more metadata)	r   rz   r@   r   r1   ÚsysÚ	getsizeofÚmaxsizer³   )rz   rÐ   Úschema3r   r   r   Útest_schema_sizeofÄ  s   þ r  c                  C   sà  t  t  dt  ¡ ¡t  dt  ¡ ¡t  dt  t  ¡ ¡¡g¡} t  t  dt  ¡ ¡t  dt  ¡ ¡g¡}t  t  dt  t  ¡ t  ¡ ¡¡g¡}t  t  dt  	¡ ¡t  dt  ¡ ¡g¡}t  
| ||g¡}t  t  dt  ¡ ¡t  dt  ¡ ¡t  dt  t  ¡ ¡¡t  dt  ¡ ¡t  dt  t  ¡ t  ¡ ¡¡g¡}| |¡s•J ‚t t j¡ t  
||g¡ W d   ƒ n1 s­w   Y  t  
| ||f¡}| |¡sÁJ ‚t j
||gdd}| |¡sÑJ ‚t t¡ t  
| dg¡ W d   ƒ d S 1 séw   Y  d S )	Nrt   ru   rv   r  ÚquuxÚ
permissive)Úpromote_optionsr¢   )r   rz   r@   r   r1   r4   r   r'   rá   r   Úunify_schemasrÆ   r   r   ÚArrowTypeErrorr   )rÍ   rä   ÚcÚdrr   r\   r   r   r   Útest_schema_mergeÓ  sF   ýþÿþûÿ"ÿr!  c                  C   sT   d} d}t jt jdt  ¡ d| idgd|id}dt|ƒv s J ‚dt|ƒv s(J ‚d S )Ns   abcdefÿ s   ghijklÿ Úintsr‘   rŠ   ÚabcdefÚghijkl)r   rz   r@   r   r   )Údata1Údata2rz   r   r   r   Útest_undecodable_metadataþ  s   þr'  )5Úcollectionsr   r  r„   r   Únumpyr!   ÚImportErrorÚpyarrowr   Úpyarrow.tests.utilÚtestsÚutilr<   Úpyarrow.vendored.versionr   r  r#   r   r   Úmarkr;   Ú	processesr>   rD   rG   r]   r^   ra   rg   rs   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   Ú<module>   sn   ÿÿ

$
.
*H 	5
+