
    ds                     L   d dl mZ d dlZd dlmc mZ d dlZd dl	m
Z d dlmZ d Zd Zej        ej        j        d                         Zd Zd Zd	 Zd
 Zej                            dddg          ej                            dddg          d                         Zd ZdS )    )BytesION)_compression_to_extensionc                    t          j        g dg dgddgg d          }t          j                    5 }|                    ||            t          j        |t          j        ||                      t          j        ||           5 }|                                	                    d          }d d d            n# 1 swxY w Y   t          j        |t          j        |                     d d d            d S # 1 swxY 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decode)r   dfpathfhresults        a/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/io/json/test_compression.pytest_compression_roundtripr      s   		'	'	')G)G)GHCj
 
 
B 
		 8d


4[
111
b",t"M"M"MNNN k22 	.bWWYY%%f--F	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.
b",v"6"67778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s6   AC>(B?3C>?C	C>C	*C>>DDc                      | dddd          }t          j        |          } | dddd          }t          j        |d          }t          j        ||           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_dfs        r   test_read_zipped_jsonr*      sl     vv7JKKl#455OhtVV5LMMOLeDDDM/=99999    c                    t          j        d          }t          j                    5 }|                    ||            t          |d          5 }|                    d                              d|           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        d| |          }t          j        ||           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_dfs          r   test_with_s3_urlr9   '   sm   
 
8	9	9B			 Od


4[
111$ 	O}--88XA8NNN	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	OO O O O O O O O O O O O O O O
 l!{D  O "o.....s5   (B+B;BB	BB	BB"%B"c                    t          j                    5 }t          j        d          }|                    |dd|            t          j        |d|           }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr-   recordsTorientlinesr   )r>   r   )r   r   r   r   r   r   )r   r   r   r8   s       r   test_lines_with_compressionr?   9   s    			 3d\<==


4	;
OOO,t4[QQQ
b/222	3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s   AA;;A?A?c                 j   t          j                    5 }t          j        d          }|                    |dd|            t          j        |dd|           5 }t          j        |          }d d d            n# 1 swxY w Y   t          j        ||           d d d            d S # 1 swxY w Y   d S )Nz,{"a": ["foo", "bar", "baz"], "b": [4, 5, 6]}r;   Tr<      )r>   	chunksizer   )r   r   r   r   r   concatr   )r   r   r   resr8   s        r   test_chunksize_with_compressionrE   A   s0   			 3d\HII


4	;
OOO\{
 
 
 	- innO	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	b/2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s6   AB(A;/B(;A?	?B(A?	B((B,/B,c                     t          j        d          } t          j                    5 }d}t	          j        t          |          5  |                     |d           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr-   *Unrecognized compression type: unsupportedmatchunsupportedr   )r   r   r   r   pytestraises
ValueErrorr   )r   r   msgs      r   'test_write_unsupported_compression_typerO   M   s   	8	9	9B			 8d:]:S111 	8 	8JJtJ777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	88 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s5   BA*B*A.	.B1A.	2BB	Bc                      t          j                    5 } d}t          j        t          |          5  t          j        | d           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NrG   rH   rJ   r   )r   r   rK   rL   rM   r   r   )r   rN   s     r   &test_read_unsupported_compression_typerQ   U   s    			 :d:]:S111 	: 	:L=9999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:: : : : : : : : : : : : : : : : : :s4   A-A	A-A	A-A	A--A14A1to_inferTF
read_inferc                 R   | }d}|t           |         z  }t          j        ddgi          }|rdn|}|rdn|}t          j        |          5 }|                    ||           t          j        ||          }	t          j        |	|           d d d            d S # 1 swxY w Y   d S )Nztest.r   rA   inferr   )r   r   r   r   r   r   r   r   )
compression_onlyrS   rR   r   filenamer   to_compressionread_compressionr   r   s
             r   test_to_json_compressionrZ   \   s    #K H)+66H	sQCj	!	!B (9WWkN",=ww+		"	" *d


4^
444d0@AAA
fb)))* * * * * * * * * * * * * * * * * *s   ABB #B c                     t          j        ddgi          }t                      5 }|                    ||            d d d            d S # 1 swxY w Y   d S )Nr   rA   r   )r   r   r   r   )r   expectedbuffers      r   test_to_json_compression_moder^   q   s    |S1#J''H	 :f[999: : : : : : : : : : : : : : : : : :s   AAA)r!   r   rK   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   pandas._testing_testingr    pandas.tests.io.test_compressionr   r   r*   skip_if_not_us_localemark
single_cpur9   r?   rE   rO   rQ   parametrizerZ   r^    r+   r   <module>rl      s`          ) ) ) ) ) ) ) ) )           F F F F F F8 8 8": : : / /  / 3 3 3	3 	3 	38 8 8: : : dE]33e}55* * 65 43*&: : : : :r+   