o
    _~#g                  	   @   s   d dl mZmZ d dlZd dlm  mZ d dlZ	d dl
mZ dd Zdd Zejejjdd Zd	d
 Zdd Zdd Zdd Zejddejdeddgejdddgejdddgdd Zdd ZdS )    )BytesIOStringIONc              	   C   s   t jg dg dgddgg dd}t E}|j|| d t|t j|| d t|| }| 	d}t
|}W d    n1 sEw   Y  t|t | W d    d S 1 s^w   Y  d S )	N)g~Ϛ?g9DܜJ?g>D)?)g.4i(@g33333@g̤AAB)XYZ)indexcolumnscompressionutf8)pd	DataFrametmensure_cleanto_jsonassert_frame_equal	read_jsondecompress_filereaddecoder   )r   dfpathfhresultdata r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/io/json/test_compression.pytest_compression_roundtrip   s   

"r   c                 C   sD   | dddd}t |}| dddd}t j|dd}t|| d S )Niojsonr   ztsframe_v012.jsonztsframe_v012.json.zipzipr   )r   r   r   r   )datapathuncompressed_pathuncompressed_dfcompressed_pathcompressed_dfr   r   r   test_read_zipped_json    s
   
r(   c              	   C   s   t td}t +}|j|| d t|d}|jd|d W d    n1 s*w   Y  W d    n1 s9w   Y  t jd|j d| |d}t	|| d S )	N {"a": [1, 2, 3], "b": [4, 5, 6]}r   rbztest-1)KeyBodyzs3://z/test-1)r   storage_options)
r   r   r   r   r   r   open
put_objectnamer   )r   s3_public_buckets3sor   r   froundtripped_dfr   r   r   test_with_s3_url*   s   
r5   c                 C   sj   t  '}ttd}|j|dd| d tj|d| d}t || W d    d S 1 s.w   Y  d S )Nr)   recordsTorientlinesr   )r9   r   )r   r   r   r   r   r   r   )r   r   r   r4   r   r   r   test_lines_with_compression=   s   
"r:   c              	   C   s   t  =}ttd}|j|dd| d tj|dd| d}t|}W d    n1 s.w   Y  t || W d    d S 1 sDw   Y  d S )Nz,{"a": ["foo", "bar", "baz"], "b": [4, 5, 6]}r6   Tr7      )r9   	chunksizer   )r   r   r   r   r   r   concatr   )r   r   r   resr4   r   r   r   test_chunksize_with_compressionE   s   
"r?   c               	   C   s   t td} t 1}d}tjt|d | j|dd W d    n1 s'w   Y  W d    d S W d    d S 1 s?w   Y  d S )Nr)   *Unrecognized compression type: unsupportedmatchunsupportedr   )	r   r   r   r   r   pytestraises
ValueErrorr   )r   r   msgr   r   r   'test_write_unsupported_compression_typeQ   s   
"rH   c               	   C   s~   t  1} d}tjt|d tj| dd W d    n1 s w   Y  W d    d S W d    d S 1 s8w   Y  d S )Nr@   rA   rC   r   )r   r   rD   rE   rF   r   r   )r   rG   r   r   r   &test_read_unsupported_compression_typeY   s   
"rI   infer_stringFTpyarrow)marksto_infer
read_inferc              	   C   s   t d|X | }d}||| 7 }t ddgi}|rdn|}|r#dn|}	t|}
|j|
|d t j|
|	d}t|| W d    n1 sIw   Y  W d    d S W d    d S 1 saw   Y  d S )Nzfuture.infer_stringztest.r   r;   inferr   )r   option_contextr   r   r   r   r   r   )compression_onlyrN   rM   compression_to_extensionrJ   r   filenamer   to_compressionread_compressionr   r   r   r   r   test_to_json_compression`   s   "rV   c                 C   sJ   t ddgi}t }|j|| d W d    d S 1 sw   Y  d S )Nr   r;   r   )r   r   r   r   )r   expectedbufferr   r   r   test_to_json_compression_mode{   s   "rY   )r    r   r   rD   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   pandas._testing_testingr   r   r(   skip_if_not_us_localemark
single_cpur5   r:   r?   rH   rI   parametrizeparam
skip_if_norV   rY   r   r   r   r   <module>   s*    
