Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_array.cpython-38.pyc
U

>��gK��@s�dZddlZddlmZddlmZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlm
Ze�d�jZGdd�dej�ZGd	d
�d
ej�ZdZGdd
�d
ej�ZdZdZdZdZdZdZdZdZdZdZdZ dZ!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�Z0Gd,d-�d-e.�Z1Gd.d/�d/e1�Z2Gd0d1�d1�Z3Gd2d3�d3e2�Z4Gd4d5�d5e2�Z5Gd6d7�d7e4ej�Z6Gd8d9�d9e5ej�Z7Gd:d;�d;e4ej�Z8Gd<d=�d=e5ej�Z9Gd>d?�d?e4ej�Z:Gd@dA�dAe5ej�Z;GdBdC�dCe4ej�Z<GdDdE�dEe5ej�Z=GdFdG�dGe4ej�Z>GdHdI�dIe5ej�Z?GdJdK�dKe1�Z@GdLdM�dMe@ej�ZAGdNdO�dOe@ej�ZBGdPdQ�dQej�ZCeDdRk�r�e�E�dS)Sz(Test the arraymodule.
   Roger E. Masse
�N)�support)�_2G)�_array_reconstructor�uc@seZdZdS)�
ArraySubclassN)�__name__�
__module__�__qualname__�r
r
�./opt/cppython/lib/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�struct�packr�
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?�encoderrg)rZteststrrhrirj�encodingr r9r
r
r�test_unicode�s$���z#ArrayReconstructorTest.test_unicodeN)rrr	rBrlrsr
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#)rrrrr�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#)	rrrrr�byteswaprzr�assertNotEqual)rrr r9r
r
r�
test_byteswap�s


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

zBaseTest.test_copycCsFddl}t�|j|j�}|�|�}|�t|�t|��|�||�dSr�)r�rrr�deepcopyr�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
)	rrrrr�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#)rrrrr�tofiler�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�)rrrr�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)rrrrr�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�DeprecationWarningrrrrr�tostring�
fromstringrrzrr)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)rrrrr�tobytes�	frombytes�	bytearrayrrzr)rr r9�cr
r
r�test_tofrombytes�s
zBaseTest.test_tofrombytescCs.t�|j|j�}t�|j|�}|�||�dSr
�rrrrr�r
r
r�test_fromarray�szBaseTest.test_fromarraycCsVt�|jd|j�}|�|tt|�dtji��t�|j�}|�t|�d|j�dS)Nr$rzarray('%s'))rrrr�eval�reprrr
r
r�	test_repr�szBaseTest.test_reprcCs t�|jd|j�}t|�dS�Nr$)rrrr@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$)rrrr��smallerexample�
biggerexample)rr Zal�abr
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)rrrrryrr�__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�)
rrrr�rryrrr��__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�)rrrrrr�__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�)rrrr�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#)	rrrrvrrr�__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#)	rrrrvrrr�__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")	rrrrrrr�__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�)	rrrrrrr��sliceryr�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�rrrr��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�)	rrrrrrxrrr��rrr rr
r
r�
test_indexbs
zBaseTest.test_indexcCsrd|j}t�|j|�}|�t|j�|D]}|�|�|�|�|��q*|�|�|j�d�|�|�d�d�dS)Nr$r)rrrrr�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#)	rrrrx�removerrrr�)rrrr �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��poprrrrvrrr
r
r�test_pop�s.�*�$�zBaseTest.test_popc
CsNt�|j|j�}|�t|jd�|��|�|t�|j|jddd���dS)Nrr")rrrrrr�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")rrrrr�extendrryr�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	r
r
r
r
r�A�srcsst�dVdSr
rr
r
r
rr�sz;BaseTest.test_constructor_with_iterable_argument.<locals>.B)rrr�rrrrr)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)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	rrr�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�r$r)rrJr9�rcr
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%)rrrrzrr
r
r�test_create_from_bytesszBaseTest.test_create_from_bytescCsBt�|j|j�}t�d�}|��d|j}t�||||�dS)N�Pn2Pir#)rrrr�calcvobjsizer�rz�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@�	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	_testcapir4rrr)rr4r 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	rvryr|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�rrrrr
rrrr#�unittestZ
skipUnless�hasattrr�r'r(r)rZcpython_onlyr.r/r3r5r7r
r
r
rrt�sv	
%!

