Your IP : 216.73.217.129


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/test_array.cpython-38.opt-2.pyc

U

i�fK��@s�ddlZddlmZddlmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlmZ
e�d�jZGdd�dej�ZGdd	�d	ej�Zd
ZGdd�dej�Zd
ZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(d Z)d!Z*d"Z+Gd#d$�d$ej�Z,Gd%d&�d&�Z-Gd'd(�d(e-�Z.Gd)d*�d*e.ej�Z/Gd+d,�d,e-�Z0Gd-d.�d.e0�Z1Gd/d0�d0�Z2Gd1d2�d2e1�Z3Gd3d4�d4e1�Z4Gd5d6�d6e3ej�Z5Gd7d8�d8e4ej�Z6Gd9d:�d:e3ej�Z7Gd;d<�d<e4ej�Z8Gd=d>�d>e3ej�Z9Gd?d@�d@e4ej�Z:GdAdB�dBe3ej�Z;GdCdD�dDe4ej�Z<GdEdF�dFe3ej�Z=GdGdH�dHe4ej�Z>GdIdJ�dJe0�Z?GdKdL�dLe?ej�Z@GdMdN�dNe?ej�ZAGdOdP�dPej�ZBeCdQk�r�e�D�dS)R�N)�support)�_2G)�_array_reconstructor�uc@seZdZdS)�
ArraySubclassN)�__name__�
__module__�__qualname__�r
r
�4/opt/alt/python38/lib64/python3.8/test/test_array.pyrsrc@seZdZddd�ZdS)�ArraySubclassWithKwargsNcCstj�|�dS�N)�array�__init__)�self�typecode�newargr
r
rrsz ArraySubclassWithKwargs.__init__)N)rrr	rr
r
r
rrsrZ
ubBhHiIlLfdqQc@seZdZdd�Zdd�ZdS)�MiscTestcCsD|�ttj�|jttjdd�|�ttjd�|�ttjd�dS)N�*)ZspamZxx�x)�assertRaises�	TypeErrorr�
ValueError�rr
r
r�test_bad_constructor szMiscTest.test_bad_constructorcCsjt�d�}||dd�<|�t|�d�|�t||�d�|�t|d�d�||7}|�t|�d�dS)N�Br�)r�assertEqual�len�r�ar
r
r�
test_empty&s
zMiscTest.test_emptyN)rrr	rr!r
r
r
rrsr�����r������	�
���
��������c@s$eZdZdd�Zdd�Zdd�ZdS)�ArrayReconstructorTestcCs�|�ttdddd�|�tttddd�|�tttjddd�|�tttjddd�|�tttjddd�|�tttjdtd�|�tttjddd�|�tttjddd	�dS)
N��br��?��dr1�a)rr�array_reconstructor�strrr�UNKNOWN_FORMATrr
r
r�
test_errorOs`��������z!ArrayReconstructorTest.test_errorcCs~ddddgtddddd	gfd
ddd
gtddddgfdddgtdddddgfdddgtdddddgfddd
gtddddgfddd
gtddddgfddgtdddddgfddgtdddddgfdd
gtddddgfdd
gt	ddddgfdgt
d ddddgfdgtd!ddddgfd
gtd"dddgfd
gt
d#dddgfdgt
d d$d%dd&gfdgtd!d$d%dd&gfd
gtd"d'd%dgfd
gt
d#d'd%dgfd(gtd)d*td+�td,�d-gfd(gtd.d*td+�td,�d-gfd/gtd0d1td+�td,�d-gfd/gtd2d1td+�td,�d-gff}|D]�}|\}}}}tj|f|��}|D]^}zt�||�}	Wntk
�rFY�qYnXttj|||�}
|j|	|
d3�|	|
|�d4��q�q�dS)5Nr�H�I�Lz=BBBB��r�r9�h�i�lz=bbbi����z<HHHHi�i�i��z>HHHHz<hhhi���z>hhhz<IIIIli���l��z>IIIIz<iiii�z>iiiz<QQQQz>QQQQz<qqqz>qqqll����l����l�����fz<ffffg@ �oA�infz-infg�z>ffffr=z<ddddg�?Cz>dddd�{0!r} != {1!r}; testcase={2!r}��msg)�
UNSIGNED_INT8�SIGNED_INT8�UNSIGNED_INT16_LE�UNSIGNED_INT16_BE�SIGNED_INT16_LE�SIGNED_INT16_BE�UNSIGNED_INT32_LE�UNSIGNED_INT32_BE�SIGNED_INT32_LE�SIGNED_INT32_BE�UNSIGNED_INT64_LE�UNSIGNED_INT64_BE�SIGNED_INT64_LE�SIGNED_INT64_BE�IEEE_754_FLOAT_LE�float�IEEE_754_FLOAT_BE�IEEE_754_DOUBLE_LE�IEEE_754_DOUBLE_BE�structZpackr�
OverflowErrorr?r�format)r�	testcases�testcaseZvalid_typecodes�mformat_codeZ
struct_fmt�valuesZarraystrrr r9r
r
r�test_numbersas�
��
�
���

�

�
�
�
�
���
�
��������1��z#ArrayReconstructorTest.test_numbersc	Csrd}tdftdftdftdff}|D]H}|\}}t�d|�}ttjd||�|��}|j||d�|||�d�q$dS)	NuBonne Journée 𠌊𠍇z	UTF-16-LEz	UTF-16-BEz	UTF-32-LEz	UTF-32-BErrNrO)	�UTF16_LE�UTF16_BE�UTF32_LE�UTF32_BErr?�encoderrf)rZteststrrgrhri�encodingr r9r
r
r�test_unicode�s$���z#ArrayReconstructorTest.test_unicodeN)rrr	rBrkrrr
r
r
rr7Ms?r7c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/e0�1e2e3d[�d\�d]d^��Z4d_d`�Z5dadb�Z6e7j8dcdd��Z9e7j8dedf��Z:dgdh�Z;e7j8didj��Z<dkdl�Z=dmS)n�BaseTestcCs|�||�dSr
)r�rZentry1Zentry2r
r
r�assertEntryEqual�szBaseTest.assertEntryEqualcCstt�|j�dtt�S)Nr#)�	typecodes�indexrrrr
r
r�badtypecode�szBaseTest.badtypecodecCsDt�|j�}|�|j|j�|�|j|j�|�ttj|jd�dSr
)rrrZassertGreaterEqual�itemsize�minitemsizerrrr
r
r�test_constructor�szBaseTest.test_constructorcCsVt�|j�}|�|jd�|�t|�d�t�|j|j�}|�t|�t|j��dS�Nrr#)rr�append�examplerrrr
r
r�test_len�s
zBaseTest.test_lencCs|t�|j|j�}|�t|jd�|��}|�|t�|�t	|�d�|�|dt
�|�|dt
�|�|dt	|��dS)Nrr$rr#)rrr~rr�buffer_infoZassertIsInstance�tuplerr�int)rr Zbir
r
r�test_buffer_info�szBaseTest.test_buffer_infocCs�|jdkrd}n|j}t�|j|�}|�t|jd�|jdkr�t�|j|�}|��|jdkrl|�||�n|�||�|��|�||�dS)Nru􀄀r�r#r$r%r)r#)	rr~rrr�byteswapryr�assertNotEqual)rr~r r9r
r
r�
test_byteswap�s


