Your IP : 216.73.217.129


Current Path : /opt/alt/python39/lib64/python3.9/test/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/__pycache__/test_array.cpython-39.pyc

a

XC?h���@s�dZddlZddlmZddlmZddlZddlZddlZddl	Z	ddl
Z
ddlZddlmZ
e�d�jZGdd�dej�ZGd	d
�d
ej�ZdZGdd
�d
ej�ZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'd Z(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�Z1Gd0d1�d1�Z2Gd2d3�d3e1�Z3Gd4d5�d5e1�Z4Gd6d7�d7e3ej�Z5Gd8d9�d9e4ej�Z6Gd:d;�d;e3ej�Z7Gd<d=�d=e4ej�Z8Gd>d?�d?e3ej�Z9Gd@dA�dAe4ej�Z:GdBdC�dCe3ej�Z;GdDdE�dEe4ej�Z<GdFdG�dGe3ej�Z=GdHdI�dIe4ej�Z>GdJdK�dKe0�Z?GdLdM�dMe?ej�Z@GdNdO�dOe?ej�ZAGdPdQ�dQej�ZBeCdRk�r�e�D�dS)Sz(Test the arraymodule.
   Roger E. Masse
�N)�support)�_2G)�_array_reconstructor�uc@seZdZdS)�
ArraySubclassN)�__name__�
__module__�__qualname__�r
r
�4/opt/alt/python39/lib64/python3.9/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_constructorszMiscTest.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_errorNs0��
�
�
�
�
�
�z!ArrayReconstructorTest.test_errorcCs8gd�tdgd�fgd�tdgd�fgd�tdgd	�fgd�td
gd	�fgd�tdgd
�fgd�tdgd
�fddgtdgd�fddgtdgd�fddgtdgd�fddgt	dgd�fdgt
dgd�fdgtdgd�fdgtdgd�fdgt
dgd�fdgt
dgd�fdgtdgd�fdgtdgd�fdgt
dgd�fdgtd d!td"�td#�d$gfdgtd%d!td"�td#�d$gfd&gtd'd(td"�td#�d$gfd&gtd)d(td"�td#�d$gff}|D]�}|\}}}}tj|g|�R�}|D]\}zt�||�}	Wnt�yY�q�Yn0ttj|||�}
|j|	|
d*�|	|
|�d+��qҐq�dS),N)r�H�I�Lz=BBBB)��r�)r9�h�i�lz=bbb)i����rGr)rCrDrEz<HHHH)i��ri��z>HHHH)rIrJrKz<hhh)i���rLrz>hhhrDrEz<IIII)l��rl��z>IIIIrJrKz<iii)i�rMrz>iiiz<QQQQz>QQQQz<qqqz>qqq)l�����rl����)l����rNr�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_numbers`s�
�
�
�
�
�
�
�
�
�
��������������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-BErrQrR)	�UTF16_LE�UTF16_BE�UTF32_LE�UTF32_BErr?�encoderri)rZteststrrjrkrl�encodingr r9r
r
r�test_unicode�s���z#ArrayReconstructorTest.test_unicodeN)rrr	rBrnrur
r
r
rr7Ls?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.e/�0e1e2dY�dZ�d[d\��Z3d]d^�Z4d_d`�Z5e6j7dadb��Z8e6j7dcdd��Z9dedf�Z:e6j7dgdh��Z;didj�Z<dkS)l�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�|jdvr�t�|j|�}|��|jdkrl|�||�n|�||�|��|�||�dS)Nru􀄀r�r#r$r%r)r#)	rr�rrr�byteswapr|r�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_array
s
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_iteratorAs
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_insertMs8(����zBaseTest.test_insertc	Cst�|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�|�
||�|�
�W|js�|�
�t�tj�n|j�s|�
�t�tj�0dS)Nr$�wb�rbr#)rrr�rrZtofiler�unlink�TESTFN�open�close�fromfilerrr��EOFError�closed�rr rOr9r
r
r�test_tofromfilens,

