HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/__pycache__/test_array.cpython-37.opt-1.pyc
B

��g���@s�dZddlZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddl
mZe
�
d�j
ZGdd�de
j
�ZGdd	�d	e
j
�Zd
ZGdd�dej�Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZ 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,�Z/Gd-d.�d.e/�Z0Gd/d0�d0�Z1Gd1d2�d2e0�Z2Gd3d4�d4e0�Z3Gd5d6�d6e2ej�Z4Gd7d8�d8e3ej�Z5Gd9d:�d:e2ej�Z6Gd;d<�d<e3ej�Z7Gd=d>�d>e2ej�Z8Gd?d@�d@e3ej�Z9GdAdB�dBe2ej�Z:GdCdD�dDe3ej�Z;GdEdF�dFe2ej�Z<GdGdH�dHe3ej�Z=GdIdJ�dJe/�Z>GdKdL�dLe>ej�Z?GdMdN�dNe>ej�Z@eAdOk�r�e�B�dS)Pz(Test the arraymodule.
   Roger E. Masse
�N)�support)�_array_reconstructor�uc@seZdZdS)�
ArraySubclassN)�__name__�
__module__�__qualname__�r	r	�+/usr/local/lib/python3.7/test/test_array.pyrsrc@seZdZddd�ZdS)�ArraySubclassWithKwargsNcCstj�|�dS)N)�array�__init__)�self�typecode�newargr	r	r
r
sz ArraySubclassWithKwargs.__init__)N)rrrr
r	r	r	r
rsrZ
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)rrrrrr	r	r	r
rsr�����r������	�
���
��������c@s$eZdZdd�Zdd�Zdd�ZdS)�ArrayReconstructorTestcCs�|�ttdddd�|�tttddd�|�tttjddd�|�tttjddd�|�tttjddd�|�tttjdtd�|�tttjddd�|�tttjddd	�dS)
N��br��?��dr-�a)rr�array_reconstructor�strrr�UNKNOWN_FORMAT)rr	r	r
�
test_errorNs 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}x�|D]�}|\}}}}tj|f|��}xd|D]\}yt�||�}	Wntk
�rH�wYnXttj|||�}
|j|	|
d3�|	|
|�d4��qW�q�WdS)5Nr�H�I�Lz=BBBB��r�r5�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>ffffr9z<ddddg�?Cz>ddddz{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�struct�packr�
OverflowErrorr;r�format)r�	testcases�testcaseZvalid_typecodes�mformat_codeZ
struct_fmt�valuesZarraystrrrr5r	r	r
�test_numbers`sp















z#ArrayReconstructorTest.test_numbersc	Csvd}tdftdftdftdff}xP|D]H}|\}}t�d|�}ttjd||�|��}|j||d�|||�d�q&WdS)	NuBonne Journée 𠌊𠍇z	UTF-16-LEz	UTF-16-BEz	UTF-32-LEz	UTF-32-BErz{0!r} != {1!r}; testcase={2!r})rJ)	�UTF16_LE�UTF16_BE�UTF32_LE�UTF32_BErr;�encoderra)rZteststrrbrcrd�encodingrr5r	r	r
�test_unicode�s

z#ArrayReconstructorTest.test_unicodeN)rrrr>rfrmr	r	r	r
r3Ls?r3c@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|�||�dS)N)r)r�entry1�entry2r	r	r
�assertEntryEqual�szBaseTest.assertEntryEqualcCstt�|j�dtt�S)Nr)�	typecodes�indexrr)rr	r	r
�badtypecode�szBaseTest.badtypecodecCsDt�|j�}|�|j|j�|�|j|j�|�ttj|jd�dS)N)rrrZassertGreaterEqual�itemsize�minitemsizerr)rrr	r	r
�test_constructor�szBaseTest.test_constructorcCsVt�|j�}|�|jd�|�t|�d�t�|j|j�}|�t|�t|j��dS)Nrr)rr�append�examplerr)rrr	r	r
�test_len�s
zBaseTest.test_lencCs|t�|j|j�}|�t|jd�|��}|�|t�|�t	|�d�|�|dt
�|�|dt
�|�|dt	|��dS)Nrr rr)rrryrr�buffer_infoZassertIsInstance�tuplerr�int)rrZbir	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)rr r!r%r)	rryrrr�byteswaprur�assertNotEqual)rryrr5r	r	r
�
test_byteswap�s


zBaseTest.test_byteswapcCsFddl}t�|j|j�}|�|�}|�t|�t|��|�||�dS)Nr)�copyrrryr��idr)rr�rr5r	r	r
�	test_copy�s

zBaseTest.test_copycCsFddl}t�|j|j�}|�|�}|�t|�t|��|�||�dS)Nr)r�rrryZdeepcopyr�r�r)rr�rr5r	r	r
�
test_deepcopy�s

zBaseTest.test_deepcopycCsjt�|j|j�}x(td�D]}|�|�|�dtj�qWx*tdtj�D]}|�|�|�dt�qHWdS)Nrr)	rrry�range�assertIs�
__reduce_ex__�pickle�HIGHEST_PROTOCOLr;)rr�protocolr	r	r
�test_reduce_ex�s
zBaseTest.test_reduce_excCs�x�ttjd�D]�}t�|j|j�}t�t�||��}|�t	|�t	|��|�
||�t|j|j�}d|_t�t�||��}|�t	|�t	|��|�
||�|�
|j|j�|�
t
|�t
|��qWdS)Nrr')r�r�r�rrry�loads�dumpsr�r�rrr�type)rr�rr5r	r	r
�test_pickle�szBaseTest.test_picklecCs�x�ttjd�D]�}t�|j�}t�t�||��}|�t|�t|��|�	||�t
|j�}d|_t�t�||��}|�t|�t|��|�	||�|�	|j|j�|�	t|�t|��qWdS)Nrr')
r�r�r�rrr�r�r�r�rrrr�)rr�rr5r	r	r
�test_pickle_for_empty_array
s
z$BaseTest.test_pickle_for_empty_arrayc
Cs�t�|j|j�}t|�}|ddd�}�x�ttjd�D�]p}t|�}t�||f|�}t�	|�\}}|�
|�|�t|�t|��|�t|�||�t
|�t�||f|�}t�	|�\}}|�
|�|�t|�t|��|�t|�|dd�|�x tdt|��D]}	t
|��qWt�||f|�}t�	|�\}}|�
|�|�t|�t|��|�t|�|�|�tt
|�t�||f|�}t�	|�\}}|�
|�|�t|�g�q8WdS)Nrr)rrry�listr�r�r��iterr�r��fromlistrr��nextrr�
StopIteration)
rZorig�dataZdata2�protoZitorigr9�itrrFr	r	r
�test_iterator_pickles8



zBaseTest.test_iterator_picklecCs�t�|j|j�}|�t|�t|j��t|�}t|�}x|D]}t|�q<W|�|j�|�t|�g�|�t|�|jg�|�t|�t|j�|jg�dS)N)	rrryrr�r�r�rx�outside)rrZexhitZempitrr	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)Nrrri���i�)rrry�insertrrrr)rrr	r	r
�test_insertMs0. 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�|�
||�|�
�Wd|js�|�
�t�tj�XdS)Nr �wb�rbr)rrryrrZtofiler�unlink�TESTFN�open�close�fromfilerrr��EOFError�closed)rrrHr5r	r	r
�test_tofromfilens&
zBaseTest.test_tofromfilec	CsPt�|j�}ttjd�}z|�t|j|t|j	��Wd|�
�t�tj�XdS)Nr�)rrr�rr�r�OSErrorr�rryr�r�)rrrHr	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��|�
||�|��Wd|js�|��t�
tj�XdS)Nr r�r�)rrryr�rr��writer�r�rrr�r�r�)rrrHr5r	r	r
�test_filewrite�s 
zBaseTest.test_filewritecCs~t�|jd|j�}t�|j�}|�t|jd�|�t|j�|�t|jd�|�t|jdg�|�|���|�||�dS)Nr r)rrryrr�tolistr�r)rrr5r	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}WdQRX|�t|�|�dS)
Nr T)�record�alwaysz!(to|from)string\(\) is deprecated)�message�categoryrrr)�warnings�catch_warnings�filterwarnings�DeprecationWarningrrryrrZtostringZ
fromstringrrurr)rZnb_warnings�rrr5r	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)rrryrr�tobytes�	frombytes�	bytearrayrrur)rrr5�cr	r	r
�test_tofrombytes�s
zBaseTest.test_tofrombytescCs.t�|j|j�}t�|j|�}|�||�dS)N)rrryr)rrr5r	r	r
�test_fromarray�szBaseTest.test_fromarraycCsVt�|jd|j�}|�|tt|�dtji��t�|j�}|�t|�d|j�dS)Nr rzarray('%s'))rrryr�eval�repr)rrr	r	r
�	test_repr�szBaseTest.test_reprcCs t�|jd|j�}t|�dS)Nr )rrryr<)rrr	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 )rrryr��smallerexample�
biggerexample)rrZalZabr	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)rrryrrtrr�__add__)rrr5r	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)Nrr r�)
rrryr�rrtrrr��__iadd__)rrr5r	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"rrrr�)rrryrrr�__mul__)rrr	r	r
�test_mul#s*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"ri�rr�)rrryr�rrr�__imul__)rrr5r	r	r
�	test_imulDs(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)Nrrr)	rrryrqrrr�__getitem__�
IndexError)rrr	r	r
�test_getitemas 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)Nrrr)	rrryrqrrr�__setitem__r�)rrr	r	r
�test_setitemms: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)Nrrr)	rrryrrrr�__delitem__r�)rrr	r	r
�test_delitem�s0zBaseTest.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)Nrrr i�i���i�)rrryr)rrr	r	r
�
test_getslice�s@








zBaseTest.test_getslicecCs�t�|j|j�}ddddddtjdddd	f}xX|D]P}xJ|D]B}x<|dd�D],}|�t||||��t|�|||��qNWq<Wq2WdS)
Nrrrr0�dr���i��i����)rrry�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)Nrri�r i���ri�)	rrryrrrr��slicert)rrr5r	r	r
�
test_setslice�s~    &.zBaseTest.test_setslicecCs�ddddddtjdddd	f}x�|D]�}x�|D]�}x�|dd�D]�}t�|j|j�}t|�}||||�}|��|||||�<t�|j|�||||�<|�|t�|j|��||||�=||||�=|�|t�|j|��q>Wq,Wq"WdS)
Nrrrr0r�rr�i��i����)r�r�rrryr��reverser)rr�r�r�r�rrAr�r	r	r
�test_extended_set_del_sliceMs

z$BaseTest.test_extended_set_del_slicecCsrd|j}t�|j|�}|�t|j�x$|D]}|�|�|�|�|��q,W|�t|jd�|�t|j|j�dS)Nr )	ryrrrrrsrrr�)rryrrr	r	r
�
test_indexas

zBaseTest.test_indexcCsvd|j}t�|j|�}|�t|j�x$|D]}|�|�|�|�|��q,W|�|�|j�d�|�|�d�d�dS)Nr r)ryrrrr�countrr�)rryrrr	r	r
�
test_countjs

zBaseTest.test_countcCs�xl|jD]b}d|j}t�|j|�}|�|�}|d|�||dd�}|�|�|�|t�|j|��qWt�|j|j�}|�t|j|j�|�t|jd�dS)Nr r)	ryrrrs�removerrrr�)rrryr�posZexample2r	r	r
�test_removess


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 rrrrr)
rrrr��popryrrrqr)rrr	r	r
�test_pop�s( .zBaseTest.test_popc
CsNt�|j|j�}|�t|jd�|��|�|t�|j|jddd���dS)Nrr)rrryrrr�r)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)rrryrr�extendrrt)rrr5r	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�dS)N)�UnicodeError)rr	r	r
�__iter__�szDBaseTest.test_constructor_with_iterable_argument.<locals>.A.__iter__N)rrrr�r	r	r	r
�A�sr�csst�dVdS)N)r�r	r	r	r
r�sz;BaseTest.test_constructor_with_iterable_argument.<locals>.B)rrr�ryrrrr�)rrr5r�rr	r	r
�'test_constructor_with_iterable_argument�sz0BaseTest.test_constructor_with_iterable_argumentcCsXyddl}Wntk
r*|�d�YnXt�|j�}t|�g}|�|�|��dS)Nrzgc module not available)�gc�ImportError�skipTestrrr�rxZcollect)rr�rrGr	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)Nrrrr )rrry�
memoryviewr�rr�BufferErrorrxr�r�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	|�dS)N)
rrry�weakref�proxyrr�r�ReferenceErrorr)r�s�pr	r	r
�test_weakrefs

zBaseTest.test_weakref�getrefcountztest needs sys.getrefcount()cCsdx td�D]}t�dtd��}q
Wt�d�}x td�D]}t�dtd��}q6W|�|t�d��dS)Nr'r�@)r�rr�rr)rrFr5Zrcr	r	r
�test_bug_782369s
zBaseTest.test_bug_782369cCstddd�dS)Nr5r)r)r)rr	r	r
�test_subclass_with_kwargssz"BaseTest.test_subclass_with_kwargscCs&t�dd�}|�t|�|jd�dS)Nr?s1234r!)rrrru)rrr	r	r
�test_create_from_bytesszBaseTest.test_create_from_bytescCsBt�|j|j�}t�d�}|��d|j}t�||||�dS)N�Pn2Pir)rrryr�calcvobjsizer{ru�check_sizeof)rr�basesize�buffer_sizer	r	r
�test_sizeof_with_buffers
z BaseTest.test_sizeof_with_buffercCs(t�|j�}t�d�}t�|||�dS)Nr
)rrrrr)rrrr	r	r
�test_sizeof_without_buffer"s
z#BaseTest.test_sizeof_without_bufferc	Cs�|jdkr�|�t��}t�|jd�}WdQRX|�dt|j��|�t��}t�|jt�dd��}WdQRX|�dt|j��n$t�|jd�}t�|jt�dd��}dS)Nr�foozcannot use a strzcannot use a unicode array)rrrrZassertInr<Z	exception)r�cmrr	r	r
�test_initialize_with_unicode(s
 z%BaseTest.test_initialize_with_unicodecCs*ddlm}t�dd�}|�t||�dS)Nr)�getbuffer_with_null_viewrr6)Z	_testcapirrrr�)rrrr	r	r
�test_obsolete_write_lock4sz!BaseTest.test_obsolete_write_lockcCs0t�|ttj|jf�t�|ttj|jf�dS)N)rZcheck_free_after_iteratingr�rr�reversed)rr	r	r
�test_free_after_iterating:s
z"BaseTest.test_free_after_iteratingN)>rrrrqrtrwrzr~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�rr�unittestZ
skipUnless�hasattrr�r
rrrZcpython_onlyrrrrrr	r	r	r
rn�sl	
%!

$
!'"2Y			
#	rncseZdZ�fdd�Z�ZS)�
StringTestcs:t���t�|j|j�}|�t|jd|jdd��dS)Nrr )�superr�rrryrrr�)rr)�	__class__r	r
r�Bs
zStringTest.test_setitem)rrrr��
__classcell__r	r	)rr
r@src@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)Nr5rru Âሴ� r4u	abcÿሴu Âሴ abcÿሴu="'a\b€ÿሴu+array('u', '\x00="\'a\\b\x80ÿ\x00\x01ሴ'))	rrrr�r�rru�sizeof_wcharr�)rrrr	r	r
rmOs



zUnicodeTest.test_unicodecCsDtdkrd}n
|�d�t�d|�}|�t|j�|�tt|�dS)Nr!s����zspecific to 32-bit wchar_tr)r$r�rrrr�r<)rZinvalid_strrr	r	r
�test_issue17223cs
zUnicodeTest.test_issue17223N)rrrrryr�r�r<r�rvrmr%r	r	r	r
r!Gsr!c@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!rrrr�i����r�i�i�i���i0���)rrr�r)rrr	r	r
�
test_extsliceqs&$*&$ & 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 rrrr!r�r'i�r#r$r%r&iM)rrr�r)rrr	r	r
�
test_delslices(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 rrr$r&���rr!r#r%r)rrr�rr�)rrr5r�Zinsr	r	r
�test_assignment�s **zNumberTest.test_assignmentcCsft�|jtd��}|�t|�ttd���t�|jdg�}|�|d|kd�|�|d|kd�dS)Nr'r1rTr)rrr�rr�)rrr5r	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�dS)Nrr)rrrr`r�)r�lower�upperrr	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�|||�S)N)r�__new__)�clsrr�r/r	r	r
r0�sz>NumberTest.test_subclassing.<locals>.ExaggeratingArray.__new__cSs
||_dS)N)r/)rrr�r/r	r	r
r
�sz?NumberTest.test_subclassing.<locals>.ExaggeratingArray.__init__cSstj�||�|jS)N)rr�r/)rrFr	r	r
r��szBNumberTest.test_subclassing.<locals>.ExaggeratingArray.__getitem__N)rrr�	__slots__r0r
r�r	r	r	r
�ExaggeratingArray�sr3rr#r$r(r!rZcolorZblue)rrrqr�AttributeError�setattr)rrr3rr	r	r
�test_subclassing�s
zNumberTest.test_subclassingcCs.t�dtd��}t�|j|�}|�||�dS)Nr5r')rr�rr)rrr5r	r	r
�test_frombytearray�szNumberTest.test_frombytearrayN)
rrrr'r(r*r+r.r6r7r	r	r	r
r&osr&c@seZdZdd�ZdS)�IntegerNumberTestc	CsXt�|j�}|�d�|�t��|�d�WdQRX|�t��d|d<WdQRXdS)NrgE@r)rrrxrr)rrr	r	r
�test_type_error�s
z!IntegerNumberTest.test_type_errorN)rrrr9r	r	r	r
r8�sr8c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�IntablecCs
||_dS)N)�_num)rZnumr	r	r
r
�szIntable.__init__cCs|jS)N)r;)rr	r	r
�__int__�szIntable.__int__cCstt|�t|��S)N)r:r})r�otherr	r	r
�__sub__�szIntable.__sub__cCstt|�t|��S)N)r:r})rr=r	r	r
r��szIntable.__add__N)rrrr
r<r>r�r	r	r	r
r:�sr:c@sBeZdZdddddgZdddddgZdddddgZdZd	d
�ZdS)�SignedNumberTestrrrrrC�~�+�cCsht�|j�}dttd|jdd��}ttd|jdd��d}|�||�|�t|�t|��dS)Nrr r%r)rrr}�powrur.r:)rrr,r-r	r	r
�
test_overflow�s
zSignedNumberTest.test_overflowN)rrrryr�r�r�rDr	r	r	r
r?�s
r?c@sPeZdZddddddgZddddddgZddddddgZd	Zd
d�Zdd
�ZdS)�UnsignedNumberTestrrr.rBrrD�rA�cCsLt�|j�}d}ttd|jd��d}|�||�|�t|�t|��dS)Nrr r%r)rrr}rCrur.r:)rrr,r-r	r	r
rD�s
z UnsignedNumberTest.test_overflowcCs�t|j�}t�|j|j�}|�|�|�|t�|j|j|j��t�|j|j�}|�tt|���|�|t�|j|j|jddd���dS)Nr)�bytesryrrr�rr�r)rrrr	r	r
�test_bytes_extend�s