zBaseTest.test_byteswapcCsFddl}t�|j|j�}|�|�}|�t|�t|��|�||�dS�Nr)�copyrrr~r��idr�rr�r r9r
r
r�	test_copy�s

zBaseTest.test_copycCsFddl}t�|j|j�}|�|�}|�t|�t|��|�||�dSr�)r�rrr~Zdeepcopyr�r�rr�r
r
r�
test_deepcopy�s

zBaseTest.test_deepcopycCsft�|j|j�}td�D]}|�|�|�dtj�qtdtjd�D]}|�|�|�dt�qFdS)Nrrr#)	rrr~�range�assertIs�
__reduce_ex__�pickle�HIGHEST_PROTOCOLr?)rr �protocolr
r
r�test_reduce_ex�s
zBaseTest.test_reduce_excCs�ttjd�D]�}t�|j|j�}t�t�||��}|�t	|�t	|��|�
||�t|j|j�}d|_t�t�||��}|�t	|�t	|��|�
||�|�
|j|j�|�
t
|�t
|��qdS�Nr#r+)r�r�r�rrr~�loads�dumpsr�r�rrr�type�rr�r r9r
r
r�test_pickle�szBaseTest.test_picklecCs�ttjd�D]�}t�|j�}t�t�||��}|�t|�t|��|�	||�t
|j�}d|_t�t�||��}|�t|�t|��|�	||�|�	|j|j�|�	t|�t|��qdSr�)
r�r�r�rrr�r�r�r�rrrr�r�r
r
r�test_pickle_for_empty_arrays
z$BaseTest.test_pickle_for_empty_arrayc
Cs�t�|j|j�}t|�}|ddd�}ttjd�D�]l}t|�}t�||f|�}t�	|�\}}|�
|�|�t|�t|��|�t|�||�t
|�t�||f|�}t�	|�\}}|�
|�|�t|�t|��|�t|�|dd�|�tdt|��D]}	t
|��qt�||f|�}t�	|�\}}|�
|�|�t|�t|��|�t|�|�|�tt
|�t�||f|�}t�	|�\}}|�
|�|�t|�g�q4dS)Nr"r#)rrr~�listr�r�r��iterr�r��fromlistrr��nextrr�
StopIteration)
rZorig�dataZdata2�protoZitorigr=�itr rJr
r
r�test_iterator_pickles8



