a
    nÝEbÔ&  ã                   @   s(  d dl Z d dlZd dlZd dlm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ddgdejgdd	ged
dd�dœƒZe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(¡d0d1„ ƒƒZ-e )d2¡d3d4„ ƒZ.ej" #d5g d6¢¡e )d2¡d7d8„ ƒƒZ/ej,e )d2¡e )d(¡d9d:„ ƒƒƒZ0e 1d;¡d<d=„ ƒZ2e )d+¡d>d?„ ƒZ3d@dA„ Z4dBdC„ Z5dDdE„ Z6e )dF¡dGdH„ ƒZ7e )d+¡dIdJ„ ƒZ8dS )Ké    N)ÚVERSIONS)
Ú	DataFrameÚ
date_rangeÚread_csvÚ
read_excelÚread_featherÚ	read_jsonÚread_parquetÚread_pickleÚ
read_stataÚ
read_table)Ú_test_decoratorsé   é   g       @ÚtÚsz
2018-06-18é   )Zperiods)ÚintÚfloatÚstrÚdtF©Úindexc                  c   s(   t  d¡} |  d¡}|V  |j ¡  d S )NÚfsspecZmemory)ÚpytestÚimportorskipÚ
filesystemÚstoreÚclear)r   Zmemfs© r   ú[/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/io/test_fsspec.pyÚ
cleared_fs"   s    

r!   c                 C   sT   |   dd¡�}| t¡ W d   ƒ n1 s,0    Y  tddgd�}t t|¡ d S )Nztest/test.csvÚwbúmemory://test/test.csvr   )Úparse_dates)ÚopenÚwriteÚtextr   ÚtmÚassert_frame_equalÚdf1)r!   ÚwÚdf2r   r   r    Útest_read_csv+   s    (r-   c                 C   sª   ddl m} ddlm} |j ¡  tjtdd�� t	dƒ W d   ƒ n1 sN0    Y  d}|  
|dd	|d
œ¡ tjt|d�� t	dƒ W d   ƒ n1 sœ0    Y  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   r.   Zfsspec.registryr/   Útargetr   r   ÚraisesÚ
ValueErrorr   ÚsetitemÚImportError)Úmonkeypatchr!   r.   r/   Úerr_msgr   r   r    Útest_reasonable_error3   s    
&ýr;   c                 C   s.   t jddd� tddgdd�}t t |¡ d S )Nr#   Tr   r   r   ©r$   Z	index_col)r*   Úto_csvr   r(   r)   )r!   r,   r   r   r    Útest_to_csvD   s    r>   ÚextÚxlsZxlsxc                 C   sV   |dkrt  d¡ n
t  d¡ d|› �}tj|dd� t|dgdd	�}t t|¡ d S )
Nr@   ÚxlwtÚopenpyxlzmemory://test/test.Tr   r   r   r<   )r   r   r*   Úto_excelr   r(   r)   )r!   r?   Úpathr,   r   r   r    Útest_to_excelL   s    

rE   Úbinary_modeTc                 C   sœ   t  d¡}d}|rdnd}|j||d� ¡ }tj|dd� |jrDJ ‚| ¡  | dd¡}|j||d� ¡ }t|d	gd
d�}|jr„J ‚| ¡  t	 
t|¡ d S )Nr   r#   r"   r+   )ÚmodeTr   Úrr   r   r<   )r   r   r%   r*   r=   ÚclosedÚcloseÚreplacer   r(   r)   )r!   rF   r   rD   rG   Zfsspec_objectr,   r   r   r    Útest_to_csv_fsspec_object[   s"    

ý
rL   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©rR   )r   r=   rP   r   ©Ú
fsspectestÚdfr   r   r    Útest_csv_optionsu   s    
ÿrW   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 rM   )r   r=   rP   r   rT   r   r   r    Útest_read_table_options   s    
ÿrX   Ú	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\J ‚t|ddid� | jd dks~J ‚d S )Nr@   rA   rB   rN   r   ztestmem://test/test.rP   r&   FrQ   ÚreadrS   )r   r   r   rC   rP   r   )rU   rY   rV   rD   r   r   r    Útest_excel_optionsŠ   s    

