o
    g                     @   s   d dl 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dd Zd	d
 Zdd Zdd Zdd Zejdddgejdddgdd Zdd ZdS )    )BytesIONc              	   C   s   t jg dg dgddgg dd}t A}|j|| d t|t j|| d t|| }| 	d}W d    n1 sAw   Y  t|t | W d    d S 1 sZw   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decode)r   dfpathfhresult r   c/home/ubuntu/cloudmapper/venv/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jsondataz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 d}t .}|j|| d t|d}|djd|d W d    n1 s+w   Y  W d    n1 s:w   Y  t jd| |d}t|| d S )	N {"a": [1, 2, 3], "b": [4, 5, 6]}r
   rbzpandas-testztest-1)KeyBodyzs3://pandas-test/test-1)r   storage_options)	r   r   r   r   r   openBucket
put_objectr   )r   s3_resources3sor   r   froundtripped_dfr   r   r   test_with_s3_url&   s   

r4   c                 C   sf   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   )r8   r   )r   r   r   r   r   r   )r   r   r   r3   r   r   r   test_lines_with_compression7   s   

"r9   c              	   C   s   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 sBw   Y  d S )Nz,{"a": ["foo", "bar", "baz"], "b": [4, 5, 6]}r5   Tr6      )r8   	chunksizer   )r   r   r   r   r   concatr   )r   r   r   resr3   r   r   r   test_chunksize_with_compression@   s   

"r>   c               	   C   s   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   pytestraises
ValueErrorr   )r   r   msgr   r   r   'test_write_unsupported_compression_typeM   s   

"rG   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?   r@   rB   r
   )r   r   rC   rD   rE   r   r   )r   rF   r   r   r   &test_read_unsupported_compression_typeU   s   
"rH   to_inferTF
read_inferc           
      C   s   | }|dkrt | d d}|dkr|d7 }n||7 }tddgi}|r)dn|}|r/dn|}t|}|j||d	 tj||d	}	t|	| W d    d S 1 sVw   Y  d S )
Nr!   z is not supported for to_csvztest.gzipgzr   r:   inferr
   )	rC   skipr   r   r   r   r   r   r   )
compression_onlyrJ   rI   r   filenamer   to_compressionread_compressionr   r   r   r   r   test_to_json_compression\   s   
"rS   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_modez   s   "rV   )r   r   rC   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   pandas._testing_testingr   r   r'   skip_if_not_us_localer4   r9   r>   rG   rH   markparametrizerS   rV   r   r   r   r   <module>   s"    

	