HOME


sh-3ll 1.0
DIR:/usr/local/lib64/python3.6/site-packages/pandas/tests/io/__pycache__/
Upload File :
Current File : //usr/local/lib64/python3.6/site-packages/pandas/tests/io/__pycache__/test_pickle.cpython-36.pyc
3

���hh8�	@s<dZddlZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
ddlZddlZddl
mZmZmZddljjZddlZddlmZddljZddlmZmZe�Zejdd�d	d
��Z dPdd�Z!d
d�Z"dd�Z#dd�Z$dd�Z%dd�Z&dd�Z'dd�Z(dd�Z)ejej*j+ej*j,e-�dddd ��Z.eje.d!�d"d��Z/d#d$�Z0d%d&�Z1d'd(�Z2d)d*�Z3d+d,�Z4ejd-d.��Z5Gd/d0�d0�Z6Gd1d2�d2�Z7ej8j9d3d4gd5ejd6d7d8g�fd9ej:j;d6d7d8gd:d;d<gg�fg�d=d>��Z<d?d@�Z=ej8j9dAdBdCdDg�dEdF��Z>ej?dG�dHdI��Z@GdJdK�dKejA�ZBdLdM�ZCdNdO�ZDdS)Qa<
manage legacy pickle tests

How to add pickle tests:

1. Install pandas version intended to output the pickle.

2. Execute "generate_legacy_storage_files.py" to create the pickle.
$ python generate_legacy_storage_files.py <output_dir> pickle