zBaseTest.test_iterator_picklecCs�t�|j|j�}|�t|�t|j��t|�}t|�}|D]}t|�q:|�|j�|�t|�g�|�t|�|jg�|�t|�t|j�|jg�dSr
)	rrr~rr�r�r�r}�outside)rr ZexhitZempitrr
r
r�test_exhausted_iteratorBs
z BaseTest.test_exhausted_iteratorc
Csrt�|j|j�}|�d|jd�|�t|�dt|j��|�|d|d�|�t|j�|�t|jd�|�t|jdd�t�|j|j�}|�d|jd�|�|t�|j|jdd�|jdd�|jdd���t�|j|j�}|�d|jd�|�|t�|j|jdd�|j��t�|j|j�}|�d|jd�|�|t�|j|j|jdd���dS)Nrr#r"������)rrr~�insertrrrrrr
r
r�test_insertNs8(����zBaseTest.test_insertc	Cs�t�|jd|j�}|�t|j�t�tj�t	tjd�}z�|�|�|��t�|j�}t	tjd�}|�t|j�|�|t
|j��|�|t�|j|j��|�||�|�t|j|t
|j�d�|�||�|��W5|j
s�|��t�tj�XdS)Nr$�wb�rbr#)rrr~rrZtofiler�unlink�TESTFN�open�closed�close�fromfilerrr��EOFError�rr rLr9r
r
r�test_tofromfileos&
zBaseTest.test_tofromfilec	CsPt�|j�}ttjd�}z|�t|j	|t
|j��W5|��t�tj�XdS)Nr�)rrr�rr�r�r�r�OSErrorr�rr~)rr rLr
r
r�test_fromfile_ioerror�szBaseTest.test_fromfile_ioerrorc	Cs�t�|jd|j�}ttjd�}z�|�	|�|��t�|j�}ttjd�}|�
|t|j��|�|t�|j|j��|�
||�|�
|t|j��|�||�|��W5|js�|��t�tj�XdS)Nr$r�r�)rrr~r�rr�r�r�r��writer�rrr�r�r
r
r�test_filewrite�s 
zBaseTest.test_filewritecCs~t�|jd|j�}t�|j�}|�t|jd�|�t|j�|�t|jd�|�t|jdg�|�|���|�||�dS)Nr$r)rrr~rr�tolistr�r�rr r9r
r
r�test_tofromlist�szBaseTest.test_tofromlistc	Cs�d}tjdd���}tjddtd�t�|jd|j�}t�|j�}|�t|j	d�|�t|j
�|�t|j
d�|�
|�	��|�||�|jdkr�|�t
|j
d	�|d7}W5QRX|�t|�|�dS)
Nr$T)�record�alwaysz!(to|from)string\(\) is deprecated)�message�categoryrr#r)�warnings�catch_warnings�filterwarnings�DeprecationWarningrrr~rrZtostringZ
fromstringrryrr)rZnb_warnings�rr r9r
r
r�test_tofromstring�s"�
zBaseTest.test_tofromstringcCs�t�|jd|j�}t�|j�}|�t|jd�|�t|j�|�t|jd�|�|���t�|jt|����}|�||�|�||�|j	dkr�|�t
|jd�dS)Nr$rr#�x)rrr~rr�tobytes�	frombytes�	bytearrayrryr)rr r9�cr
r
r�test_tofrombytes�s
zBaseTest.test_tofrombytescCs.t�|j|j�}t�|j|�}|�||�dSr
�rrr~rr�r
r
r�test_fromarray�szBaseTest.test_fromarraycCsVt�|jd|j�}|�|tt|�dtji��t�|j�}|�t|�d|j�dS)Nr$rzarray('%s'))rrr~r�eval�reprrr
r
r�	test_repr�szBaseTest.test_reprcCs t�|jd|j�}t|�dS�Nr$)rrr~r@rr
r
r�test_str�szBaseTest.test_strcCs�t�|j|j�}|�|dkd�|�|dkd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�t�|j|j�}t�|j|j�}|�|d|kd�|�|d|kd�|�|d|kd�|�|d|kd�|�|d|kd�|�|d|kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�dS)NrFTr$)rrr~r��smallerexample�
biggerexample)rr ZalZabr
r
r�test_cmp�s:zBaseTest.test_cmpcCs�t�|j|j�t�|j|jddd��}|�|t�|j|j|jddd���t�|���}|�t|j|�|�t|jd�dS)Nr"�bad)rrr~rrxrr�__add__r�r
r
r�test_adds��zBaseTest.test_addc
Cs�t�|j|jddd��}|}|t�|jd|j�7}|�||�|�|t�|j|jddd�d|j��t�|j|j�}||7}|�|t�|j|j|j��t�|���}|�t|j|�|�t|j	d�dS)Nr"r$r�)
rrr~r�rrxrrr��__iadd__r�r
r
r�	test_iadds""��zBaseTest.test_iaddcCsdt�|j|j�}|�|t�|jd|j��t�|j|j�d}|�|t�|j|jd��dt�|j|j�}|�|t�|j��dt�|j|j�}|�|t�|j��dt�|j|jdd��}|�|t�|j|dgd��|�t|jd�dS)Nr&rr"r#r�)rrr~rrr�__mul__rr
r
r�test_mul$s4��
�
��zBaseTest.test_mulcCs�t�|j|j�}|}|d9}|�||�|�|t�|jd|j��|d9}|�||�|�|t�|j��|d9}|�||�|�|t�|j��|d9}|�||�|�|t�|j��t�|j|j�}|d9}|�|t�|j��|�t|jd�dS)Nr&rr�r"r�)rrr~r�rrr�__imul__r�r
r
r�	test_imulEs*�zBaseTest.test_imulcCs�t�|j|j�}|�|d|jd�|�|d|jd�|�|d|jd�|�|d|jd�|�|t|j�d|jd�|�|t|j�|jd�|�t|j�|�t|jt|j��|�t|jt|j�d�dS)Nrr"r#)	rrr~rurrr�__getitem__�
IndexErrorrr
r
r�test_getitembs zBaseTest.test_getitemcCs�t�|j|j�}|d|d<|�|d|d�t�|j|j�}|d|d<|�|d|d�t�|j|j�}|d|d<|�|d|d�t�|j|j�}|d|d<|�|d|d�t�|j|j�}|d|t|j�d<|�|d|d�t�|j|j�}|d|t|j�<|�|d|d�|�t|j�|�t|jd�|�t|jdd�|�t|jt|j�|jd�|�t|jt|j�d|jd�dS)Nr"rr#)	rrr~rurrr�__setitem__r�rr
r
r�test_setitemnsB��zBaseTest.test_setitemc	Cs>t�|j|j�}|d=|�|t�|j|jdd���t�|j|j�}|d=|�|t�|j|jdd���t�|j|j�}|t|j�d=|�|t�|j|jdd���t�|j|j�}|t|j�=|�|t�|j|jdd���|�t|j�|�t|jd�|�t|jt|j��|�t|jt|j�d�dS)Nrr#r")	rrr~rrrr�__delitem__r�rr
r
r�test_delitem�s8����zBaseTest.test_delitemc	Cs�t�|j|j�}|�|dd�|�|�|dd�t�|j|jdd���|�|dd�t�|j|jdd���|�|dd�t�|j|jdd���|�|dd�t�|j|jdd���|�|dd�t�|j��|�|dd�t�|j��|�|dd�t�|j��|�|dd�|�|�|dd�|�|�|dd�t�|j��|�|dd�|�|�|dd�t�|j��dS)Nr#r"r$r�r���r�rr
r
r�
test_getslice�sR
�
�
�
�

