3
Ud                 @   s   d dl Z d dljjZd dlZd dlj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jdddge jjdddgdd ZdS )    Nc             C   s   t jdddgdddggddgd	d
dgd}tj b}|j|| d tj|t j|| d tj|| }|j j	d}W d Q R X tj|t j| W d Q R X d S )Ng~Ϛ?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_jsonZdecompress_filereaddecode)r	   dfpathfhresult r   Y/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/io/json/test_compression.pytest_compression_roundtrip	   s    
r   c             C   sD   | dddd}t j|}| dddd}t j|dd}tj|| d S )Niojsondataztsframe_v012.jsonztsframe_v012.json.zipzip)r	   )r   r   r   r   )ZdatapathZuncompressed_pathZuncompressed_dfZcompressed_pathZcompressed_dfr   r   r   test_read_zipped_json   s
    
r   c             C   st   t jd}tj >}|j|| d t|d}|jdjd|d W d Q R X W d Q R X t jd| d}tj|| d S )Nz {"a": [1, 2, 3], "b": [4, 5, 6]})r	   rbzpandas-testztest-1)KeyZBodyzs3://pandas-test/test-1)	r   r   r   r   r   openZBucketZ
put_objectr   )r	   Zs3_resourcer   r   froundtripped_dfr   r   r   test_with_s3_url$   s    

(r%   c             C   sP   t j >}tjd}|j|dd| d tj|d| d}t j|| W d Q R X d S )Nz {"a": [1, 2, 3], "b": [4, 5, 6]}recordsT)orientlinesr	   )r(   r	   )r   r   r   r   r   r   )r	   r   r   r$   r   r   r   test_lines_with_compression3   s
    

r)   c             C   s\   t j J}tjd}|j|dd| d tj|dd| d}tj|}t j|| W d Q R X d S )Nz,{"a": ["foo", "bar", "baz"], "b": [4, 5, 6]}r&   T)r'   r(   r	      )r(   	chunksizer	   )r   r   r   r   r   concatr   )r	   r   r   resr$   r   r   r   test_chunksize_with_compression<   s    


r.   c              C   sN   t jd} tj 2}d}tjt|d | j|dd W d Q R X W d Q R X d S )Nz {"a": [1, 2, 3], "b": [4, 5, 6]}z*Unrecognized compression type: unsupported)matchunsupported)r	   )r   r   r   r   pytestraises
ValueErrorr   )r   r   msgr   r   r   'test_write_unsupported_compression_typeG   s
    

r5   c              C   sD   t j 2} d}tjt|d tj| dd W d Q R X W d Q R X d S )Nz*Unrecognized compression type: unsupported)r/   r0   )r	   )r   r   r1   r2   r3   r   r   )r   r4   r   r   r   &test_read_unsupported_compression_typeO   s    
r6   to_inferTF
read_inferc       
      C   s   | }|dkrt j| d d}|dkr2|d7 }n||7 }tjddgi}|rRdn|}|r^dn|}tj|.}|j||d	 tj||d	}	tj|	| W d Q R X d S )
Nr   z is not supported for to_csvztest.gzipgzr   r*   Zinfer)r	   )	r1   skipr   r   r   r   r   r   r   )
Zcompression_onlyr8   r7   r	   filenamer   Zto_compressionZread_compressionr   r   r   r   r   test_to_json_compressionV   s    
r=   )r1   Zpandas.util._test_decoratorsutilZ_test_decoratorstdZpandasr   Zpandas._testingZ_testingr   r   r   Zskip_if_not_us_localer%   r)   r.   r5   r6   markZparametrizer=   r   r   r   r   <module>   s   

	