a
    d%                     @   sz  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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,d- Z,d.d/ Z-d0d1 Z.d2d3 Z/d4d5 Z0d6d7 Z1dS )8    N)
	DataFrame
date_rangeread_csv
read_excelread_feather	read_jsonread_parquetread_pickle
read_stata
read_table)_test_decoratorsc                   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   d/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/pandas/tests/io/test_fsspec.pydf1   s    
r   c                  c   s(   t d} | d}|V  |j  d S )NfsspecZmemory)pytestimportorskip
filesystemstoreclear)r   Zmemfsr   r   r   
cleared_fs"   s    

r!   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.csvr   )parse_dates)r   to_csvencodeopenwriter   tmassert_frame_equal)r!   r   textwdf2r   r   r   test_read_csv+   s
    (r0   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)Zfsspec.registryr1   r   raises
ValueErrorr   setitemImportError)Zmonkeypatchr!   r1   err_msgr   r   r   test_reasonable_error4   s    &r;   c                 C   s.   |j ddd tddgdd}t|| d S )Nr%   Tr"   r   r   r&   Z	index_col)r'   r   r+   r,   )r!   r   r/   r   r   r   test_to_csvC   s    r=   c                 C   sF   t d d}d| }|j|dd t|dgdd}t|| d S )	Nopenpyxlxlsxzmemory://test/test.Tr"   r   r   r<   )r   r   to_excelr   r+   r,   )r!   r   extpathr/   r   r   r   test_to_excelK   s    

rC   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$   r.   )modeTr"   rr   r   r<   )	r   r   r)   r'   closedreplacer   r+   r,   )r!   rD   r   r   rB   rE   Zfsspec_objectr/   r   r   r   test_to_csv_fsspec_objectV   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 
Nar   testmem://test/test.csvtestZ	csv_writeFstorage_optionsr#   Zcsv_readrO   )r   r'   rM   r   
fsspectestdfr   r   r   test_csv_optionsl   s    
rT   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 rJ   )r   r'   rM   r   rQ   r   r   r   test_read_table_optionsv   s    
rU   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 )Nr>   r?   rK   r   ztestmem://test/test.rM   r*   FrN   readrP   )r   r   r   r@   rM   r   )rR   	extensionrS   rB   r   r   r   test_excel_options   s    

rX   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)r!   r   r   r   r   test_to_parquet_new_file   s    
r^   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 )rY   pyarrowrK   r   rL   NrM   parquet_writer[   r\   rO   parquet_readr[   rO   r   r   r   r]   rM   r   rQ   r   r   r   test_arrowparquet_options   s    
re   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 )rY   rZ   rK   r   rL   NrM   r`   ra   rb   rc   rd   rQ   r   r   r   test_fastparquet_options   s    
rf   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.csvrP   z/tips.csv.gzz/tips.csv.bz2r   r   r+   assert_equalr   name)s3_public_bucket_with_data	tips_files3sor   r   r   test_from_s3_csv   s&    
rp   protocol)Zs3Zs3aZs3nc                 C   s4   t d tt| d| j d|dt| d S )Nrg   z://ri   rP   rj   )rm   rn   rq   ro   r   r   r   test_s3_protocols   s    
rr   c                 C   sT   t d t d d| j d}|j|ddd |d t|d|d}t|| d S )NrZ   rg   rh   z/test.parquetF)r#   r[   r\   rO   rc   )r   r   rl   r]   r   r+   rk   )Zs3_public_bucketro   r   fnr/   r   r   r   test_s3_parquet   s    


rt   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 requiredr2   r%   )r   r6   r9   r   )msgr   r   r   test_not_present_exception   s    rv   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 )	Nr_   rK   r   testmem://mockfilerM   Zfeather_writerP   Zfeather_read)r   r   r   Z
to_featherrM   r   r+   r,   rR   rS   outr   r   r   test_feather_options   s    
rz   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 )NrK   r   rw   rM   Zpickle_writerP   Zpickle_read)r   Z	to_picklerM   r	   r+   r,   rx   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 )NrK   r   rw   rM   Z
json_write)r\   rO   Z	json_read)r   to_jsonrM   r   r+   r,   )rR   r\   rS   ry   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 )NrK   r   rw   rM   Zstata_writeF)rO   Zwrite_indexZ
stata_readrP   int64)r   Zto_statarM   r
   r+   r,   Zastyperx   r   r   r   test_stata_options  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tabulaterK   r   rw   rM   Zmd_writerP   )r   r   r   Zto_markdownrM   catrQ   r   r   r   test_markdown_options)  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 )
Nr_   rO   r2   	localfilerK   TrP   r   Znonfsspecpath)
r   r   r6   r7   r   r   ioBytesIOr   r]   )ZbyrS   r   r   r   test_non_fsspec_options1  s    
...r   )2r   numpyr   r   Zpandasr   r   r   r   r   r   r   r	   r
   r   Zpandas._testingZ_testingr+   Zpandas.utilr   tdZfixturer   r!   r0   r;   r=   rC   markZparametrizerI   rT   rU   rX   r^   re   Z&skip_array_manager_not_yet_implementedrf   Z
single_cpurp   rr   rt   Zskip_if_installedrv   rz   r{   r}   r   r   r   r   r   r   r   <module>   sL   0

	

	



	