�

�

�

�

�zBaseTest.test_getslicecCs~t�|j|j�}ddddddtjdddd	f}|D]H}|D]>}|dd�D],}|�t||||��t|�|||��qHq8q0dS�
Nrr#rr4�dr"���i�����)rrr~�sys�maxsizerr�)rr �indices�start�stop�stepr
r
r�test_extended_getslice�s�zBaseTest.test_extended_getslicec
Cs:t�|j|j�}||dd�<|�|t�|j|j|jdd���t�|j|j�}||dd�<|�|t�|j|j|jdd���t�|j|j�}||dd�<|�|t�|j|jdd�|j��t�|j|j�}||dd�<|�|t�|j|jdd�|j��t�|j|j�}||dd�<|�|t�|j|jdd�|j|jdd���t�|j|j�}||dd�<|�|t�|jd|j��t�|j|j�}||dd�<|�|t�|j|j��t�|j|j�}||dd�<|�|t�|j|j��t�|j|j�}||dd�<|�|t�|jd|j��t�|j|j�}||dd�<|�|t�|j|jdd�|j|jdd���t�|j|j�}||dd�<|�|t�|jd|j��t�|j|j�}|�t|jtdd�d�|�t|jtdd�d�t�|���}|�t|jtdd�|�|�t|jtdd�|�dS)Nr#r"r�r$r�rr�)	rrr~rrrr��slicerxr�r
r
r�
test_setslice�s����� ������*��zBaseTest.test_setslicecCs�ddddddtjdddd	f}|D]�}|D]�}|dd�D]�}t�|j|j�}t|�}||||�}|��|||||�<t�|j|�||||�<|�|t�|j|��||||�=||||�=|�|t�|j|��q8q(q dSr�)r�r�rrr~r��reverser)rr�r�r�r�r rEr�r
r
r�test_extended_set_del_sliceNsz$BaseTest.test_extended_set_del_slicecCsnd|j}t�|j|�}|�t|j�|D]}|�|�|�|�|��q*|�t|jd�|�t|j|j�dSr�)	r~rrrrrwrrr��rr~r rr
r
r�
test_indexbs
zBaseTest.test_indexcCsrd|j}t�|j|�}|�t|j�|D]}|�|�|�|�|��q*|�|�|j�d�|�|�d�d�dS)Nr$r)r~rrrr�countrr�r�r
r
r�
test_countks
zBaseTest.test_countcCs�|jD]b}d|j}t�|j|�}|�|�}|d|�||dd�}|�|�|�|t�|j|��qt�|j|j�}|�t|j|j�|�t|jd�dS)Nr$r#)	r~rrrw�removerrrr�)rrr~r �posZexample2r
r
r�test_removets