�zBaseTest.test_tofromfilec	Csdt�|j�}ttjd�}z0|�t|j|t|j	��W|�
�t�tj�n|�
�t�tj�0dS)Nr�)rrr�rr�r�OSErrorr�rr�r�r�)rr rOr
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��|�
||�|��W|js�|��t�
tj�n|js�|��t�
tj�0dS)Nr$r�r�)rrr�r�rr��writer�r�rrr�r�r�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_tofromlistcCs�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�	bytearrayrr|r)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�rr{rr�__add__r�r
r
r�test_add�s��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�rr{rrr��__iadd__r�r
r
r�	test_iadd�s""��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_muls4��
�
��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_imul0s*�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�rxrrr�__getitem__�
IndexErrorrr
r
r�test_getitemMs 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�rxrrr�__setitem__r�rr
r
r�test_setitemYs>��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��slicer{r�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_slice9sz$BaseTest.test_extended_set_del_slicecCsnd|j}t�|j|�}|�t|j�|D]}|�|�|�|�|��q*|�t|jd�|�t|j|j�dSr�)	r�rrrrrzrrr��rr�r rr
r
r�
test_indexMs
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_countVs
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�rrrz�removerrrr�)rrr�r �posZexample2r
r
r�test_remove_s



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�rrrxrrr
r
r�test_popms.�*�$�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�extendrr{r�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
r�r
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_argumentcCsVzddl}Wnty(|�d�Yn0t�|j�}t|�g}|�|�|��dS)Nrzgc module not available)�gc�ImportError�skipTestrrr�r�Zcollect)rrr 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�r�r�r�r�r�r��fromunicode�	tounicode�operator�imul�setitemr��delitem)rr �mZexpectedr
r
r�test_buffer�s<zBaseTest.test_buffercCsLt�|j|j�}t�|�}|�|��|���d}t��|�	t
t|�dSr
)rrr��weakref�proxyrr�rZ
gc_collectr�ReferenceErrorr)r�s�pr
r
r�test_weakref�s
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_782369�s
zBaseTest.test_bug_782369cCstddd�dS)Nr9r#)r)rrr
r
r�test_subclass_with_kwargs�sz"BaseTest.test_subclass_with_kwargscCs&t�dd�}|�t|�|jd�dS)NrCs1234r%)rrrr|rr
r
r�test_create_from_bytesszBaseTest.test_create_from_bytescCsBt�|j|j�}t�d�}|��d|j}t�||||�dS)N�Pn2Pir#)rrr�r�calcvobjsizer�r|�check_sizeof)rr �basesizeZbuffer_sizer
r
r�test_sizeof_with_buffers
z BaseTest.test_sizeof_with_buffercCs(t�|j�}t�d�}t�|||�dS)Nr)rrrrr)rr rr
r
r�test_sizeof_without_buffers
z#BaseTest.test_sizeof_without_buffercCs�|jdkr�|�t��}t�|jd�}Wd�n1s80Y|�dt|j��|�t��&}t�|jt�dd��}Wd�n1s�0Y|�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_unicodes
,4z%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_lock!s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	rxr{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�r�r�r�r�r�rrrr�unittestZ
skipUnless�hasattrr�rrrrZcpython_onlyr r!r$r&r(r
r
r
rrv�st	
%!

$
!'"2Y			
#�



rvcseZdZ�fdd�Z�ZS)�
StringTestcs:t���t�|j|j�}|�t|jd|jdd��dS)Nrr$)�superr�rrr�rrr�r��	__class__r
rr�/s
zStringTest.test_setitem)rrr	r��
__classcell__r
r
r-rr+-sr+c@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ሴ'))	rrrr	r
rr|�sizeof_wcharr�)rr rr
r
rru<s 