3. Move the created pickle to "data/legacy_pickle/<version>" directory.
�N)�catch_warnings�simplefilter)�_get_lzma_file�_import_lzma�is_platform_little_endian)�Index)�Day�MonthEnd�module)ZscopecCsddlm}|�S)Nr)�create_pickle_data)Z-pandas.tests.io.generate_legacy_storage_filesr)r�r�=/tmp/pip-build-5_djhm0z/pandas/pandas/tests/io/test_pickle.py�current_pickle_data%srcCs�t|t�rtj||�dS|jd�r6tj}|||�n`|dkrv|tjkrX|tjkstt�q�||ksdt�|j	|j	ks�t�n t
td|�d�tj�}|||�dS)NZsp_�	timestampZassert_Z_equal)�
isinstancer�tm�assert_index_equal�
startswithZassert_equal�pdZNaT�AssertionError�freq�getattrZassert_almost_equal)�result�expected�typ�version�
comparatorrrr
�compare_element0s


rc
Csztj|�}t�}xd|j�D]X\}}xN|j�D]B\}}|||}d|�d|��}	|j|	|d�}	|	||||�q,WqW|S)NZcompare_�_r)r�read_pickle�globals�items�get)
�dataZvfr�mr�dv�dtrrrrrr
�compareCs
r'cCs�tj||�|jj|jjks t�|jjjs0t�tj|dk|dk�|jj}|td�td�ksdt�|tjdd�}t	|tj�s�t�|tjddd�ks�t�|tjdd�}t	|tj�s�t�|tjddd�ks�t�dS)Nr��)�hours)�daysr*)�nanoseconds)r+r,)
r�assert_series_equal�indexrr�	normalizerrZ	Timedeltar)rrrrr�resrrr
�compare_series_tsUsr1cCstj||�dS)N)rr-)rrrrrrr
�compare_series_dt_tzisr2cCstj||�dS)N)rr-)rrrrrrr
�compare_series_catmsr3cCstj||�dS)N)r�assert_frame_equal)rrrrrrr
�compare_frame_dt_mixed_tzsqsr5cCstj||�dS)N)rr4)rrrrrrr
�compare_frame_cat_onecolusr6cCst||||�dS)N)r6)rrrrrrr
�compare_frame_cat_and_floatysr7cCsVtj||�t|jt�st�|jt�ks,t�|jdks:t�tj|jd�|jd��dS)N�Mr))rrrrr	rZfreqstr�shift)rrrrrrr
�compare_index_period}s
r:r#�
legacy_pickle�*z*.pickle)�paramscCs
||j�S)N)�param)�request�datapathrrr
r;�scCsRt�stjd�tjjtjj|��}tdd��td�t	|||�WdQRXdS)Nz"known failure on non-little endianT)�record�ignore)
r�pytest�skip�os�path�basename�dirnamerrr')rr;rrrr
�test_pickles�s
rIcCs�dd�}dd�}|}x�|j�D]�\}}xz|j�D]n\}}xdtj|gD]V}|dkrRqDtj��:}	|||	�tj|	�}
t|
||�||	�}
t|
||�WdQRXqDWq0WqWdS)NcSs*t|d��}tj||dd�WdQRXdS)N�wbr()�protocol���)�open�pickle�dump)�objrF�fhrrr
�python_pickler�sz/test_round_trip_current.<locals>.python_picklerc	Ss*t|d��}|jd�tj|�SQRXdS)N�rbr)rM�seekrN�load)rFrQrrr
�python_unpickler�s
z1test_round_trip_current.<locals>.python_unpickler)r!r�	to_pickler�ensure_cleanrr)rrRrVr#rr%r&r�writerrFrrrr
�test_round_trip_current�s


rZcCs(tj�}tj|jtj�}tj||�dS)N)r�
makeDataFrameZround_trip_pathlibrWrrr4)�dfrrrr
�test_pickle_path_pathlib�sr]cCs(tj�}tj|jtj�}tj||�dS)N)rr[Zround_trip_localpathrWrrr4)r\rrrr
�test_pickle_path_localpath�sr^cCsttjt��(tdt�tj|dddd�dd�WdQRXtjt��(tdt�tj|dddd	�dd�WdQRXdS)
ap

    Generated with

    >>> df = pd.DataFrame({"A": [1, 2, 3, 4], "B": [0, 0, 1, 1]}).to_sparse()
    >>> df.to_pickle("pandas/tests/io/data/pickle/sparseframe-0.20.3.pickle.gz",
    ...              compression="gzip")

    >>> s = df['B']
    >>> s.to_pickle("pandas/tests/io/data/pickle/sparseseries-0.20.3.pickle.gz",
    ...             compression="gzip")
    rB�ior#rNzsparseseries-0.20.3.pickle.gz�gzip)�compressionNzsparseframe-0.20.3.pickle.gz)rZassert_produces_warning�
FutureWarningr�DeprecationWarningrr)r@rrr
�test_legacy_sparse_warning�s


rdcCsdtjd��d�S)N�__�
z	__.pickle)rZrandsrrrr
�get_random_path�srgc@s�eZdZdddddd�Zdd�Zd	d
�Zejjddd
ddg�dd��Z	ejjddddddg�dd��Z
dd�Zejjdddddddg�dd��ZdS)�TestCompressionz.nonez.gzz.bz2z.zipz.xz)Nr`�bz2�zip�xzcCs�|dkrtj||�dS|dkr.tj|d�}n||dkrDtj|d�}nf|dkr�tj|dtjd��}|j	|t
jj|��WdQRXn*|dkr�t
t�|d�}nd|��}t|��|dkr�t|d��$}|�|j	|j��WdQRXWdQRXdS)	Nr`�wrirj)rarkzUnrecognized compression type: rS)�shutil�copyfiler`rMri�BZ2File�zipfile�ZipFile�ZIP_DEFLATED�writerErFrGr�lzma�
ValueError�read)�selfZsrc_path�	dest_pathra�f�msgrQrrr
�
compress_file�s" 
zTestCompression.compress_filec Cs�|}|d}|d}tj|���}tj|��t}tj�}|j||d�tj||d��*}	t|d��}
|
j|	j��WdQRXWdQRXtj	|dd�}tj
||�WdQRXWdQRXdS)Nz.compressedz.raw)rarJ)rrXr[rW�decompress_filerMrsrvrrr4)rwrarg�base�path1�path2�p1�p2r\ryrQ�df2rrr
�test_write_explicit
s"z#TestCompression.test_write_explicitra��None�badZ7zcCsJtjtdd��2tj|��}tj�}|j||d�WdQRXWdQRXdS)NzUnrecognized compression type)�match)ra)rCZraisesrurrXr[rW)rwrargrFr\rrr
�test_write_explicit_bad"sz'TestCompression.test_write_explicit_bad�extz.no_compressc Cs�|}||}|d}d}x"|jD]}|j||kr |}Pq Wtj|���}tj|��p}	tj�}
|
j|�tj||d��*}t|	d��}|j|j��WdQRXWdQRXt	j
|	dd�}
tj|
|
�WdQRXWdQRXdS)Nz.raw)rarJ)�_compression_to_extensionrrXr[rWr|rMrsrvrrr4)rwr�rgr}r~rra�cr�r�r\ryrQr�rrr
�test_write_infer)s 
"z TestCompression.test_write_inferc
Cs�|}|d}|d}tj|��\}tj|��F}tj�}|j|dd�|j|||d�tj||d�}	tj||	�WdQRXWdQRXdS)Nz.rawz.compressed)ra)rrXr[rWr{rrr4)
rwrargr}r~rr�r�r\r�rrr
�test_read_explicitDsz"TestCompression.test_read_explicitcCs�|}|d}||}d}x"|jD]}|j||kr |}Pq Wtj|��X}tj|��B}	tj�}
|
j|dd�|j||	|d�tj|	�}tj|
|�WdQRXWdQRXdS)Nz.raw)ra)	r�rrXr[rWr{rrr4)rwr�rgr}r~rrar�r�r�r\r�rrr
�test_read_inferWs
zTestCompression.test_read_inferN)
�__name__�
__module__�__qualname__r�r{r�rC�mark�parametrizer�r�r�r�rrrr
rh�s rhc@s*eZdZejjdddddg�dd��ZdS)	�TestProtocolrKr(rr)cCsFtj|��2}tj�}|j||d�tj|�}tj||�WdQRXdS)N)rK)rrXr[rWrrr4)rwrKrgrFr\r�rrr
�	test_readws