zBaseTest.test_removec
Csht�|j�}|�t|j�t�|jd|j�}|�t|jdd�|�t|jd�|�t|jt|��|�t|jt|�d�|�|�d�|jd�|�	|t�|j|jdd�|j��|�|�d�|jd�|�	|t�|j|jdd�|jdd�|j��|�|�d�|jd�|�|��|jd�|�	|t�|j|jdd�|jdd���dS)Nr$rr#rrr")
rrrr��popr~rrrurrr
r
r�test_pop�s.�*�$�zBaseTest.test_popc
CsNt�|j|j�}|�t|jd�|��|�|t�|j|jddd���dS)Nrr")rrr~rrr�rrr
r
r�test_reverse�s�zBaseTest.test_reversecCst�|j|j�}|�t|j�|�t�|j|jddd���|�|t�|j|j|jddd���t�|j|j�}|�|�|�|t�|j|j|j��t�|���}|�t|j|�t�|j|j�}|�|jddd��|�|t�|j|j|jddd���dS�Nr")rrr~rr�extendrrxr�r
r
r�test_extend�s* �
��zBaseTest.test_extendcCs�t�|jt|j��}t�|j|j�}|�||�|�ttj|jd�Gdd�d�}|�ttj|j|��dd�}|�ttj|j|��dS)Nr+c@seZdZdd�ZdS)z;BaseTest.test_constructor_with_iterable_argument.<locals>.AcSst�dSr
��UnicodeErrorrr
r
r�__iter__�szDBaseTest.test_constructor_with_iterable_argument.<locals>.A.__iter__N)rrr	rr
r
r
r�A�srcsst�dVdSr
rr
r
r
rr�sz;BaseTest.test_constructor_with_iterable_argument.<locals>.B)rrr�r~rrrr)rr r9rrr
r
r�'test_constructor_with_iterable_argument�sz0BaseTest.test_constructor_with_iterable_argumentcCsXzddl}Wntk
r*|�d�YnXt�|j�}t|�g}|�|�|��dS)Nrzgc module not available)�gc�ImportError�skipTestrrr�r}Zcollect)rr
r rKr
r
r�test_coveritertraverse�s

zBaseTest.test_coveritertraversecCst�|j|j�}t|�}|��}|�|��|�|�|��d|d�|�t|j|d�|�|��|�|�t|j	|dd��|�|��|�|�t|j
|d�|�|��|�|�t|jd�|�|��|�|�t|j|�
��|�|��|�|�t|j|���|�|��|�|jdk�rP|�t|j|���|�|��|�|�ttj|d�|�|��|�|�ttj|d�|�|��|�|�ttj|tdd�|�|�|��|�|�ttj|d�|�|��|�|�ttj|tdd��|�|��|�dS)Nrr#rr$)rrr~�
memoryviewr�rr�BufferErrorr}rr�r�r�r�r��fromunicode�	tounicode�operator�imul�setitemr��delitem)rr �mZexpectedr
r
r�test_buffer�s<zBaseTest.test_buffercCsDt�|j|j�}t�|�}|�|��|���d}|�tt	|�dSr
)
rrr~�weakref�proxyrr�r�ReferenceErrorr)r�s�pr
r
r�test_weakrefs

zBaseTest.test_weakref�getrefcountztest needs sys.getrefcount()cCs\td�D]}t�dtd��}qt�d�}td�D]}t�dtd��}q0|�|t�d��dS)Nr+r�@)r�rr�rr)rrJr9Zrcr
r
r�test_bug_782369s
zBaseTest.test_bug_782369cCstddd�dS)Nr9r#)r)rrr
r
r�test_subclass_with_kwargssz"BaseTest.test_subclass_with_kwargscCs&t�dd�}|�t|�|jd�dS)NrCs1234r%)rrrryrr
r
r�test_create_from_bytesszBaseTest.test_create_from_bytescCsBt�|j|j�}t�d�}|��d|j}t�||||�dS)N�Pn2Pir#)rrr~r�calcvobjsizer�ry�check_sizeof)rr �basesizeZbuffer_sizer
r
r�test_sizeof_with_buffers
z BaseTest.test_sizeof_with_buffercCs(t�|j�}t�d�}t�|||�dS)Nr#)rrrr$r%)rr r&r
r
r�test_sizeof_without_buffer#s
z#BaseTest.test_sizeof_without_bufferc	Cs�|jdkr�|�t��}t�|jd�}W5QRX|�dt|j��|�t��}t�|jt�dd��}W5QRX|�dt|j��n$t�|jd�}t�|jt�dd��}dS)Nr�foozcannot use a strzcannot use a unicode array)rrrrZassertInr@Z	exception)r�cmr r
r
r�test_initialize_with_unicode)s
 z%BaseTest.test_initialize_with_unicodecCs*ddlm}t�dd�}|�t||�dS)Nr)�getbuffer_with_null_viewrr:)Z	_testcapir,rrr)rr,r r
