U
    -e                     @   s  d dl Z d dlZd dlZd dlZd dlmZ ej	dZ
ejdejde
dejdejjdgZejdejde
dejdejjdgZejdejdejje
gdejdejjdgZdd	 Zd
d ZdddZdddZdddZdd Zdd Zd ddZdd Zd!ddZdS )"    N)utilz(ignore:Passing 'use_legacy:FutureWarninguse_legacy_datasetT)ZmarksFc                 K   sB   dd l m} ddlm} || r.tj| } |j| |f| | S )Nr   )_pandas_api)	pyarrow.parquetparquetZpyarrow.pandas_compatr   Zis_data_framepaTablefrom_pandasZwrite_table)tablepathkwargspqr    r   ]/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/pyarrow/tests/parquet/common.py_write_table/   s    
r   c                  O   s(   dd l m} |j| |}|jdd |S )Nr   T)full)r   r   Z
read_tablevalidate)argsr   r   r
   r   r   r   _read_table;   s    r   c                 C   sH   |pi }|pi }t  }t| |f| t | }t|fd|i|S )Nr   )r   ZBufferOutputStreamr   ZBufferReadergetvaluer   )r
   read_table_kwargswrite_table_kwargsr   writerreaderr   r   r   _roundtrip_tableC   s    r   c                 K   sT   |d kr| }|pi }t | |||d}||s2tt ||||d}||sPtd S )N)r   r   r   )r   equalsAssertionError)r
   expectedr   r   r   resultr   r   r   _check_roundtripO   s    r   c                 C   s"   t j| }t|||d}| S )N)r   r   )r   r   r	   r   Z	to_pandas)dfZwrite_kwargsr   r
   r   r   r   r   _roundtrip_pandas_dataframea   s     r!   c                 C   s@   t d}t |}t jjt|j|jt|j|j| d|S )Nint_)size)npiinforandomrandintmaxminastype)r#   dtypeZplatform_int_infor%   r   r   r   _random_integersi   s    

r,   c                 C   s   t tj| |dS )Nr+   )r   arrayr$   arange)r#   r+   r   r   r   _range_integersr   s    r0   '  c                 C   s   dd l }tj| |t| tjt| tjt| tjt| tj	t| tj
t| tjt| tjt| tjtj| tjtj| tjdtj| dkdd t| D d g|  d g|  d}|S )Nr   r-   c                 S   s   g | ]}t d qS )
   )r   Zrands).0ir   r   r   
<listcomp>   s     z#_test_dataframe.<locals>.<listcomp>)uint8uint16uint32uint64int8int16int32int64float32float64boolstringsZall_noneZall_none_category)pandasr$   r&   seed	DataFramer,   r6   r7   r8   r9   r:   r;   r<   r=   randnr*   r>   r/   r?   range)r#   rC   pdr    r   r   r   _test_dataframev   s&    







rH   c                 C   sV   dd l m} t| tjr| }ntj| }t }t||ddd |	d |
|S )Nr   ZSNAPPYz2.6)compressionversion)r   r   
isinstancer   r   r	   ioBytesIOr   seekZParquetFile)Ztable_or_dfr   Za_tablebufr   r   r   make_sample_file   s    
rP   c                 C   sr  dd l }tj| tj| tjdtj| tjdtj| tjdtj| tjdtj| tj	dtj| tj	dtj| tj
dtj| tjdtj| tjdtj| tjdtj| dktjd| ddtjd| ddtjd| ddtjd| d	d|d
d t| D dg|  d gdd t| d D  d g d g|  d gd dd t| d D  d}|rh|d d|d< ||S )Nr   r-   z2016-01-01T00:00:00.001zdatetime64[ms]z2016-01-01T00:00:00.000001zdatetime64[us]z2016-01-01T00:00:00.000000001zdatetime64[ns]ztimedelta64[s]c                 S   s   g | ]}t |qS r   strr3   xr   r   r   r5      s     z#alltypes_sample.<locals>.<listcomp> c                 S   s   g | ]}t |qS r   rQ   rS   r   r   r   r5      s        c                 S   s   g | ]}d g|d  qS )N   r   rS   r   r   r   r5      s     )r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   Zdatetime_msZdatetime_usZdatetime_ns	timedeltarR   Z	empty_strZstr_with_nullsnullZ	null_listrR   categoryZstr_category)rB   r$   r&   rC   r/   r6   r7   r8   r9   r;   r<   r=   r>   r?   rE   ZSeriesrF   r*   rD   )r#   rC   ZcategoricalrG   Zarraysr   r   r   alltypes_sample   s@     r[   )NNF)NNF)F)r1   r   )r1   r   F)rL   numpyr$   ZpytestZpyarrowr   Zpyarrow.testsr   markfilterwarningsZlegacy_filter_markZparametrizeparamZdatasetZparametrize_legacy_datasetskipZ(parametrize_legacy_dataset_not_supportedZxfailZ parametrize_legacy_dataset_fixedr   r   r   r   r!   r,   r0   rH   rP   r[   r   r   r   r   <module>   sP       
  

	