zTestProtocol.test_readNrL)r�r�r�rCr�r�r�rrrr
r�vsr��pickle_file�excolsz
test_py27.pkl�a�br�ztest_mi_py27.pkl�A�B�CcCs*|ddd|�}tj|�}tj|j|�dS)Nr_r#rN)rrrr�columns)r@r�r�rFr\rrr
�test_unicode_decode_error�s

r�cCsltj��Z}tj�}t|d��}|j|�WdQRXt|d��}tj|�}WdQRXtj||�WdQRXdS)NrJrS)rrXr[rMrWrrr4)rFr\rQrrrr
�test_pickle_buffer_roundtrip�s
r��mockurlzhttp://url.comzftp://test.comzhttp://gzip.comc
spdd�}Gdd�d��tj��H���fdd�}tj�}||��|jd|�tj|�}tj||�WdQRXdS)NcSs*t|d��}tj||dd�WdQRXdS)NrJr()rKrL)rMrNrO)rPrFrQrrr
rR�sz3test_pickle_generalurl_read.<locals>.python_picklerc@s$eZdZdd�Zdd�Zdd�ZdS)z5test_pickle_generalurl_read.<locals>.MockReadResponsecSs.t|d�|_d|kr ddi|_n
ddi|_dS)NrSr`zContent-Encoding)rM�file�headers)rwrFrrr
�__init__�sz>test_pickle_generalurl_read.<locals>.MockReadResponse.__init__cSs
|jj�S)N)r�rv)rwrrr
rv�sz:test_pickle_generalurl_read.<locals>.MockReadResponse.readcSs
|jj�S)N)r��close)rwrrr
r��sz;test_pickle_generalurl_read.<locals>.MockReadResponse.closeN)r�r�r�r�rvr�rrrr
�MockReadResponse�sr�cs���S)Nr)�args�kwargs)r�rFrr
�mock_urlopen_read�sz6test_pickle_generalurl_read.<locals>.mock_urlopen_readzurllib.request.urlopen)rrXr[�setattrrrr4)Zmonkeypatchr�rRr�r\rr)r�rFr
�test_pickle_generalurl_read�s


r�Zfsspecc
CsDtj��2d}tj�}|j|�tj|�}tj||�WdQRXdS)Nzmemory://afile)rrXr[rWrrr4)r�r\rrrr
�test_pickle_fsspec_roundtrip�s


r�c@seZdZdd�ZdS)�MyTzcCsdS)Nr)rwrrr
r��sz
MyTz.__init__N)r�r�r�r�rrrr
r��sr�cCsFtjtd�t�f}tj|�}tj|d|d�t|dt�sBt�dS)N)Zdtyperr()	r�Series�objectr�r�round_trip_pickler-rr)rrrrr
�test_read_pickle_with_subclass�s
r�cCshtjtd��jd�jdg}tj|�}|jjdj	dks<t
�|jjdjdksRt
�tj|dg|�dS)N�abc�categoryrr(T)r()
rr��listZastypeZilocrr�Z_mgr�blocks�ndimr�shaper-)Zserr0rrr
� test_pickle_preserves_block_ndim�s

r�)N)E�__doc__ri�datetime�globr`rErNrm�warningsrrrprCZ
pandas.compatrrrZpandas.util._test_decorators�utilZ_test_decorators�tdZpandasrrZpandas._testingZ_testingrZpandas.tseries.offsetsrr	rtZfixturerrr'r1r2r3r5r6r7r:rF�joinrH�__file__�filesr;rIrZr]r^rdrgrhr�r�r�Z
MultiIndexZfrom_arraysr�r�r�Z
skip_if_nor��tzinfor�r�r�rrrr
�<module>sf


!

*!