U
    ÎZj�%  ã                   @   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d„ ƒZejdd„ ƒZdd	„ Zd
d„ Zdd„ Zej dddg¡dd„ ƒZej dddg¡dd„ ƒZdd„ Zdd„ Z ej dddg¡dd„ ƒZ!e "d¡d d!„ ƒZ#ej"d"d#d$�d%d&„ ƒZ$ej%e "d¡d'd(„ ƒƒZ&ejj'e "d)¡d*d+„ ƒƒZ(ejj'ej d,d-d.d/g¡e "d)¡d0d1„ ƒƒƒZ)ejj'ej%e "d)¡e "d¡d2d3„ ƒƒƒƒZ*e +d4¡d5d6„ ƒZ,e "d"¡d7d8„ ƒZ-d9d:„ Z.d;d<„ Z/d=d>„ Z0e "d?¡d@dA„ ƒZ1e "d"¡dBdC„ ƒZ2dS )Dé    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   ú^/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/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   sT   t |jdd�ƒ ¡ }|  dd¡�}| |¡ W 5 Q R X 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} ddlm} |j ¡  tjtdd�� t	dƒ W 5 Q R X d}|  
|dd	|d
œ¡ tjt|d�� t	dƒ W 5 Q R X d S )Nr   )Úregistry)Úknown_implementationsZnosuchprotocol©Úmatchznosuchprotocol://test/test.csvztest error messageZ
couldexistzunimportable.CouldExist)ÚclassÚerrzcouldexist://test/test.csv)r   r1   Zfsspec.registryr2   Útargetr    r   ÚraisesÚ
ValueErrorr   ÚsetitemÚImportError)Zmonkeypatchr!   r1   r2   Ú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_csvE   s    r?   ÚextÚxlsZxlsxc                 C   sV   |dkrt  d¡ n
t  d¡ d|› �}|j|dd� t|dgdd	�}t ||¡ d S )
NrA   ÚxlwtÚopenpyxlzmemory://test/test.Tr"   r   r   r>   )r   r   Úto_excelr   r+   r,   )r!   r@   r   Úpathr/   r   r   r   Útest_to_excelM   s    

rF   Úbinary_modeFTc                 C   sœ   t  d¡}d}|rdnd}|j||d� ¡ }|j|dd� |jrDt‚| ¡  | dd¡}|j||d� ¡ }t|d	gd
d�}|jr„t‚| ¡  t	 
||¡ d S )Nr   r%   r$   r.   )ÚmodeTr"   Úrr   r   r>   )r   r   r)   r'   ÚclosedÚAssertionErrorÚcloseÚreplacer   r+   r,   )r!   rG   r   r   rE   rH   Zfsspec_objectr/   r   r   r   Útest_to_csv_fsspec_object\   s"    

ý
rN   c                 C   sZ   t ddgiƒ}|jdddidd� | jd dks4t‚tdddid	� | jd dksVt‚d S ©
NÚar   útestmem://test/test.csvÚtestZ	csv_writeF©Ústorage_optionsr#   Zcsv_read©rT   )r   r'   rR   rK   r   ©Ú
fsspectestÚdfr   r   r   Útest_csv_optionsv   s      ÿrY   c                 C   sZ   t ddgiƒ}|jdddidd� | jd dks4t‚tdddid	� | jd dksVt‚d S rO   )r   r'   rR   rK   r   rV   r   r   r   Útest_read_table_options€   s      ÿrZ   Ú	extensionc                 C   s‚   |dkrt  d¡ n
t  d¡ tddgiƒ}d|› �}|j|ddid	d
� | jd dks\t‚t|ddid� | jd dks~t‚d S )NrA   rB   rC   rP   r   ztestmem://test/test.rR   r*   FrS   ÚreadrU   )r   r   r   rD   rR   rK   r   )rW   r[   rX   rE   r   r   r   Útest_excel_options‹   s    