r[   Úfastparquetc                 C   s   t 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)r*   Ú
to_parquet)r9   r!   r   r   r    Útest_to_parquet_new_file›   s    ÿra   ÚpyarrowÚ2)Úmin_versionc                 C   s^   t ddgiƒ}|jdddddid� | jd dks6J ‚tdddd	id
� | jd d	ksZJ ‚dS )r]   rN   r   rO   rb   NrP   Úparquet_write©r^   r_   rR   Úparquet_read©r^   rR   ©r   r`   rP   r	   rT   r   r   r    Útest_arrowparquet_options£   s    üýrj   c                 C   s^   t ddgiƒ}|jdddddid� | jd dks6J ‚tdddd	id
� | jd d	ksZJ ‚dS )r]   rN   r   rO   r\   NrP   re   rf   rg   rh   ri   rT   r   r   r    Útest_fastparquet_options¶   s    üýrk   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.csvrS   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    ÿ
þ
þrq   Úprotocol)Zs3Zs3aZs3nc                 C   s    t  td| |d�t|ƒ¡ d S )Nz%s://pandas-test/tips.csvrS   rl   )rn   ro   rr   rp   r   r   r    Útest_s3_protocolsÚ   s    þrs   c                 C   s6   d}t j|ddd |d� t|d|d�}t t |¡ d S )Nzs3://pandas-test/test.parquetFr\   )r   r^   r_   rR   rh   )r*   r`   r	   r(   rm   )rn   rp   Úfnr,   r   r   r    Útest_s3_parquetã   s    
ÿru   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 requiredr0   r#   )r   r5   r8   r   )Úmsgr   r   r    Útest_not_present_exceptionï   s    rw   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 )NrN   r   útestmem://afilerP   Zfeather_writerS   Zfeather_read)r   Z
to_featherrP   r   r(   r)   ©rU   rV   Ú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 )NrN   r   rx   rP   Zpickle_writerS   Zpickle_read)r   Z	to_picklerP   r
   r(   r)   ry   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 )NrN   r   rx   rP   Z
json_write)r_   rR   Z	json_read)r   Úto_jsonrP   r   r(   r)   )rU   r_   rV   rz   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 )NrN   r   rx   rP   Zstata_writeF)rR   Zwrite_indexZ
stata_readrS   Zint64)r   Zto_statarP   r   r(   r)   Zastypery   r   r   r    Útest_stata_options  s    
ÿr   Útabulatec                 C   s†   dd l }dd l}| j tjj|jtd ko6|jtd kdt	d�¡ t
ddgiƒ}|jddd	id
� |jd d	kstJ ‚| d¡s‚J ‚d S )Nr   r   r€   zFails on the min version build)Úreasonr5   rN   rx   rP   Zmd_writerS   )r   r€   ÚnodeZ
add_markerr   ÚmarkZxfailÚ__version__r   ÚFileNotFoundErrorr   Zto_markdownrP   Úcat)ÚrequestrU   r   r€   rV   r   r   r    Útest_markdown_options%  s    üÿrˆ   c                  C   s  t jtdd��  tdddid� W d   ƒ n1 s40    Y  t jtdd��  tdddid� W d   ƒ n1 sr0    Y  t ¡ } t jtdd��  t| ddid� W d   ƒ n1 s¸0    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 )	NrR   r0   Ú	localfilerN   TrS   r   Znonfsspecpath)	r   r5   r6   r   r	   ÚioÚBytesIOr   r`   )ZbyrV   r   r   r    Útest_non_fsspec_options;  s    ...rŒ   )9rŠ   ÚnumpyÚnpr   Zpandas.compat._optionalr   Zpandasr   r   r   r   r   r   r	   r
   r   r   Zpandas._testingZ_testingr(   Zpandas.utilr   ÚtdÚnanr*   r   r=   Úencoder'   Zfixturer!   r-   r;   r>   rƒ   ZparametrizerE   rL   rW   rX   r[   Z
skip_if_nora   rj   Z&skip_array_manager_not_yet_implementedrk   rq   rs   ru   Zskip_if_installedrw   r{   r|   r~   r   rˆ   rŒ   r   r   r   r    Ú<module>   sl   0
üÿ







	

		
