Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_hash.cpython-39.pyc

a

��g�-�@s�ddlZddlZddlZddlZddlmZddlmZejdkZ	d8dd�Z
dd	�Zd
d�ZGdd
�d
ej
�ZejZGdd�de�ZdZGdd�de�ZGdd�de�ZGdd�de�ZGdd�dee�ZGdd�dee�ZGdd�de�ZGdd�dej
�ZGdd �d e�ZGd!d"�d"ej
�ZGd#d$�d$�ZGd%d&�d&e�ZGd'd(�d(eej
�ZGd)d*�d*eej
�Z Gd+d,�d,eej
�Z!Gd-d.�d.e�Z"Gd/d0�d0e"ej
�Z#Gd1d2�d2e"ej
�Z$Gd3d4�d4e"ej
�Z%Gd5d6�d6ej
�Z&e'd7k�r�e�(�dS)9�N)�assert_python_ok)�Hashable��cCsN|dkrt|�St|�}t|�D]$}d|dd@}|d?d@||<q t|�S)zLinear congruential generatorri�CiÞ&��r�)�bytes�	bytearray�range)�x�length�out�i�r�*/usr/local/lib/python3.9/test/test_hash.py�lcgsrcCs^d|krdksnJ�|dkr,|d}n|}||d?Ad@}|dkrR|d}n|}||fS)z*Convert SipHash24 output to Py_hash_t
    rll����� l��rrr)Zuint64Zint64Zuint32Zint32rrr�	pysiphashs