r]   Úfastparquetc                 C   s   |j ddddd� dS )úCRegression test for writing to a not-yet-existent GCS Parquet file.r%   Tr^   N)r#   ÚengineÚcompression)Ú
to_parquet)r!   r   r   r   r   Útest_to_parquet_new_fileœ   s       ÿrc   ÚpyarrowÚ2)Úmin_versionc                 C   s^   t ddgiƒ}|jdddddid� | jd dks6t‚tdddd	id
� | jd d	ksZt‚dS )r_   rP   r   rQ   rd   NrR   Úparquet_write©r`   ra   rT   Úparquet_read©r`   rT   ©r   rb   rR   rK   r   rV   r   r   r   Útest_arrowparquet_options¤   s    üýrl   c                 C   s^   t ddgiƒ}|jdddddid� | jd dks6t‚tdddd	id
� | jd d	ksZt‚dS )r_   rP   r   rQ   r^   NrR   rg   rh   ri   rj   rk   rV   r   r   r   Útest_fastparquet_options·   s    üýrm   Zs3fsc                 C   sL   t  td|d�t|ƒ¡ t  td|d�t|ƒ¡ t  td|d�t|ƒ¡ d S )Nzs3://pandas-test/tips.csvrU   zs3://pandas-test/tips.csv.gzzs3://pandas-test/tips.csv.bz2©r+   Úassert_equalr   )Ús3_resourceÚ	tips_fileÚs3sor   r   r   Útest_from_s3_csvË   s    
 ÿ
þ
þrs   ÚprotocolZs3Zs3aZs3nc                 C   s    t  td| |d�t|ƒ¡ d S )Nz%s://pandas-test/tips.csvrU   rn   )rp   rq   rt   rr   r   r   r   Útest_s3_protocolsÜ   s    þru   c                 C   s6   d}|j |ddd |d� t|d|d�}t ||¡ d S )Nzs3://pandas-test/test.parquetFr^   )r#   r`   ra   rT   rj   )rb   r   r+   ro   )rp   rr   r   Úfnr/   r   r   r   Útest_s3_parquetæ   s        ÿrw   r   c               	   C   s*   d} t jt| d�� tdƒ W 5 Q R X d S )Nz?Missing optional dependency 'fsspec'|fsspec library is requiredr3   r%   )r   r8   r;   r   )Úmsgr   r   r   Útest_not_present_exceptionó   s    ry   c                 C   sd   t ddgiƒ}|jdddid� | jd dks2t‚tdddid�}| jd dksTt‚t ||¡ d S )NrP   r   útestmem://afilerR   Zfeather_writerU   Zfeather_read)r   Z
to_featherrR   rK   r   r+   r,   ©rW   rX   Ú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s2t‚tdddid�}| jd dksTt‚t ||¡ d S )NrP   r   rz   rR   Zpickle_writerU   Zpickle_read)r   Z	to_picklerR   rK   r	   r+   r,   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s4t‚td|ddid�}| jd dksXt‚t ||¡ d S )NrP   r   rz   rR   Z
json_write)ra   rT   Z	json_read)r   Úto_jsonrR   rK   r   r+   r,   )rW   ra   rX   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s4t‚tdddid	�}| jd dksVt‚t || d
¡¡ d S )NrP   r   rz   rR   Zstata_writeF)rT   Zwrite_indexZ
stata_readrU   Zint64)r   Zto_statarR   rK   r
   r+   r,   Zastyper{   r   r   r   Útest_stata_options  s      ÿr�   Útabulatec                 C   sD   t ddgiƒ}|jdddid� | jd dks2t‚|  d¡s@t‚d S )NrP   r   rz   rR   Zmd_writerU   )r   Zto_markdownrR   rK   ÚcatrV   r   r   r   Útest_markdown_options)  s    r„   c               	   C   sÄ   t jtdd�� tdddid� W 5 Q R X t jtdd�� tdddid� W 5 Q R X t ¡ } t jtdd�� t| ddid� W 5 Q R X tddgiƒ}t jtdd�� |jdddid� W 5 Q R X d S )	NrT   r3   Ú	localfilerP   TrU   r   Znonfsspecpath)	r   r8   r9   r   r   ÚioÚBytesIOr   rb   )ZbyrX   r   r   r   Útest_non_fsspec_options1  s    rˆ   )3r†   Ú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?   ÚmarkZparametrizerF   rN   rY   rZ   r]   Z
skip_if_norc   rl   Z&skip_array_manager_not_yet_implementedrm   Z
single_cpurs   ru   rw   Zskip_if_installedry   r}   r~   r€   r�   r„   rˆ   r   r   r   r   Ú<module>   sd   0

	





	

		
