HOME


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

���hl*�@sddlZddlZddlZddlmZmZmZmZddl	j
Zddlm
Z
ddlmZmZejedddgddd	�edd
dgddd	�ed
ddgddd	�edddgd�edddgd�eejddd��eejdddd��eejddd��gd�dd��Zejddgd�dd ��Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zejjd)ejdd*d+g�ejdd*d+ged	�g�d,d-��Zejjd.d/d0ejd�g�d1d2��Z d3d4�Z!ejjd.d/d0ejd�g�d5d6��Z"d7d8�Z#d9d:�Z$ejjd;edddg�ed<d=d>g�ed<d=ej%g�ed<d=d>gd=d?d@gdA�ed
ddg�ed
ej%dg�ed
ddg�edddg�eed	�edddg�edddg�ed
ddgdddgdB��e�ej&�ej'�ej(�ej)�ej*�ej+�eej+��eejdddd��ej,e-d/�d0dCdDgejddd�g�ej,ej.e/dE��e-d�g�g�dFdG��Z0dHdI�Z1ejjd;egdJd	�egdKd	�eg�g�dLdM��Z2ejjdNed
dddg�edOdPdQdRg�eejdd*d��g�ejjdSddg�dTdU���Z3dVdW�Z4ejjd;ejd�g�dXdY��Z5dZd[�Z6d\d]�Z7d^d_�Z8d`da�Z9ejjdbe-dc��ejjddddg�dedf���Z:dgdh�Z;didj�Z<dkdl�Z=dS)m�N)�	DataFrame�Index�
MultiIndex�Series)�hash_tuples)�
hash_array�hash_pandas_object���Zint32)�dtypeg@g@Zfloat32�a�b�c�category�d�e�fTFZ20130101�	)�periodsz
US/Eastern)r�tz�2000)�paramscCs|jS)N)�param)�request�r�@/tmp/pip-build-5_djhm0z/pandas/pandas/tests/util/test_hashing.py�seriess
rcCs|jS)N)r)rrrr�indexsrcKs(t|f|�}t|f|�}tj||�dS)z�
    Check that hashing an objects produces the same value each time.

    Parameters
    ----------
    obj : object
        The object to hash.
    kwargs : kwargs
        Keyword arguments to pass to the hashing function.
    N)r�tm�assert_series_equal)�obj�kwargsr
rrrr�_check_equal sr#cCs@t|t�s<t|dd�}t|dd�}t|�r<||kj�s<t�dS)z�
    Check the hash of an object with and without its index is not the same.

    Parameters
    ----------
    obj : object
        The object to hash.
    T)rFN)�
isinstancerr�len�all�AssertionError)r!r
rrrr�_check_not_equal_with_index0s
	
r(cCsDttdddg��}ttjdddgdd�dddgd	�}tj||�dS)
N�foo�bar�bazl�7�* �l6jz�d�ln�*5�uint64)r)r)rrr�np�arrayrr )�result�expectedrrr�test_consistencyAsr1cCs|j}tjt|�t|��dS)N)�valuesr�assert_numpy_array_equalr)rZarrrrr�test_hash_arrayOsr4�arr2��AllcCs,ttjdddg��}t|�}tj||�dS)N�3�4r7)rr-r.rr3)r5�result1�result2rrr�test_hash_array_mixedTsr<�val�r)c	Cs*d}tjt|d��t|�WdQRXdS)Nzmust pass a ndarray-like)�match)�pytest�raises�	TypeErrorr)r=�msgrrr�test_hash_array_errors^srDcCsNdddg}t|�}ttj|��j}tj||�t|d�}||dksJt�dS)	Nr	�one�twor
r)r	rE)r	rF)r
rE)rrr�from_tuplesr2rr3r')Ztuplesr/r0rrr�test_hash_tupleses
rHc	Cs*d}tjt|d��t|�WdQRXdS)Nz'must be convertible to a list-of-tuples)r?)r@rArBr)r=rCrrr�test_hash_tuples_errpsrIcCs:tjdd	d
dg�}|jdks t�t|�}|jdks6t�dS)N�v�����3���fT)rJrK)rLrJ)rMrN)rOrM)rrGZ	is_uniquer'r)�mir/rrr�test_multiindex_uniquewsrQcCsjtdddgdddggddddgddddggdd	gd
�}|j�}|j|�sLt�t|j�jt|j��sft�dS)Nrrr
r	r
rrZcol1Zcol2)Zlevels�codes�names)rZ_sort_levels_monotonic�equalsr'rr2)rPZreconsrrr�test_multiindex_objectssrUr!g�?g�?g������	@g�������?gffffff
@)r)�x�yr*r+ZaabccCst||d�t|�dS)N)r)r#r()r!rrrr�test_hash_pandas_object�srXcCst||d�t|�dS)N)r)r#r()rrrrr�test_hash_pandas_object2�srYZfloat64�objectcCst||d�dS)N)r)r#)r!rrrr�test_hash_pandas_empty_object�sr[�s1i�i�i�i��
categorizecCsf|jd�jj|�}|jjtt|���}t||d�}t||d�}t||d�}tj||�tj||�dS)Nr)r])Zastype�catZset_categories�list�reversedrrr )r\r]�s2Zs3�h1�h2�h3rrr�test_categorical_consistency�srecCs�tjjd
dddddgtjdddd	�d
�}t|dd�}tjjddgtjd�gd
�}t|dd�}|d|kslt�|d|ks|t�dS)Nr	rr
rr6z
2012-01-01r>�B)r�name)�
categoriesF)r]���ri)�pdZCategoricalZ
from_codes�
date_ranger�	Timestampr')rr0r/rrr�%test_categorical_with_nan_consistency�s"rmc	Cs*d}tjt|d��t|�WdQRXdS)NzUnexpected type for hashing)r?)r@rArBr)r!rCrrr�test_pandas_errors�srncCs8ttd��}t|dd�}t|dd�}||kj�s4t�dS)N�abcZ9876543210123456)�hash_keyZ9876543210123465)rr_rr&r')r!r
rrrr�test_hash_keys�srqcCs6d}tjt|d��tttd��dd�WdQRXdS)Nz&key should be a 16-byte string encoded)r?ror))rp)r@rA�
ValueErrorrrr_)rCrrr�test_invalid_key�srscCs$ttd��jjd�}t||d�dS)Nro�utf8)r)rr_�str�encoder#)rr!rrr�test_already_encodedsrwcCsttd��}t||dd�dS)Nro�ascii)r�encoding)rr_r#)rr!rrr�test_alternate_encodingsrz�l_exp��l_addcCs@d|d|}tj|d�}t|d�}|d|dks<t�dS)Nr
r|rtrr	)rZrands_arrayrr')r{r}�length�sr/rrr�test_same_len_hash_collisionss
r�cCs�ddg}ttj|dd�td�d�}tjdgtjd�}tj||�ttj|dd�td�d�}tjd	gtjd�}tj||�ttj|td�d�}tj|tj||gdd
��dS)NaIngrid-9Z9fKIZmkO7i7Cn51Li34pJm44fgX6DYGBNj3VPlOH50m7HnBlPxfIwFMrcNJNMP6PSgLmwWnInciMWrCSAlLEvt7JkJl4IxiMrVbXSa8ZQoVaq5xoQPjltuJEfwdNlO6jo8qRRHvD8sBEBMQASrRa6TsdaPTPCBo3nwIBpE7YzzmyH0vMBhjQZLx1aCT7faSEx7PgFxQhHdKFWROcysamgy9iVj8DO2Fmwg1NNl93rIAqC3mdqfrCxrzfvIY8aJdzin2cHVzy3QUJxZgHvtUtOLxoqnUHsYbNTeq0xcLXpTZEZCxD4PGubIuCNf32c33M7HFsnjWSEjE2yVdWKhmSVodyF8hFYVmhYnMCztQnJrt3O8ZvVRXd5IKwlLexiSp4h888w7SzAIcKgc3g5XQJf6MlSMftDXm9lIsE1mJNiJEv6uY6pgvC3fUPhatlR5JPpVAHNSbSEE73MBzJrhCAbOLXQumyOXigZuPoME7QgJcBalliQol7YZ9aTim-b9MddTxOWW2AT1Py6vtVbZwGAmYCjbp89p8mxsiFoVX4FyDOF3wFiAkyQTUgwg9sVqVYOZo09Dh1AzhFHbgij52ylF0SEwgzjzHH8TGY8Lypart4p4onnDoDvVMBa0kdthVGKl6K0BDVGzyOXPXKpmnMF1H6rJzqHJ0HywfwS4XYpVwlAkoeNsiicHkJUFdUAhG229INzvIAiJuAHeJDUoyO4DCBqtoZ5TDend6TK7Y914yHlfH3g1WZu5LksKv68VQHJriWFYusW5e6ZZ6dKaMjTwEGuRgdT66iU5nqWTHRH8WSzpXoCFwGcTOwyuqPSe0fTe21DVtJn1FKj9F9nEnR9xOvJUO7E0piCIF4Ad9yAIDY4DBimpsTfKXCu1vdHpKYerzbndfuFe5AhfMduLYZJi5iAw8qKSwR5h86ttXV0Mc0QmXz8dsRvDgxjXSmupPxBggdlqUlC828hXiTPD7am0yETBV0F3bEtvPiNJfremszcV8NcqAoARMerr	)rrtl��rIU}r
lpX�^��)Zaxis)	rr-ZasarrayrZr.r,rr3Zconcatenate)�hashesr:Z	expected1r;Z	expected2r/rrr�test_hash_collisionssr�c	Cs�tjdtd�td�gi�}t|�}tjddgtjd�}tj||�tjdtdg�tdg�gi�}t|�}tjd	d
gtjd�}tj||�tjdtdgg�tdig�gi�}t	j
tdd��t|�WdQRXdS)
N�data�1�2l�.C7�j�|l93�B
�)rr	r
lpH-\h+�l�1�"�R�kzunhashable type: 'list')r?)rjr�tuplerrr-r,rr r@rArB)Zdfr/r0Zdf2Zdf3rrr�test_hash_with_tuple+s"r�cCs<tjjtjddg�dd�}tjddgdd�}tj||�dS)Nr
r)rplA�!�M|l�Z4^�	�r,)r)rj�utilrrrr )r/r0rrr�test_hash_object_none_key@sr�)>Znumpyr-r@ZpandasrjrrrrZpandas._testingZ_testingrZpandas.core.util.hashingrZpandas.utilrrZfixturerkZtimedelta_rangerrr#r(r1r4�markZparametrizer.rZr<rlrDrHrIrQrU�nanZmakeMissingDataframeZmakeMixedDataFrameZmakeTimeDataFrameZmakeTimeSeriesZmakeTimedeltaIndexZmakePeriodIndexZfrom_product�rangeZCategoricalIndexr_rXrYr[rermrnrqrsrwrzr�r�r�r�rrrr�<module>s�
 0	""

(*