rcCs&tjjdv}d}|r|St�|�|�S)z8Skip decorator for tests that depend on SipHash24 or FNV>�	siphash24�fnvzRequires SipHash24 or FNV)�sys�	hash_info�	algorithm�unittest�skip)�test�ok�msgrrr�skip_unless_internalhash+src@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�HashEqualityTestCasecGs@ttt|��}|dd�D] }||dkr|�d|f�qdS)N�rzhashed values differ: %r)�list�map�hashZfail)�selfZobjlistZhashed�hrrr�	same_hash4szHashEqualityTestCase.same_hashcCs>|�dddd�|�ddd�|�ddd	�|�d
dd�dS)
Nr g�?y�?r�y���g�y����g�y�)r&�r$rrr�test_numeric_literals<sz*HashEqualityTestCase.test_numeric_literalsc	Cs�|�td�td�td�td�td�td��|�td�td��|�td�td��|�td�td��|�td�td��|�td�td��|�td	�td	��dS)
Nr �1z1.0i�i�rll����l�r&�int�float�complexr*rrr�test_coerced_integersBs�z*HashEqualityTestCase.test_coerced_integerscCs.|�td�td��|�td�tdd��dS)Ng�쏈�b=~g�?r'r-r*rrr�test_coerced_floatsMsz(HashEqualityTestCase.test_coerced_floatscCs`dd}td�D]J}td�D]<}||d|�}t|�|d|�}|�t|�t|��qqdS)Ns#123456789abcdefghijklmnopqrstuvwxyz�r)r
�
memoryview�assertEqualr#)r$�br�jZalignedZ	unalignedrrr�test_unaligned_buffersQsz+HashEqualityTestCase.test_unaligned_buffersN)�__name__�
__module__�__qualname__r&r+r1r2r8rrrrr2s
rc@seZdZdS)�DefaultHashN�r9r:r;rrrrr<]�r<�*c@seZdZdd�ZdS)�	FixedHashcCstS�N)�_FIXED_HASH_VALUEr*rrr�__hash__aszFixedHash.__hash__N�r9r:r;rCrrrrr@`sr@c@seZdZdd�ZdS)�OnlyEqualitycCs||uSrAr�r$�otherrrr�__eq__eszOnlyEquality.__eq__N)r9r:r;rHrrrrrEdsrEc@seZdZdd�ZdS)�OnlyInequalitycCs||uSrArrFrrr�__ne__iszOnlyInequality.__ne__N)r9r:r;rJrrrrrIhsrIc@seZdZdS)�InheritedHashWithEqualityNr=rrrrrKlr>rKc@seZdZdS)�InheritedHashWithInequalityNr=rrrrrLmr>rLc@seZdZdZdS)�NoHashNrDrrrrrMosrMc@s`eZdZe�e�e�gZe�e�e	�gZ
e�e�gZ
dd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�HashInheritanceTestCasecCs$|jD]}|�t|�t|��qdSrA)�default_expectedr5r#�
_default_hash�r$�objrrr�test_default_hashs
z)HashInheritanceTestCase.test_default_hashcCs |jD]}|�t|�t�qdSrA)�fixed_expectedr5r#rBrQrrr�test_fixed_hash�s
z'HashInheritanceTestCase.test_fixed_hashcCs|jD]}|�tt|�qdSrA)�error_expectedZassertRaises�	TypeErrorr#rQrrr�test_error_hash�s
z'HashInheritanceTestCase.test_error_hashcCs&|j|j}|D]}|�|t�qdSrA)rOrTZassertIsInstancer)r$ZobjectsrRrrr�
test_hashable�s
�z%HashInheritanceTestCase.test_hashablecCs|jD]}|�|t�qdSrA)rVZassertNotIsInstancerrQrrr�test_not_hashable�s
z)HashInheritanceTestCase.test_not_hashableN)r9r:r;�objectr<rIrOr@rKrLrTrMrErVrSrUrXrYrZrrrrrNrs ���rNc@s$eZdZed�Zdd�Zdd�ZdS)�DefaultIterSeq�
cCs
t|j�SrA)�len�seqr*rrr�__len__�szDefaultIterSeq.__len__cCs
|j|SrA)r_)r$�indexrrr�__getitem__�szDefaultIterSeq.__getitem__N)r9r:r;r
r_r`rbrrrrr\�sr\c@s6eZdZeed��ee��edd�d�gZdd�ZdS)�HashBuiltinsTestCaser]cCsdS)Nrrrrrr�<lambda>�r>zHashBuiltinsTestCase.<lambda>rcCs*tj}|jD]}|�t|�||��qdSrA)r[rC�hashes_to_checkr5r#)r$rPrRrrr�test_hashes�s
z HashBuiltinsTestCase.test_hashesN)	r9r:r;�	enumerater
�iterr\rerfrrrrrc�s

�rcc@s&eZdZdd�Zddd�Zdd�ZdS)	�HashRandomizationTestscCsd|S)Nzprint(hash(eval(%a)))r�r$�repr_rrr�get_hash_command�sz'HashRandomizationTests.get_hash_commandNcCs`tj��}d|d<|dur(t|�|d<n|�dd�td|�|�fi|��}|d��}t|�S)NTZ
__cleanenvZPYTHONHASHSEEDz-cr )	�os�environ�copy�str�poprrl�stripr.)r$rk�seed�envr
�stdoutrrr�get_hash�s