r
r�test_obsolete_write_lock5sz!BaseTest.test_obsolete_write_lockcCs0t�|ttj|jf�t�|ttj|jf�dSr
)rZcheck_free_after_iteratingr�rr�reversedrr
r
r�test_free_after_iterating;s��z"BaseTest.test_free_after_iteratingN)>rrr	rurxr{rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr	r
rr�unittestZ
skipUnless�hasattrr�r r!r"rZcpython_onlyr'r(r+r-r/r
r
r
rrs�sv	
%!

$
!'"2Y			
#�



rscseZdZ�fdd�Z�ZS)�
StringTestcs:t���t�|j|j�}|�t|jd|jdd��dS)Nrr$)�superr�rrr~rrr�r��	__class__r
rr�Cs
zStringTest.test_setitem)rrr	r��
__classcell__r
r
r4rr2Asr2c@s8eZdZdZdZdZdZed�ZdZ	dd�Z
d	d
�ZdS)�UnicodeTestru☺u☺﻾u☺�3r$cCs�|�ttjdd�t�dd�}|�d�|�d�|�d�|�d�|��}|�|d�|�|jt�d	}t�d|�}|�t|�d
�|�t|j�dS)Nr9r)ru Âሴ� r8u	abcÿሴu Âሴ abcÿሴu="'a\b€ÿሴu+array('u', '\x00="\'a\\b\x80ÿ\x00\x01ሴ'))	rrrrrrry�sizeof_wcharr�)rr rr
r
rrrPs 



�zUnicodeTest.test_unicodecCsDtdkrd}n
|�d�t�d|�}|�t|j�|�tt|�dS)Nr%s����zspecific to 32-bit wchar_tr)r:rrrrrr@)rZinvalid_strr r
r
r�test_issue17223ds
zUnicodeTest.test_issue17223N)rrr	rr~r�r�r@r�rzrrr;r
r
r
rr7Hsr7c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�
NumberTestcCs�t�|jtd��}|�|dd�|�|�|ddd�t�|jdddg��|�|ddd�t�|jddg��|�|ddd�t�|jdddddg��|�|ddd�t�|jdddg��|�|ddd�t�|jddg��|�|d	d
�|�|�|d
d	d�|ddd��|�|d	d
d�t�|jdddg��|�|ddd�t�|jg��|�|d
dd�t�|jg��dS)Nr&r$rr%r#rr"r�r�r�r�r�r�i0����rrr�rrr
r
r�
test_extslicers&$*&$ & zNumberTest.test_extslicecCst�|jtd��}|ddd�=|�|t�|jddg��t�|jtd��}|ddd�=|�|t�|jdddg��t�|jtd��}|ddd�=|�|t�|jddddg��t�|jtd��}|ddd	�=|�|t�|jdddddd
ddd
g	��t�|jtd��}|d
ddd>�=dS)Nr&r$r#rrr%r�r+r�r'r(r)r*iMr=rr
r
r�
test_delslice�s(zNumberTest.test_delslicecCsXt�|jtd��}t�|jdgd�|ddd�<|�|t�|jddddddddddg
��t�|jtd��}t�|jdgd�|ddd	�<|�|t�|jd
dddddddd
dg
��t�|jtd��}||ddd�<|�|t�|jdddd
g��t�|jtd��}|dd�}|dd�}t�|jtd��}||dd�<||tdd�<||dd�<dS)Nr+rr&r$r#rr(r*���rr%r'r)r")rrr�rr�)rr r9r�Zinsr
r
r�test_assignment�s **zNumberTest.test_assignmentcCsft�|jtd��}|�t|�ttd���t�|jdg�}|�|d|kd�|�|d|kd�dS)Nr+r5r"Tr)rrr�rr�r�r
r
r�test_iterationcontains�s
z!NumberTest.test_iterationcontainscCs�t�|j|g�}||d<|�ttj|j|dg�|�t|jd|d�t�|j|g�}||d<|�ttj|j|dg�|�t|jd|d�dSr|)rrrrer�)r�lower�upperr r
r
r�check_overflow�szNumberTest.check_overflowcCsT|j}Gdd�dtj�}||jddddgd�}|�|dd�|�tt|d	d
�dS)Nc@s*eZdZdgZdd�Zdd�Zdd�ZdS)	z6NumberTest.test_subclassing.<locals>.ExaggeratingArray�offsetcSstj�|||�Sr
)r�__new__)�clsrr�rFr
r
rrG�sz>NumberTest.test_subclassing.<locals>.ExaggeratingArray.__new__cSs
||_dSr
)rF)rrr�rFr
r
rr�sz?NumberTest.test_subclassing.<locals>.ExaggeratingArray.__init__cSstj�||�|jSr
)rr�rF)rrJr
r
rr��szBNumberTest.test_subclassing.<locals>.ExaggeratingArray.__getitem__N)rrr	�	__slots__rGrr�r
r
r
r�ExaggeratingArray�srJrr'r(r,r%rZcolorZblue)rrrur�AttributeError�setattr)rrrJr r
r
r�test_subclassing�s
zNumberTest.test_subclassingcCs.t�dtd��}t�|j|�}|�||�dS)Nr9r+)rr�rrr�r
r
r�test_frombytearray�szNumberTest.test_frombytearrayN)
rrr	r>r?rArBrErMrNr
r
r
rr<psr<c@seZdZdd�ZdS)�IntegerNumberTestc	CsXt�|j�}|�d�|�t��|�d�W5QRX|�t��d|d<W5QRXdS)NrgE@r)rrr}rrrr
r
r�test_type_error�s
z!IntegerNumberTest.test_type_errorN)rrr	rPr
r
r
rrO�srOc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�IntablecCs
||_dSr
�Z_num)rZnumr
r
rr�szIntable.__init__cCs|jSr
rRrr
r
r�	__index__�szIntable.__index__cCs|jSr
rRrr
r
r�__int__�szIntable.__int__cCstt|�t|��Sr
�rQr��r�otherr
r
r�__sub__�szIntable.__sub__cCstt|�t|��Sr
rUrVr
r
rr��szIntable.__add__N)rrr	rrSrTrXr�r
r
r
rrQ�s
rQc@sBeZdZdddddgZdddddgZdddddgZdZd	d
�ZdS)�SignedNumberTestr"rr#rrG�~�+�cCsht�|j�}dttd|jdd��}ttd|jdd��d}|�||�|�t|�t|��dS)Nr"r$r)r#�rrr��powryrErQ�rr rCrDr
r
r�
test_overflow�s
zSignedNumberTest.test_overflowN)rrr	r~r�r�r�r`r
r
r
rrY�s
rYc@sPeZdZddddddgZddddddgZddddddgZd	Zd
d�Zdd
�ZdS)�UnsignedNumberTestrr#r2r\rrH�r[�cCsLt�|j�}d}ttd|jd��d}|�||�|�t|�t|��dS)Nrr$r)r#r]r_r
r
rr`�s
z UnsignedNumberTest.test_overflowcCs�t|j�}t�|j|j�}|�|�|�|t�|j|j|j��t�|j|j�}|�tt|���|�|t�|j|j|jddd���dSr)�bytesr~rrrrr�r.)rrr r
r
r�test_bytes_extends

