a
    Pf(                     @   s  d dl Z d dlZd dlZd dlmZmZmZmZm	Z	m
Z
mZmZmZmZ d dlmZ d dlmZ ejdZejdd Zejdd Zejd	d
 Zdd Zdd Zdd Zdd Zej dddgdd Z!dd Z"dd Z#dd Z$dd Z%d d! Z&ej'd"d# Z(ejj)d$d% Z*ejj)ej d&g d'd(d) Z+ejj)ej'd*d+ Z,e-d,d-d. Z.d/d0 Z/d1d2 Z0d3d4 Z1d5d6 Z2d7d8 Z3d9d: Z4dS );    N)
	DataFrame
date_rangeread_csv
read_excelread_feather	read_jsonread_parquetread_pickle
read_stata
read_table)_test_decoratorsz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                  c   sx   t d ddlm}  ddlm} ddlm} G dd d|}| d|d	d
 | V  |dd  d |j	d< |j
  d S )Nfsspecr   )register_implementation)MemoryFileSystem)	_registryc                       s,   e Zd ZdZdgZdd fddZ  ZS )z fsspectest.<locals>.TestMemoryFStestmemN)returnc                    s(   | dd | jd< t jf i | d S )Ntestr   )popr   super__init__)selfkwargs	__class__ T/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/io/test_fsspec.pyr   %   s    z)fsspectest.<locals>.TestMemoryFS.__init__)__name__
__module____qualname__protocolr   r   __classcell__r   r   r   r   TestMemoryFS!   s   r"   r   T)clobber)pytestimportorskipr   r   Zfsspec.implementations.memoryr   fsspec.registryr   r   r   storeclear)r   r   registryr"   r   r   r   
fsspectest   s    

r*   c                   C   s(   t ddgdtjgddgtdddd	S )
N      g       @tsz
2018-06-18   )Zperiods)intfloatstrdt)r   npnanr   r   r   r   r   df10   s    
r6   c                  c   s(   t d} | d}|V  |j  d S )Nr   Zmemory)r$   r%   
filesystemr'   r(   )r   Zmemfsr   r   r   
cleared_fs<   s    

r8   c                 C   sh   t |jdd }| dd}|| W d    n1 s@0    Y  tddgd}t|| d S )NFindexztest/test.csvwbmemory://test/test.csvr3   )parse_dates)r2   to_csvencodeopenwriter   tmassert_frame_equal)r8   r6   textwdf2r   r   r   test_read_csvE   s
    (rG   c                 C   s   ddl m} tjtdd td W d    n1 s80    Y  d}| |dd|d	 tjt|d td
 W d    n1 s0    Y  d S )Nr   )known_implementationsZnosuchprotocolmatchznosuchprotocol://test/test.csvztest error messageZ
couldexistzunimportable.CouldExist)classerrzcouldexist://test/test.csv)r&   rH   r$   raises
ValueErrorr   setitemImportError)Zmonkeypatchr8   rH   err_msgr   r   r   test_reasonable_errorN   s    &rR   c                 C   s.   |j ddd tddgdd}t|| d S )Nr<   Tr9   r3   r   r=   Z	index_col)r>   r   rB   rC   )r8   r6   rF   r   r   r   test_to_csv]   s    rT   c                 C   sF   t d d}d| }|j|dd t|dgdd}t|| d S )	Nopenpyxlxlsxzmemory://test/test.Tr9   r3   r   rS   )r$   r%   to_excelr   rB   rC   )r8   r6   extpathrF   r   r   r   test_to_excele   s    

rZ   binary_modeFTc                 C   s   t d}d}|rdnd}|j||d (}|j|dd |jrFJ W d    n1 sZ0    Y  |dd}|j||d*}t|d	gd
d}|jrJ W d    n1 s0    Y  t|| d S )Nr   r<   r;   rE   )modeTr9   rr3   r   rS   )	r$   r%   r@   r>   closedreplacer   rB   rC   )r8   r[   r6   r   rY   r\   Zfsspec_objectrF   r   r   r   test_to_csv_fsspec_objectp   s    
((r`   c                 C   sZ   t ddgi}|jdddidd | jd dks4J tdddid	 | jd dksVJ d S 
Nar   testmem://test/test.csvr   Z	csv_writeFstorage_optionsr:   Zcsv_readre   )r   r>   r   r   r*   dfr   r   r   test_csv_options   s    
ri   c                 C   sZ   t ddgi}|jdddidd | jd dks4J tdddid	 | jd dksVJ d S ra   )r   r>   r   r   rg   r   r   r   test_read_table_options   s    
rj   c                 C   sr   t d d}tddgi}d| }|j|ddidd	 | jd dksLJ t|dd
id | jd d
ksnJ d S )NrU   rV   rb   r   ztestmem://test/test.r   rA   Frd   readrf   )r$   r%   r   rW   r   r   )r*   	extensionrh   rY   r   r   r   test_excel_options   s    

rm   c                 C   s    t d |jddddd dS )CRegression test for writing to a not-yet-existent GCS Parquet file.fastparquetr<   TN)r:   enginecompression)r$   r%   
to_parquet)r8   r6   r   r   r   test_to_parquet_new_file   s    
rs   c                 C   sh   t d tddgi}|jdddddid | jd dks@J tdddd	id
 | jd d	ksdJ dS )rn   pyarrowrb   r   rc   Nr   parquet_writerp   rq   re   parquet_readrp   re   r$   r%   r   rr   r   r   rg   r   r   r   test_arrowparquet_options   s    
rz   c                 C   sh   t d tddgi}|jdddddid | jd dks@J tdddd	id
 | jd d	ksdJ dS )rn   ro   rb   r   rc   Nr   ru   rv   rw   rx   ry   rg   r   r   r   test_fastparquet_options   s    
r{   c                 C   st   t d ttd| j d|dt| ttd| j d|dt| ttd| j d|dt| d S )Ns3fss3://	/tips.csvrf   z/tips.csv.gzz/tips.csv.bz2r$   r%   rB   assert_equalr   name)s3_public_bucket_with_data	tips_files3sor   r   r   test_from_s3_csv   s&    
r   r    )Zs3Zs3aZs3nc                 C   s4   t d tt| d| j d|dt| d S )Nr|   z://r~   rf   r   )r   r   r    r   r   r   r   test_s3_protocols   s    
r   c                 C   sT   t d t d d| j d}|j|ddd |d t|d|d}t|| d S )Nro   r|   r}   z/test.parquetF)r:   rp   rq   re   rx   )r$   r%   r   rr   r   rB   r   )Zs3_public_bucketr   r6   fnrF   r   r   r   test_s3_parquet   s    


r   r   c                  C   s>   d} t jt| d td W d    n1 s00    Y  d S )Nz?Missing optional dependency 'fsspec'|fsspec library is requiredrI   r<   )r$   rM   rP   r   )msgr   r   r   test_not_present_exception  s    r   c                 C   sn   t d tddgi}|jdddid | jd dks<J tdddid}| jd dks^J t|| d S )	Nrt   rb   r   testmem://mockfiler   Zfeather_writerf   Zfeather_read)r$   r%   r   Z
to_featherr   r   rB   rC   r*   rh   outr   r   r   test_feather_options  s    
r   c                 C   sd   t ddgi}|jdddid | jd dks2J tdddid}| jd dksTJ t|| d S )Nrb   r   r   r   Zpickle_writerf   Zpickle_read)r   Z	to_pickler   r	   rB   rC   r   r   r   r   test_pickle_options  s    r   c                 C   sh   t ddgi}|jd|ddid | jd dks4J td|ddid}| jd dksXJ t|| d S )Nrb   r   r   r   Z
json_write)rq   re   Z	json_read)r   to_jsonr   r   rB   rC   )r*   rq   rh   r   r   r   r   test_json_options'  s    r   c                 C   sl   t ddgi}|jdddidd | jd dks4J tdddid	}| jd dksVJ t||d
 d S )Nrb   r   r   r   Zstata_writeF)re   Zwrite_indexZ
stata_readrf   Zint64)r   Zto_statar   r
   rB   rC   Zastyper   r   r   r   test_stata_options8  s    
r   c                 C   sN   t d tddgi}|jdddid | jd dks<J | dsJJ d S )Ntabulaterb   r   r   r   Zmd_writerf   )r$   r%   r   Zto_markdownr   catrg   r   r   r   test_markdown_optionsC  s
    
r   c                  C   s   t d t jtdd  tdddid W d    n1 s>0    Y  t jtdd  tdddid W d    n1 s|0    Y  t } t jtdd  t| ddid W d    n1 s0    Y  tddgi}t jtdd" |j	d	ddid W d    n1 s0    Y  d S )
Nrt   re   rI   	localfilerb   Trf   r   Znonfsspecpath)
r$   r%   rM   rN   r   r   ioBytesIOr   rr   )Zbyrh   r   r   r   test_non_fsspec_optionsK  s    
...r   )5r   numpyr4   r$   Zpandasr   r   r   r   r   r   r   r	   r
   r   Zpandas._testingZ_testingrB   Zpandas.utilr   tdmarkfilterwarningsZ
pytestmarkZfixturer*   r6   r8   rG   rR   rT   rZ   Zparametrizer`   ri   rj   rm   rs   rz   Z&skip_array_manager_not_yet_implementedr{   Z
single_cpur   r   r   Zskip_if_installedr   r   r   r   r   r   r   r   r   r   r   <module>   sV   0


	

	



	