��zHashRandomizationTests.get_hashcCs0|j|jdd�}|j|jdd�}|�||�dS)N�random�rs)rvrk�assertNotEqual)r$Zrun1Zrun2rrr�test_randomized_hash�sz+HashRandomizationTests.test_randomized_hash)N)r9r:r;rlrvrzrrrrri�s
ric@s�eZdZdZdZgd�gd�ggd�gd�gd�gd�gd�ggd	�gd
�gd�gd�gd
�gd�Zdd�Zdd�Zedd��Z	edd��Z
dS)� StringlikeHashRandomizationTestsN)�\�r|r|r|)iL̇�lLL//+�?iTS�l����qU:~�@[)���pG��n�YD~r}r~)�S���jxY_oW�srr�)� ���� �/��lr�r�)i�Jkl�J�:�8`~i��l�����)�wJ�)i�Q	�l���� .�G�UJGiO{�l������]�D])�Г���P'ABS!r�r�)i����l����m]]�R�ii���l�����T�e])i�X0l�����'�W�=>0i�e�l�����;u�)i���lg,��gi5$f�l�����`�bTN�V)i� �l�����9�\R>|iQ���l�����kT<�h4)�djba33xrrcCs^|tjjkrd}ntjj}tjdkr2tr,dnd}ntjdks@J�trHdnd}|j|||S)Nr��littler r�big��)rr�cutoffr�	byteorder�IS_64BIT�known_hashes)r$Zpositionrr�platformrrr�get_expected_hash�s
z2StringlikeHashRandomizationTests.get_expected_hashcCs<|�dd�}|�|�|j�|�|�|j|jdd�|�dS)Nrr�rx)r�ryrvrkr5)r$Zknown_hash_of_objrrr�test_null_hash�sz/StringlikeHashRandomizationTests.test_null_hashcCs(|�dd�}|�|j|jdd�|�dS)Nr r�r?rx)r�r5rvrk�r$r%rrrrUsz0StringlikeHashRandomizationTests.test_fixed_hashcCs6|jdurdS|�dd�}|�|j|jdd�|�dS)Nr��r?rx)�	repr_longr�r5rvr�rrr�test_long_fixed_hashs
z5StringlikeHashRandomizationTests.test_long_fixed_hash)r9r:r;rkr�r�r�r�rrUr�rrrrr{�s0�	���'

r{c@s<eZdZed�Zed�Zed�Zedd��Zedd��Z	dS)	�StrHashRandomizationTests�abcZabcdefghijku
äú∑ℇcCs|�td�d�dS)N�r�r5r#r*rrr�test_empty_stringsz+StrHashRandomizationTests.test_empty_stringcCsL|�dd�}|�|j|jdd�|�|�dd�}|�|j|jdd�|�dS)Nr��rrx�r?)r�r5rv�	repr_ucs2r�rrr�test_ucs2_string sz*StrHashRandomizationTests.test_ucs2_stringN)
r9r:r;�reprrkr�r�rr�r�rrrrr�s
r�c@s(eZdZed�Zed�Zedd��ZdS)�BytesHashRandomizationTestssabcsabcdefghijkcCs|�td�d�dS�Nr>rr�r*rrrr�,sz-BytesHashRandomizationTests.test_empty_stringN)r9r:r;r�rkr�rr�rrrrr�'sr�c@s eZdZdZdZedd��ZdS)� MemoryviewHashRandomizationTestszmemoryview(b'abc')zmemoryview(b'abcdefghijk')cCs|�ttd��d�dSr�)r5r#r4r*rrrr�5sz2MemoryviewHashRandomizationTests.test_empty_stringN)r9r:r;rkr�rr�rrrrr�0sr�c@seZdZdd�ZdS)�
DatetimeTestscCsd|S)Nz import datetime; print(hash(%s))rrjrrrrl:szDatetimeTests.get_hash_commandN)r9r:r;rlrrrrr�9sr�c@seZdZee�ddd��ZdS)�DatetimeDateTestsi*r]�N)r9r:r;r��datetime�daterkrrrrr�=sr�c
@s&eZdZee�ddddddd��ZdS)	�DatetimeDatetimeTestsr r�r�r��r��N)r9r:r;r�r�rkrrrrr�@sr�c@seZdZee�d��ZdS)�DatetimeTimeTestsrN)r9r:r;r�r��timerkrrrrr�Csr�c@seZdZdd�ZdS)�HashDistributionTestCasec	Cs�d}tdt|��D]�}|d|�}|j|d��zt�}t�}td�D]0}t|t|��}|�|d@�|�|d@�qD|�t|�d|�|�t|�d|�Wd�q1s�0YqdS)	NZabcdefghabcdefgr )�prefix��r�r3)r
r^ZsubTest�setr#�chr�addZ
assertGreater)r$�baserr�Zs15Zs255�cr%rrr�test_hash_distributionIsz/HashDistributionTestCase.test_hash_distributionN)r9r:r;r�rrrrr�Gsr��__main__)r))r�rmrrZtest.support.script_helperr�collections.abcr�maxsizer�rrrZTestCaserr[rCrPr<rBr@rErIrKrLrMrNr\rcrir{r�r�r�r�r�r�r�r�r9�mainrrrr�<module>sP


*%Q��	�	


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists