
    .i              
          d dl mZmZ d dlZd dlZd dlmc mZ d dl	Z
d dlmZ d Zd Zej                   ej"                  j$                  ej"                  j&                  d                      Zd Zd Zd Zd	 Zej"                  j3                  d
d ej4                  d ej6                  d            g      ej"                  j3                  dddg      ej"                  j3                  dddg      d                      Zd Zy)    )BytesIOStringIONc                    t        j                  g dg dgddgg d      }|j                  ||        t        j                  |t        j
                  ||              t        j                  ||       5 }|j                         j                  d      }t        |      }d d d        t        j                  |t        j
                               y # 1 sw Y   3xY w)	N)g~Ϛ?g9DܜJ?g>D)?)g.4i(@g33333@g̤AAB)XYZ)indexcolumnscompressionutf8)
pd	DataFrameto_jsontmassert_frame_equal	read_jsondecompress_filereaddecoder   )r   	temp_filedffhresultdatas         c/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/io/json/test_compression.pytest_compression_roundtripr      s    		')GHCj
B JJykJ2"bll9+NO 
		I{	3  r!!&)  "bll401   s   7+CCc                      | dddd      }t        j                  |      } | dddd      }t        j                  |d      }t        j                  ||       y )Niojsonr   z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)       sT     vv7JKll#45OtVV5LMOLLeDM/=9    c                 x   t        j                  t        d            }t        j                          d}|j                  ||        t        |d      5 }|j                  ||       d d d        t        j                  d|j                   d| | |      }t        j                  ||       y # 1 sw Y   HxY w)	N {"a": [1, 2, 3], "b": [4, 5, 6]}z.jsonr   rb)KeyBodyzs3:///)r   storage_options)r   r   r   uuiduuid4r   open
put_objectnamer   r   )r   s3_bucket_publics3sor   r   keyfroundtripped_dfs           r   test_with_s3_urlr<   *   s    
 
hAB	CBZZ\N%
 CJJykJ2	i	 5!##!#45 ll
 %%&au-O
 "o.5 5s   B00B9c                     t        j                  t        d            }|j                  |dd|        t        j                  |d|       }t	        j
                  ||       y )Nr,   recordsTorientlinesr   )rA   r   )r   r   r   r   r   r   )r   r   r   r;   s       r   test_lines_with_compressionrB   >   sL    	hAB	CBJJy$KJPll9DkRO"o.r*   c                    t        j                  t        d            }|j                  |dd|        t        j                  |dd|       5 }t        j                  |      }d d d        t        j                  |       y # 1 sw Y    xY w)Nz,{"a": ["foo", "bar", "baz"], "b": [4, 5, 6]}r>   Tr?      )rA   	chunksizer   )r   r   r   r   concatr   r   )r   r   r   resr;   s        r   test_chunksize_with_compressionrH   E   sv    	hMN	OBJJy$KJP	
 )	))C.) "o.	) )s   BBc                     t        j                  t        d            }d}t        j                  t
        |      5  |j                  | d       d d d        y # 1 sw Y   y xY w)Nr,   *Unrecognized compression type: unsupportedmatchunsupportedr   )r   r   r   pytestraises
ValueErrorr   )r   r   msgs      r   'test_write_unsupported_compression_typerR   P   sN    	hAB	CB
6C	z	- 9


9-
89 9 9s   AA"c                     d}t        j                  t        |      5  t        j                  | d       d d d        y # 1 sw Y   y xY w)NrJ   rK   rM   r   )rN   rO   rP   r   r   )r   rQ   s     r   &test_read_unsupported_compression_typerT   W   s8    
6C	z	- ;
YM:; ; ;s	   ?Ainfer_stringFTpyarrow)marksto_infer
read_inferc                 <   t        j                  d|      5  | }|d||    z  }t        j                  ddgi      }|rdn|}	|rdn|}
|j                  ||	       t        j                  ||
      }t        j                  ||       d d d        y # 1 sw Y   y xY w)Nzfuture.infer_stringztest.r   rD   inferr   )r   option_contextr   r   r   r   r   )compression_onlyrY   rX   compression_to_extensionrU   tmp_pathr   filenamer   to_compressionread_compressionr   s               r   test_to_json_compressionrc   ]   s     
		0,	? *& &>{&K%LMM\\3*%$,+&07k


8
8h4DE
fb)* * *s   A2BBc                     t        j                  ddgi      }t               5 }|j                  ||        d d d        y # 1 sw Y   y xY w)Nr   rD   r   )r   r   r   r   )r   expectedbuffers      r   test_to_json_compression_moderg   {   sE    ||S1#J'H	 :f[9: : :s   A  A	)r!   r   r   r2   rN   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   pandas._testing_testingr   r   r)   skip_if_not_us_localemark
single_cpunetworkr<   rB   rH   rR   rT   parametrizeparam
skip_if_norc   rg    r*   r   <module>rw      s      ) )  2": /   /"//9; ULFLL]R]]95MNO dE]3e}5* 6 4
*2:r*   