��z$UnsignedNumberTest.test_bytes_extendN)	rrr	r~r�r�r�r`rer
r
r
rra�srac@seZdZdZdZdS)�ByteTestr9r#N�rrr	rrzr
r
r
rrfsrfc@seZdZdZdZdS)�UnsignedByteTestrr#Nrgr
r
r
rrhsrhc@seZdZdZdZdS)�	ShortTestrIr$Nrgr
r
r
rrisric@seZdZdZdZdS)�UnsignedShortTestrCr$Nrgr
r
r
rrjsrjc@seZdZdZdZdS)�IntTestrJr$Nrgr
r
r
rrk#srkc@seZdZdZdZdS)�UnsignedIntTestrDr$Nrgr
r
r
rrl'srlc@seZdZdZdZdS)�LongTestrKr%Nrgr
r
r
rrm+srmc@seZdZdZdZdS)�UnsignedLongTestrEr%Nrgr
r
r
rrn/srnc@seZdZdZdZdS)�LongLongTest�qr)Nrgr
r
r
rro3sroc@seZdZdZdZdS)�UnsignedLongLongTest�Qr)Nrgr
r
r
rrq7srqc@sReZdZdddddgZdddddgZdddddgZdZd	d
�Zdd�Zd
d�Z	dS)�FPTestgE�rrgj�@g _��g _��g _�Br\cCs|�||�dSr
)ZassertAlmostEqualrtr
r
rruAszFPTest.assertEntryEqualcCs�t�|jtd�g�}t�|jtd�g�}|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�dS)N�nanTF)rrr`r�r�r
r
r�test_nanDszFPTest.test_nancCs�t�|j|j�}|�t|jd�|jdkr�t�|j|j�}|��|jdkrZ|�||�n|�|�	�|�	��|��|�||�dS)Nrr�r#)
rrr~rrr�ryrr�r�r�r
r
rr�Ns

zFPTest.test_byteswapN)
rrr	r~r�r�r�rurur�r
r
r
rrs;s
rsc@seZdZdZdZdS)�	FloatTestrLr%Nrgr
r
r
rrv^srvc@seZdZdZdZdd�ZdS)�
DoubleTestr=r)cCs�ddlm}t�ddgd�}z||dd9}Wntk
rFYnX|�d�t�ddd	dg�}z||d
dWntk
r�YnX|�d�dS)Nr)r�r=r"ir#z6Array of size > maxsize created - MemoryError expectedg�II�
�@g���S�!	@r)r�r�r�MemoryErrorZfail)rr�r r9r
r
r�test_alloc_overflowfs
zDoubleTest.test_alloc_overflowN)rrr	rrzryr
r
r
rrwbsrwc@sLeZdZdZdd�Zejedd�dd��Zejedd�dd	��Z	ejed
d�dd��Z
ejedd�d
d��Zejedd�dd��Zejedd�dd��Z
ejedd�dd��Zejedd�dd��Zejedd�dd��Zejedd�dd��Zejedd�dd��Zejedd�dd��Zejedd�dd ��Zejed!d�d"d#��Zd$S)%�LargeArrayTestr9cCsRt�|jddddddddg�|d	}|t�|jd
g|d	d	ddd
g�7}|S)Nrr#r$rr%r&r'r(r)�cr*r+r,)rr)r�size�baser
r
rr~{s&(zLargeArrayTest.exampleg@)ZmemusecCs"|�|�}|�t|�|d�dS)Nr%)r~rr�rr|r~r
r
r�test_example_data�s
z LargeArrayTest.test_example_datacCsx|�|�}|�|dd�|�||dd�|�||d�|�|dd�|�||dd�|�|dd�dS)Nrr%r)r@rr,r")r~rr~r
r
r�test_access�s
zLargeArrayTest.test_accessg	@cCs|�|�}|�t|dd��ddddg�|�t|dd��ddd	d
g�|dd�}|�t|�|d�|�|dd�|�|dd	�~|ddd�}|�t|�|dd�|�t|dd��dddd
g�|dr�|�t|dd��dd
g�n|�t|dd��dd	g�dS)Nr%rr#r$rr@r)r*r+r,r"r&r'r�)r~rr�r)rr|r~�partr
r
r�
test_slice�s
   zLargeArrayTest.test_slicecCs6|�|�}|�|�d�|d�|�|�d�d�dS)Nrr)r,r#)r~rr�r~r
r
rr��s
zLargeArrayTest.test_countcCs(|�|�}|�d�|�|dd�dS)Nr-r")r~r}rr~r
r
r�test_append�s

zLargeArrayTest.test_appendcCs`|�|�}|�tddddg��|�t|�|d�|�t|dd��dddd	ddddg�dS�
Nr-r.r/r0r)���r*r+r,)r~rr�rrr�r~r
r
rr�s
zLargeArrayTest.test_extendcCsT|�|�}|�d�|�t|�|d�|�t|dd��ddddgtd��dS)Nsabcdr)r�r*r+r,)r~r�rrr�r~r
r
r�test_frombytes�s

zLargeArrayTest.test_frombytescCs\|�|�}|�ddddg�|�t|�|d�|�t|dd��dddd	ddddg�dSr�)r~r�rrr�r~r
r
r�
test_fromlist�s
zLargeArrayTest.test_fromlistcCsZ|�|�}|�|�d�d�|�|�d�d�|�|�d�d�|�|�d�|d�dS)Nrr#r(r,r)r~rrwr~r
r
rr��s

zLargeArrayTest.test_indexcCs~|�|�}|�dd�|�dd�|�|dd�|�t|�|d�|�|dd�|�|dd�|�||dd�dS)Nrr-r+r.r#r/r()r~r�rrr~r
r
rr��s
zLargeArrayTest.test_insertcCs�|�|�}|�|�d�d�|�|dd�|�|�|d�d�|�||dd�|�|�d�d�|�|dd�|�t|�|d�|�|��d�|�t|�|�dS)Nrr#r+r,r$r)r~rr�rr~r
r
rr�s
zLargeArrayTest.test_popcCs~|�|�}|�d�|�t|�|d�|�|dd�|�d�|�t|�|d�|�||d�|�||dd�dS)Nrrr#r+r$r*r,)r~r�rrr~r
r
rr��s


zLargeArrayTest.test_removecCs�|�|�}|��|�t|�|d�|�|dd�|�|dd�|�|dd�|��|�t|�|d�|�t|dd��ddddg�|�t|d	d��dd
ddg�dS)Nr%rr,rr)r"r#r$r@r*r+)r~r�rrr�r~r
r
rr�s
 zLargeArrayTest.test_reverseg@&@cCsj|�|�}|��}|�t|�t|��|�|dd�t|dd���|�|dd�t|dd���dS)Nr)r�)r~r�rrr�)rr|r~Zlsr
r
r�test_tolist�s

 zLargeArrayTest.test_tolistN)rrr	rr~rZ
bigmemtestrrr�r�r�r�rr�r�r�r�rr�rr�r
r
r
rrzxs<

	













rz�__main__)Er0ZtestrZtest.supportrrr�rrdr�r�rrr?ryr:rrrvZTestCaserrArQrRrSrTrUrVrWrXrYrZr[r\r]r^r_rarbrcrlrmrnror7rsr2r7r<rOrQrYrarfrhrirjrkrlrmrnrorqrsrvrwrzr�mainr
r
r
r�<module>s�d(b	
#