z$UnsignedNumberTest.test_bytes_extendN)	rrrryr�r�r�rDrIr	r	r	r
rE�srEc@seZdZdZdZdS)�ByteTestr5rN)rrrrrvr	r	r	r
rJsrJc@seZdZdZdZdS)�UnsignedByteTestrrN)rrrrrvr	r	r	r
rKsrKc@seZdZdZdZdS)�	ShortTestrEr N)rrrrrvr	r	r	r
rLsrLc@seZdZdZdZdS)�UnsignedShortTestr?r N)rrrrrvr	r	r	r
rMsrMc@seZdZdZdZdS)�IntTestrFr N)rrrrrvr	r	r	r
rN srNc@seZdZdZdZdS)�UnsignedIntTestr@r N)rrrrrvr	r	r	r
rO$srOc@seZdZdZdZdS)�LongTestrGr!N)rrrrrvr	r	r	r
rP(srPc@seZdZdZdZdS)�UnsignedLongTestrAr!N)rrrrrvr	r	r	r
rQ,srQc@seZdZdZdZdS)�LongLongTest�qr%N)rrrrrvr	r	r	r
rR0srRc@seZdZdZdZdS)�UnsignedLongLongTest�Qr%N)rrrrrvr	r	r	r
rT4srTc@sReZdZdddddgZdddddgZdddddgZdZd	d
�Zdd�Zd
d�Z	dS)�FPTestgE�rrgj�@g _��g _��g _�BrBcCs|�||�dS)N)ZassertAlmostEqual)rrorpr	r	r
rq>szFPTest.assertEntryEqualcCs�t�|jtd�g�}t�|jtd�g�}|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�dS)N�nanTF)rrrZr�)rrr5r	r	r
�test_nanAszFPTest.test_nancCs�t�|j|j�}|�t|jd�|jdkr�t�|j|j�}|��|jdkrZ|�||�n|�|�	�|�	��|��|�||�dS)Nr)rr r!r%r)
rrryrrrrurr�r�)rrr5r	r	r
r�Ks

zFPTest.test_byteswapN)
rrrryr�r�r�rqrXr�r	r	r	r
rV8s
rVc@seZdZdZdZdS)�	FloatTestrHr!N)rrrrrvr	r	r	r
rY[srYc@seZdZdZdZdd�ZdS)�
DoubleTestr9r%cCs�ddlm}t�ddgd�}y||dd9}Wntk
rFYnX|�d�t�ddd	dg�}y||d
dWntk
r�YnX|�d�dS)Nr)r�r9rirz6Array of size > maxsize created - MemoryError expectedg�II�
�@g���S�!	@r)r�r�r�MemoryErrorZfail)rr�rr5r	r	r
�test_alloc_overflowcs
zDoubleTest.test_alloc_overflowN)rrrrrvr\r	r	r	r
rZ_srZ�__main__)C�__doc__rZtestrrr�r�r^r�r�rrr;rur$rrrrZTestCaserr=rKrLrMrNrOrPrQrRrSrTrUrVrWrXrYr[r\r]rgrhrirjr3rnrr!r&r8r:r?rErJrKrLrMrNrOrPrQrRrTrVrYrZr�mainr	r	r	r
�<module>s�d(b	

#