o
    _~#g(                     @   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   sz    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 fddZ  ZS )z fsspectest.<locals>.TestMemoryFStestmemNreturnc                    s(   | dd | jd< t jdi | d S )Ntestr    )popr   super__init__)selfkwargs	__class__r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/io/test_fsspec.pyr   %   s   z)fsspectest.<locals>.TestMemoryFS.__init__)r   N)__name__
__module____qualname__protocolr   r   __classcell__r   r   r   r   TestMemoryFS!   s    r"   r   T)clobber)pytestimportorskipr   r   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   )periods)intfloatstrdt)r   npnanr   r   r   r   r   df10   s   
r8   c                  c   s*    t d} | d}|V  |j  d S )Nr   memory)r$   r%   
filesystemr(   r)   )r   memfsr   r   r   
cleared_fs<   s
   

r<   c                 C   sh   t |jdd }| dd}|| W d    n1 s w   Y  tddgd}t|| d S )NFindexztest/test.csvwbmemory://test/test.csvr5   )parse_dates)r4   to_csvencodeopenwriter   tmassert_frame_equal)r<   r8   textwdf2r   r   r   test_read_csvE   s   rK   c                 C   s   ddl m} tjtdd td W d    n1 sw   Y  d}| |dd|d	 tjt|d td
 W d    d S 1 sDw   Y  d S )Nr   )known_implementationsnosuchprotocolmatchznosuchprotocol://test/test.csvztest error message
couldexistzunimportable.CouldExist)classerrzcouldexist://test/test.csv)r'   rL   r$   raises
ValueErrorr   setitemImportError)monkeypatchr<   rL   err_msgr   r   r   test_reasonable_errorN   s   

"rY   c                 C   s.   |j ddd tddgdd}t|| d S )Nr@   Tr=   r5   r   rA   	index_col)rB   r   rF   rG   )r<   r8   rJ   r   r   r   test_to_csv]   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=   r5   r   rZ   )r$   r%   to_excelr   rF   rG   )r<   r8   extpathrJ   r   r   r   test_to_excele   s   

rb   binary_modeFTc                 C   s   t d}d}|rdnd}|j||d }|j|dd |jr#J W d    n1 s-w   Y  |dd}|j||d}t|d	gd
d}|jrMJ W d    n1 sWw   Y  t|| d S )Nr   r@   r?   rI   )modeTr=   rr5   r   rZ   )	r$   r%   rD   rB   closedreplacer   rF   rG   )r<   rc   r8   r   ra   rd   fsspec_objectrJ   r   r   r   test_to_csv_fsspec_objectp   s"   
ri   c                 C   Z   t ddgi}|jdddidd | jd dksJ tdddid	 | jd dks+J d S 
Nar   testmem://test/test.csvr   	csv_writeFstorage_optionsr>   csv_readrp   )r   rB   r   r   r+   dfr   r   r   test_csv_options   s   
ru   c                 C   rj   rk   )r   rB   r   r   rs   r   r   r   test_read_table_options   s   
rv   c                 C   sr   t d 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s7J d S )Nr]   r^   rl   r   ztestmem://test/test.r   rE   Fro   readrr   )r$   r%   r   r_   r   r   )r+   	extensionrt   ra   r   r   r   test_excel_options   s   

ry   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<   r8   r   r   r   test_to_parquet_new_file   s   

r   c                 C   h   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s2J dS )rz   pyarrowrl   r   rm   Nr   parquet_writer|   r}   rp   parquet_readr|   rp   r$   r%   r   r~   r   r   rs   r   r   r   test_arrowparquet_options   s   
r   c                 C   r   )rz   r{   rl   r   rm   Nr   r   r   r   r   r   rs   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.csvrr   z/tips.csv.gzz/tips.csv.bz2r$   r%   rF   assert_equalr   name)s3_public_bucket_with_data	tips_files3sor   r   r   test_from_s3_csv   s&   
r   r    )s3s3as3nc                 C   s4   t d tt| d| j d|dt| d S )Nr   z://r   rr   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 )Nr{   r   r   z/test.parquetF)r>   r|   r}   rp   r   )r$   r%   r   r~   r   rF   r   )s3_public_bucketr   r8   fnrJ   r   r   r   test_s3_parquet   s   


r   r   c                  C   s@   d} t jt| d td W d    d S 1 sw   Y  d S )Nz?Missing optional dependency 'fsspec'|fsspec library is requiredrN   r@   )r$   rS   rV   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 )	Nr   rl   r   testmem://mockfiler   feather_writerr   feather_read)r$   r%   r   
to_featherr   r   rF   rG   r+   rt   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sJ tdddid}| jd dks*J t|| d S )Nrl   r   r   r   pickle_writerr   pickle_read)r   	to_pickler   r	   rF   rG   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sJ td|ddid}| jd dks,J t|| d S )Nrl   r   r   r   
json_write)r}   rp   	json_read)r   to_jsonr   r   rF   rG   )r+   r}   rt   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sJ tdddid	}| jd dks+J t||d
 d S )Nrl   r   r   r   stata_writeF)rp   write_index
stata_readrr   int64)r   to_statar   r
   rF   rG   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s%J d S )Ntabulaterl   r   r   r   md_writerr   )r$   r%   r   to_markdownr   catrs   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w   Y  t jtdd tdddid W d    n1 s>w   Y  t } t jtdd t| ddid W d    n1 saw   Y  tddgi}t jtdd |j	d	ddid W d    d S 1 sw   Y  d S )
Nr   rp   rN   	localfilerl   Trr   r   nonfsspecpath)
r$   r%   rS   rT   r   r   ioBytesIOr   r~   )byrt   r   r   r   test_non_fsspec_optionsK  s   
"r   )5r   numpyr6   r$   pandasr   r   r   r   r   r   r   r	   r
   r   pandas._testing_testingrF   pandas.utilr   tdmarkfilterwarnings
pytestmarkfixturer+   r8   r<   rK   rY   r\   rb   parametrizeri   ru   rv   ry   r   r   &skip_array_manager_not_yet_implementedr   
single_cpur   r   r   skip_if_installedr   r   r   r   r   r   r   r   r   r   r   <module>   sX    0


	

	



	