�zUnicodeTest.test_unicodecCsDtdkrd}n
|�d�t�d|�}|�t|j�|�tt|�dS)Nr%s����zspecific to 32-bit wchar_tr)r3rrrrr
r@)rZinvalid_strr r
r
r�test_issue17223Ps
zUnicodeTest.test_issue17223N)rrr	rr�r�r�r@r�r}rur4r
r
r
rr04sr0c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�
NumberTestcCsvt�|jtd��}|�|dd�|�|�|ddd�t�|jgd���|�|ddd�t�|jddg��|�|ddd�t�|jgd���|�|ddd�t�|jgd	���|�|ddd�t�|jddg��|�|d
d�|�|�|dd
d�|ddd��|�|d
dd�t�|jgd���|�|dd
d�t�|jg��|�|ddd�t�|jg��dS)Nr&r$�rr$r%r#rr")r%rr$r#rr�)r%r$rr�r�r�r�r�i0����rrr�rrr
r
r�
test_extslice^s$$$$$ $ zNumberTest.test_extslicecCst�|jtd��}|ddd�=|�|t�|jddg��t�|jtd��}|ddd�=|�|t�|jgd���t�|jtd��}|ddd�=|�|t�|jgd���t�|jtd��}|ddd	�=|�|t�|jgd
���t�|jtd��}|dddd>�=dS)
Nr&r$r#rr6r�)rr$rr%r+r�)	r#r$rr%r&r'r(r)r*r*iMr7rr
r
r�
test_delslicelszNumberTest.test_delslicecCs4t�|jtd��}t�|jdgd�|ddd�<|�|t�|jgd���t�|jtd��}t�|jdgd�|ddd�<|�|t�|jgd���t�|jtd	��}||ddd
�<|�|t�|jgd���t�|jtd��}|dd�}|dd�}t�|jtd��}||dd�<||tdd�<||dd�<dS)Nr+rr&r$)
rr#rrrr&rr(rr*r���)
rr+r$rr%r+r'r(r)r+r%r")rr$r#r)rrr�rr�)rr r9r�Zinsr
r
r�test_assignment}s zNumberTest.test_assignmentcCsft�|jtd��}|�t|�ttd���t�|jdg�}|�|d|vd�|�|d|vd�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)rrrrhr�)r�lower�upperr r
r
r�check_overflow�szNumberTest.check_overflowcCsP|j}Gdd�dtj�}||jgd�d�}|�|dd�|�tt|dd�dS)	Nc@s*eZdZdgZdd�Zdd�Zdd�ZdS)	z6NumberTest.test_subclassing.<locals>.ExaggeratingArray�offsetcSstj�|||�Sr
)r�__new__)�clsrr�r@r
r
rrA�sz>NumberTest.test_subclassing.<locals>.ExaggeratingArray.__new__cSs
||_dSr
)r@)rrr�r@r
r
rr�sz?NumberTest.test_subclassing.<locals>.ExaggeratingArray.__init__cSstj�||�|jSr
)rr�r@)rrJr
r
rr��szBNumberTest.test_subclassing.<locals>.ExaggeratingArray.__getitem__N)rrr	�	__slots__rArr�r
r
r
r�ExaggeratingArray�srD)rr'r(r,r%rr(ZcolorZblue)rrrxr�AttributeError�setattr)rrrDr 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	r8r9r;r<r?rGrHr
r
r
rr5\sr5c@seZdZdd�ZdS)�IntegerNumberTestcCs�t�|j�}|�d�|�t��|�d�Wd�n1s@0Y|�t��d|d<Wd�n1sr0YdS)NrgE@r)rrr�rrrr
r
r�test_type_error�s
(z!IntegerNumberTest.test_type_errorN)rrr	rJr
r
r
rrI�srIc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�IntablecCs
||_dSr
�Z_num)rZnumr
r
rr�szIntable.__init__cCs|jSr
rLrr
r
r�	__index__�szIntable.__index__cCs|jSr
rLrr
r
r�__int__�szIntable.__int__cCstt|�t|��Sr
�rKr��r�otherr
r
r�__sub__�szIntable.__sub__cCstt|�t|��Sr
rOrPr
r
rr��szIntable.__add__N)rrr	rrMrNrRr�r
r
r
rrK�s
rKc@s0eZdZgd�Zgd�Zgd�ZdZdd�ZdS)�SignedNumberTest)r"rr#rrG)r"rr#r�~)r"rr#�+rG�cCsht�|j�}dttd|jdd��}ttd|jdd��d}|�||�|�t|�t|��dS)Nr"r$r)r#�rrr��powr|r?rK�rr r=r>r
r
r�
test_overflow�s
zSignedNumberTest.test_overflowN)rrr	r�r�r�r�rZr
r
r
rrS�s
rSc@s8eZdZgd�Zgd�Zgd�ZdZdd�Zdd�Zd	S)
�UnsignedNumberTest)rr#r2rVrrH)rr#r2rVr�)rr#r2rVrUrH�cCsLt�|j�}d}ttd|jd��d}|�||�|�t|�t|��dS)Nrr$r)r#rWrYr
r
rrZ�s
z UnsignedNumberTest.test_overflowcCs�t|j�}t�|j|j�}|�|�|�|t�|j|j|j��t�|j|j�}|�tt|���|�|t�|j|j|jddd���dSr�)�bytesr�rrr�rr�r')rrr r
r
r�test_bytes_extend�s