$
!'"2Y			
#�



rtcseZdZ�fdd�Z�ZS)�
StringTestcs:t���t�|j|j�}|�t|jd|jdd��dS)Nrr$)�superr�rrrrrr�r��	__class__r
rr�Cs
zStringTest.test_setitem)rrr	r��
__classcell__r
r
r<rr:Asr: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)Nr9r0ru Âሴ� r8u	abcÿሴu Âሴ abcÿሴu="'a\b€ÿሴu+array('u', '\x00="\'a\\b\x80ÿ\x00\x01ሴ'))	rrrrrrrz�sizeof_wcharr�)rr r!r
r
rrsPs 



�zUnicodeTest.test_unicodecCsDtdkrd}n
|�d�t�d|�}|�t|j�|�tt|�dS)Nr%s����zspecific to 32-bit wchar_tr)rBrrrrrr@)rZinvalid_strr r
r
r�test_issue17223ds
zUnicodeTest.test_issue17223N)rrr	rrr�r�r@r�r{rsrCr
r
r
rr?Hsr?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%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*iMrErr
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})rrrrfr�)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�rNr
r
rrO�sz>NumberTest.test_subclassing.<locals>.ExaggeratingArray.__new__cSs
||_dSr
)rN)rrr�rNr
r
rr�sz?NumberTest.test_subclassing.<locals>.ExaggeratingArray.__init__cSstj�||�|jSr
)rr�rN)rrJr
r
rr��szBNumberTest.test_subclassing.<locals>.ExaggeratingArray.__getitem__N)rrr	�	__slots__rOrr�r
r
r
r�ExaggeratingArray�srRrr'r(r,r%rZcolorZblue)rrrvr�AttributeError�setattr)rrrRr 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	rFrGrIrJrMrUrVr
r
r
rrDpsrDc@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	rXr
r
r
rrW�srWc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�IntablecCs
||_dSr
�Z_num)r�numr
r
rr�szIntable.__init__cCs|jSr
rZrr
r
r�	__index__�szIntable.__index__cCs|jSr
rZrr
r
r�__int__�szIntable.__int__cCstt|�t|��Sr
�rYr��r�otherr
r
r�__sub__�szIntable.__sub__cCstt|�t|��Sr
r^r_r
r
rr��szIntable.__add__N)rrr	rr\r]rar�r
r
r
rrY�s
rYc@sBeZdZdddddgZdddddgZdddddgZdZd	d
�ZdS)�SignedNumberTestr"rr#rrG�~�+�cCsht�|j�}dttd|jdd��}ttd|jdd��d}|�||�|�t|�t|��dS)Nr"r$r)r#�rrr��powrzrMrY�rr rKrLr
r
r�
test_overflow�s
zSignedNumberTest.test_overflowN)rrr	rr�r�r�rir
r
r
rrb�s
rbc@sPeZdZddddddgZddddddgZddddddgZd	Zd
d�Zdd
�ZdS)�UnsignedNumberTestrr#r2rerrH�rd�cCsLt�|j�}d}ttd|jd��d}|�||�|�t|�t|��dS)Nrr$r)r#rfrhr
r
rri�s
z UnsignedNumberTest.test_overflowcCs�t|j�}t�|j|j�}|�|�|�|t�|j|j|j��t�|j|j�}|�tt|���|�|t�|j|j|jddd���dSr)�bytesrrrr	rr�r6)rr!r r
r
r�test_bytes_extends

��z$UnsignedNumberTest.test_bytes_extendN)	rrr	rr�r�r�rirnr
r
r
rrj�srjc@seZdZdZdZdS)�ByteTestr9r#N�rrr	rr{r
r
r
rrosroc@seZdZdZdZdS)�UnsignedByteTestrr#Nrpr
r
r
rrqsrqc@seZdZdZdZdS)�	ShortTestrIr$Nrpr
r
r
rrrsrrc@seZdZdZdZdS)�UnsignedShortTestrCr$Nrpr
r
r
rrssrsc@seZdZdZdZdS)�IntTestrJr$Nrpr
r
r
rrt#srtc@seZdZdZdZdS)�UnsignedIntTestrDr$Nrpr
r
r
rru'sruc@seZdZdZdZdS)�LongTestrKr%Nrpr
r
r
rrv+srvc@seZdZdZdZdS)�UnsignedLongTestrEr%Nrpr
r
r
rrw/srwc@seZdZdZdZdS)�LongLongTest�qr)Nrpr
r
r
rrx3srxc@seZdZdZdZdS)�UnsignedLongLongTest�Qr)Nrpr
r
r
rrz7srzc@sReZdZdddddgZdddddgZdddddgZdZd	d
�Zdd�Zd
d�Z	dS)�FPTestgE�rrgj�@g _��g _��g _�BrecCs|�||�dSr
)ZassertAlmostEqualrur
r
rrvAszFPTest.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#)
rrrrrr�rzrr�r�r�r
r
rr�Ns

zFPTest.test_byteswapN)
rrr	rr�r�r�rvr~r�r
r
r
rr|;s
r|c@seZdZdZdZdS)�	FloatTestrLr%Nrpr
r
r
rr^src@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	rr{r�r
r
r
rr�bsr�c@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%)rrr�rr�rr
r
r�test_example_data�s
z LargeArrayTest.test_example_datacCsx|�|�}|�|dd�|�||dd�|�||d�|�|dd�|�||dd�|�|dd�dS)Nrr%r)rHrr,r")rrr�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$rrHr)r*r+r,r"r&r'r�)rrr�r)rr�r�partr
r
r�
test_slice�s
   zLargeArrayTest.test_slicecCs6|�|�}|�|�d�|d�|�|�d�d�dS)Nrr)r,r#)rrrr�r
r
rr�s
zLargeArrayTest.test_countcCs(|�|�}|�d�|�|dd�dS)Nr-r")rr~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,)rr	r�rrr�r�r
r
rr
�s
zLargeArrayTest.test_extendcCsT|�|�}|�d�|�t|�|d�|�t|dd��ddddgtd��dS)Nsabcdr)r�r*r+r,)rr�rrr�r�r
r
r�test_frombytes�s

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

zLargeArrayTest.test_indexcCs~|�|�}|�dd�|�dd�|�|dd�|�t|�|d�|�|dd�|�|dd�|�||dd�dS)Nrr-r+r.r#r/r()rr�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)rrrrr�r
r
rr�s
zLargeArrayTest.test_popcCs~|�|�}|�d�|�t|�|d�|�|dd�|�d�|�t|�|d�|�||d�|�||dd�dS)Nrrr#r+r$r*r,)rrrrr�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$rHr*r+)rr�rrr�r�r
r
rr�s
 zLargeArrayTest.test_reverseg@&@cCsj|�|�}|��}|�t|�t|��|�|dd�t|dd���|�|dd�t|dd���dS)Nr)r�)rr�rrr�)rr�rZlsr
r
r�test_tolist�s

 zLargeArrayTest.test_tolistN)rrr	rrrZ
bigmemtestrr�r�r�rr�r
r�r�r�r�rrrr�r
r
r
rr�xs<

	













r��__main__)F�__doc__r8�testrZtest.supportrrr�rrdr�r�rrr?rzrBrrrwZTestCaserrArQrRrSrTrUrVrWrXrYrZr[r\r]r^r_rarbrcrmrnrorpr7rtr:r?rDrWrYrbrjrorqrrrsrtrurvrwrxrzr|rr�r�r�mainr
r
r
r�<module>s�d(b	
#


F1le Man4ger