��z$UnsignedNumberTest.test_bytes_extendN)	rrr	r�r�r�r�rZr_r
r
r
rr[�sr[c@seZdZdZdZdS)�ByteTestr9r#N�rrr	rr}r
r
r
rr`�sr`c@seZdZdZdZdS)�UnsignedByteTestrr#Nrar
r
r
rrbsrbc@seZdZdZdZdS)�	ShortTestrIr$Nrar
r
r
rrcsrcc@seZdZdZdZdS)�UnsignedShortTestrCr$Nrar
r
r
rrdsrdc@seZdZdZdZdS)�IntTestrJr$Nrar
r
r
rresrec@seZdZdZdZdS)�UnsignedIntTestrDr$Nrar
r
r
rrfsrfc@seZdZdZdZdS)�LongTestrKr%Nrar
r
r
rrgsrgc@seZdZdZdZdS)�UnsignedLongTestrEr%Nrar
r
r
rrhsrhc@seZdZdZdZdS)�LongLongTest�qr)Nrar
r
r
rrisric@seZdZdZdZdS)�UnsignedLongLongTest�Qr)Nrar
r
r
rrk#srkc@s@eZdZgd�Zgd�Zgd�ZdZdd�Zdd�Zd	d
�Z	dS)�FPTest)�E�rr�j�@g _��)rnrrrog _��)rnrrrog _�BrVcCs|�||�dSr
)ZassertAlmostEqualrwr
r
rrx-szFPTest.assertEntryEqualcCs�t�|jtd�g�}t�|jtd�g�}|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�dS)N�nanTF)rrrcr�r�r
r
r�test_nan0szFPTest.test_nancCs�t�|j|j�}|�t|jd�|jdvr�t�|j|j�}|��|jdkrZ|�||�n|�|�	�|�	��|��|�||�dS)Nrr�r#)
rrr�rrr�r|rr�r�r�r
r
rr�:s

zFPTest.test_byteswapN)
rrr	r�r�r�r�rxrqr�r
r
r
rrm's
rmc@seZdZdZdZdS)�	FloatTestrOr%Nrar
r
r
rrrJsrrc@seZdZdZdZdd�ZdS)�
DoubleTestr=r)cCs�ddlm}t�ddgd�}z||dd9}WntyDYn0|�d�t�dgd��}z||d	dWnty�Yn0|�d�dS)
Nr)r�r=r"ir#z6Array of size > maxsize created - MemoryError expected)g�II�
�@g���S�!	@r"r)r�r�r�MemoryErrorZfail)rr�r r9r
r
r�test_alloc_overflowRs
zDoubleTest.test_alloc_overflowN)rrr	rr}rur
r
r
rrsNsrsc@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)%�LargeArrayTestr9cCsBt�|jgd��|d}|t�|jdg|dgd��7}|S)N)rr#r$rr%r&r'r(r)�c�r)r*r+r,)rr)r�size�baser
r
rr�gs$zLargeArrayTest.exampleg@)ZmemusecCs"|�|�}|�t|�|d�dS)Nr%)r�rr�rryr�r
r
r�test_example_datams
z LargeArrayTest.test_example_datacCsx|�|�}|�|dd�|�||dd�|�||d�|�|dd�|�||dd�|�|dd�dS)Nrr%r)r:rr,r")r�rr{r
r
r�test_accessrs
zLargeArrayTest.test_accessg	@cCs|�|�}|�t|dd��gd��|�t|dd��gd��|dd�}|�t|�|d�|�|dd�|�|dd	�~|ddd�}|�t|�|d
d�|�t|dd��gd��|dr�|�t|dd��d
dg�n|�t|dd��dd	g�dS)Nr%�rr#r$rr:rxr#r"r$rr+r&)rr$r%r'r�r*r,r))r�rr�r)rryr��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_appendcCsP|�|�}|�tgd���|�t|�|d�|�t|dd��gd��dS�N)r-r.r/r0r)���)r)r*r+r,r-r.r/r0)r�r�r�rrr�r{r
r
rr��s
zLargeArrayTest.test_extendcCsP|�|�}|�d�|�t|�|d�|�t|dd��gd�td��dS)Nsabcdr)r�rx)r�r�rrr�r{r
r
r�test_frombytes�s

zLargeArrayTest.test_frombytescCsL|�|�}|�gd��|�t|�|d�|�t|dd��gd��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�rrzr{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��gd��|�t|dd��gd	��dS)
Nr%rr,rr)r"r~r:rx)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�)rryr�Zlsr
r
r�test_tolist�s

 zLargeArrayTest.test_tolistN)rrr	rr�rZ
bigmemtestrr|r}r�r�r�r�r�r�r�r�r�r�r�r�r
r
r
rrvds<

	













rv�__main__)E�__doc__r)�testrZtest.supportrrr�rrgr�rrr?r|r3rrryZTestCaserrArTrUrVrWrXrYrZr[r\r]r^r_r`rarbrdrerfrorprqrrr7rvr+r0r5rIrKrSr[r`rbrcrdrerfrgrhrirkrmrrrsrvr�mainr
r
r
r�<module>s�d(b	
#