Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.14.8.188
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : test_array.cpython-310.pyc
o

`b���@s�dZddlZddlZddlmZddlmZddlmZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlmZe�d�jZGdd	�d	ej�ZGd
d�dej�ZdZGd
d�dej�ZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)d Z*d!Z+d"Z,d#Z-d$Z.Gd%d&�d&ej�Z/Gd'd(�d(�Z0Gd)d*�d*e0�Z1Gd+d,�d,e1ej�Z2Gd-d.�d.e0�Z3Gd/d0�d0e3�Z4Gd1d2�d2�Z5Gd3d4�d4e4�Z6Gd5d6�d6e4�Z7Gd7d8�d8e6ej�Z8Gd9d:�d:e7ej�Z9Gd;d<�d<e6ej�Z:Gd=d>�d>e7ej�Z;Gd?d@�d@e6ej�Z<GdAdB�dBe7ej�Z=GdCdD�dDe6ej�Z>GdEdF�dFe7ej�Z?GdGdH�dHe6ej�Z@GdIdJ�dJe7ej�ZAGdKdL�dLe3�ZBGdMdN�dNeBej�ZCGdOdP�dPeBej�ZDGdQdR�dRej�ZEeFdSk�rhe�G�dSdS)Tz(Test the arraymodule.
   Roger E. Masse
�N)�support)�	os_helper)�_2G)�_array_reconstructor�uc@seZdZdS)�
ArraySubclassN)�__name__�
__module__�__qualname__�rr�8/usr/local/python-3.10/lib/python3.10/test/test_array.pyrsrc@seZdZddd�ZdS)�ArraySubclassWithKwargsNcCstj�|�dS�N)�array�__init__)�self�typecode�newargrrrr�z ArraySubclassWithKwargs.__init__r)rr	r
rrrrrr
sr
Z
ubBhHiIlLfdqQc@s@eZdZdd�Zdd�Zejdd��Zejdd��Zd	d
�Z	dS)�MiscTestcCs0|�t�d�tjj�|�t�d�tjj�dS)N�B)�assertIsInstancer�collections�abc�MutableSequence�
Reversible�rrrr�test_array_is_sequence!szMiscTest.test_array_is_sequencecCsD|�ttj�|jttjdd�|�ttjd�|�ttjd�dS)N�*)Zspam�xx�x)�assertRaises�	TypeErrorr�
ValueErrorrrrr�test_bad_constructor%szMiscTest.test_bad_constructorcCs$t�d�}t�|tt|��|�dS)N�I)rrZcheck_disallow_instantiation�type�iter)rZmy_arrayrrr�test_disallow_instantiation+s
�z$MiscTest.test_disallow_instantiationcCs8|�t��
dtj_Wd�dS1swYdS�N�)r!r"r�foorrrr�test_immutable2s
"�zMiscTest.test_immutablecCsjt�d�}||dd�<|�t|�d�|�t||�d�|�t|d�d�||7}|�t|�d�dS)Nrr�)r�assertEqual�len�r�arrr�
test_empty8s
zMiscTest.test_emptyN)
rr	r
rr$r�cpython_onlyr(r,r2rrrrrs

r���r*�r-������	�
���
��������c@s$eZdZdd�Zdd�Zdd�ZdS)�ArrayReconstructorTestcCs�|�ttdddd�|�tttddd�|�tttjddd�|�tttjddd�|�tttjddd�|�tttjdtd�|�tttjddd�|�tttjddd	�dS)
N��br��?��drB�a)r!r"�array_reconstructor�strrr#�UNKNOWN_FORMATrrrr�
test_erroras0��
�
�
�
�
�
�z!ArrayReconstructorTest.test_errorcCs,gd�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�||�}	Wn	ty�Yq�wttj|||�}
|j|	|
d*�|	|
|�d+�q�q�dS),N)r�Hr%�Lz=BBBB)��r�)rJ�h�i�lz=bbb)i����rWr)rTr%rUz<HHHH)i��ri��z>HHHH)rYrZr[z<hhh)i���r\rz>hhhr%rUz<IIII)l��rl��z>IIIIrZr[z<iii)i�r]rz>iiiz<QQQQz>QQQQz<qqqz>qqq)l�����rl����)l����r^r�fz<ffffg@ �oA�infz-infg�z>ffffrNz<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�
OverflowErrorrPr.�format)r�	testcases�testcaseZvalid_typecodes�mformat_codeZ
struct_fmt�valuesZarraystrrr1rJrrr�test_numbersss�
�
�
�
�
�
�
�
�
�
��������������1�
����z#ArrayReconstructorTest.test_numbersc	Csrd}tdftdftdftdff}|D]$}|\}}t�d|�}ttjd||�|��}|j||d�|||�d�qdS)	NuBonne Journée 𠌊𠍇z	UTF-16-LEz	UTF-16-BEz	UTF-32-LEz	UTF-32-BErrarb)	�UTF16_LE�UTF16_BE�UTF32_LE�UTF32_BErrP�encoder.rz)rZteststrr{r|r}�encodingr1rJrrr�test_unicode�s ����z#ArrayReconstructorTest.test_unicodeN)rr	r
rSrr�rrrrrH_s?rHc@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/d[d\�Z0d]d^�Z1e2�3e4e5d_�d`�dadb��Z6dcdd�Z7dedf�Z8e9j:dgdh��Z;e9j:didj��Z<dkdl�Z=e9j:dmdn��Z>dodp�Z?dqS)r�BaseTestcC�|�||�dSr)r.�rZentry1Zentry2rrr�assertEntryEqual�rzBaseTest.assertEntryEqualcCstt�|j�dtt�Sr))�	typecodes�indexrr/rrrr�badtypecode�szBaseTest.badtypecodecCsDt�|j�}|�|j|j�|�|j|j�|�ttj|jd�dSr)rrr.ZassertGreaterEqual�itemsize�minitemsizer!r"r0rrr�test_constructor�szBaseTest.test_constructorcCsVt�|j�}|�|jd�|�t|�d�t�|j|j�}|�t|�t|j��dS�Nrr*)rr�append�exampler.r/r0rrr�test_len�s
zBaseTest.test_lencCs|t�|j|j�}|�t|jd�|��}|�|t�|�t	|�d�|�|dt
�|�|dt
�|�|dt	|��dS)Nrr5rr*)rrr�r!r"�buffer_infor�tupler.r/�int)rr1Zbirrr�test_buffer_info�szBaseTest.test_buffer_infocCs�|jdkrd}n|j}t�|j|�}|�t|jd�|jdvrHt�|j|�}|��|jdkr6|�||�n|�||�|��|�||�dSdS)Nru􀄀r�r*r5r6r:r*)	rr�rr!r"�byteswapr�r.�assertNotEqual)rr�r1rJrrr�
test_byteswap�s


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

zBaseTest.test_copycCsFddl}t�|j|j�}|�|�}|�t|�t|��|�||�dSr�)r�rrr��deepcopyr�r�r.r�rrr�
test_deepcopyr�zBaseTest.test_deepcopycCsft�|j|j�}td�D]}|�|�|�dtj�qtdtjd�D]
}|�|�|�dt�q#dS)Nr-rr*)	rrr��range�assertIs�
__reduce_ex__�pickle�HIGHEST_PROTOCOLrP)rr1�protocolrrr�test_reduce_ex
s�zBaseTest.test_reduce_excCs�ttjd�D]X}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�r.rr r&�rr�r1rJrrr�test_pickles�zBaseTest.test_picklecCs�ttjd�D]T}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�r.rr r&r�rrr�test_pickle_for_empty_array s
�z$BaseTest.test_pickle_for_empty_arrayc
Cs�t�|j|j�}t|�}|ddd�}ttjd�D]�}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�qdS)Nr4r*)rrr��listr�r�r�r'r�r��fromlistr.r&�nextr/r!�
StopIteration)
r�orig�data�data2�proto�itorigrN�itr1rZrrr�test_iterator_pickle/s:




�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�r.r�r'r�r��outside�rr1ZexhitZempitr rrr�test_exhausted_iteratorTs
"z BaseTest.test_exhausted_iteratorcCsPt�|j|j�}|�t|�t|j��|�tt|��tt|��ddd��dS�Nr4)rrr�r.r��reversedr'r0rrr�test_reverse_iterator`s*zBaseTest.test_reverse_iteratorcCst�|j|j�}t|�}|jg|}|t|�ddd�|jg}ttjd�D]�}t	|�}t�
||f|�}t�|�\}}	|	�d|j�|�
t|�t|��|�
t|�|�|�
t|	�|�t|�t�
||f|�}t�|�\}}	|	�d|j�|�
t|�t|��|�
t|�|dd��|�
t|	�|�tdt|��D]}
t|�q�t�
||f|�}t�|�\}}	|	�d|j�|�
t|�t|��|�
t|�g�|�
t|	�|�|�tt|�t�
||f|�}t�|�\}}	|	�d|j�|�
t|�g�|�
t|	�|�q(dS)Nr5r4r*r)rrr�r�r�r/r�r�r�r�r�r��insertr.r&r�r!r�)rr�r�r�Zrev_datar�r�rNr�r1rZrrr�test_reverse_iterator_pickingesD
�z&BaseTest.test_reverse_iterator_pickingcCs�t�|j|j�}|�t|�t|j��t|�}t|�}|D]}t|�q|�d|j�|�t|�g�|�t|�g�|�t|�|jgt|j��dSr�)	rrr�r.r�r�r�r�r�r�rrr�test_exhausted_reverse_iterator�s
"z(BaseTest.test_exhausted_reverse_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*r4������)rrr�r�r.r/r!r"r0rrr�test_insert�s8(����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|jsu|�
�t�tj�dS|js�|�
�t�tj�w)Nr5�wb�rbr*)rrr�r!r"�tofiler�unlink�TESTFN�open�close�fromfiler/r.r��EOFError�closed�rr1r_rJrrr�test_tofromfile�s,

�zBaseTest.test_tofromfilec	Csbt�|j�}ttjd�}z|�t|j|t|j	��W|�
�t�tj�dS|�
�t�tj�w)Nr�)rrr�rr�r!�OSErrorr�r/r�r�r�)rr1r_rrr�test_fromfile_ioerror�s�zBaseTest.test_fromfile_ioerrorc	Cs�t�|jd|j�}ttjd�}zS|�|�|��t�|j�}ttjd�}|�|t	|j��|�
|t�|j|j��|�||�|�|t	|j��|�
||�|��W|js\|��t�
tj�dS|jsk|��t�
tj�w)Nr5r�r�)rrr�r�rr��writer�r�r/r.r�r�r�r�rrr�test_filewrite�s&

�zBaseTest.test_filewritecCs~t�|jd|j�}t�|j�}|�t|jd�|�t|j�|�t|jd�|�t|jdg�|�|���|�||�dS)Nr5r)rrr�r!r"�tolistr�r.�rr1rJrrr�test_tofromlist�szBaseTest.test_tofromlistcCs�t�|jd|j�}t�|j�}|�t|jd�|�t|j�|�t|jd�|�|���t�|jt|����}|�||�|�||�|j	dkrT|�t
|jd�dSdS)Nr5rr*�x)rrr�r!r"�tobytes�	frombytes�	bytearrayr.r�r#)rr1rJ�crrr�test_tofrombytes�s
�zBaseTest.test_tofrombytescCs.t�|j|j�}t�|j|�}|�||�dSr�rrr�r.r�rrr�test_fromarray	�zBaseTest.test_fromarraycCsVt�|jd|j�}|�|tt|�dtji��t�|j�}|�t|�d|j�dS)Nr5rzarray('%s'))rrr�r.�eval�reprr0rrr�	test_reprszBaseTest.test_reprcCs t�|jd|j�}t|�dS)Nr5)rrr�rQr0rrr�test_strszBaseTest.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)NrFTr5)rrr�r��smallerexample�
biggerexample)rr1Zal�abrrr�test_cmps:zBaseTest.test_cmpcCs�t�|j|j�t�|j|jddd��}|�|t�|j|j|jddd���t�|���}|�t|j|�|�t|jd�dS)Nr4�bad)rrr�r.r�r!r"�__add__r�rrr�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)Nr4r5r�)
rrr�r�r.r�r!r"r��__iadd__r�rrr�	test_iaddJs""��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)Nr7rr4r*r�)rrr�r.r!r"�__mul__r0rrr�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)Nr7rr�r4r�)rrr�r�r.r!r"�__imul__r�rrr�	test_imul�s*�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)Nrr4r*)	rrr�r�r/r!r"�__getitem__�
IndexErrorr0rrr�test_getitem�s  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)Nr4rr*)	rrr�r�r/r!r"�__setitem__r�r0rrr�test_setitem�s>��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*r4)	rrr�r.r/r!r"�__delitem__r�r0rrr�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*r4r5r�r���r�r0rrr�
test_getslice�sR
�
�
�
�

�

�

�

�

�zBaseTest.test_getslicecCs~t�|j|j�}ddddddtjdddd	f}|D]$}|D]}|dd�D]}|�t||||��t|�|||��q$qqdS�
Nrr*r-rE�dr4���i�����)rrr��sys�maxsizer.r�)rr1�indices�start�stop�steprrr�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*r4r�r5r�rr�)	rrr�r.r!r"r��slicer�r�rrr�
test_setslice0s����� ������*��zBaseTest.test_setslicecCs�ddddddtjdddd	f}|D]\}|D]W}|dd�D]N}t�|j|j�}t|�}||||�}|��|||||�<t�|j|�||||�<|�|t�|j|��||||�=||||�=|�|t�|j|��qqqdSr�)rrrrr�r��reverser.)rrrrrr1rUr�rrr�test_extended_set_del_slice�s"���z$BaseTest.test_extended_set_del_slicecCs4d|j}t�|j|�}|�t|j�|D]}|�|�|�|�|��q|�t|jd�|�t|j|j�t�dgd��}|�|�d�d�|�|�dd�d�|�|�dd�d�|�|�dd�d�|�|�dd�d�|�|�dd	�d�|�|�ddd
�d�|�|�dd	d�d�|�t|jddd�dS)Nr5rZ)rr4rrr*r5r���ri����r-���r6)	r�rrr!r"r�r.r#r��rr�r1r rrr�
test_index�s"
zBaseTest.test_indexcCsrd|j}t�|j|�}|�t|j�|D]}|�|�|�|�|��q|�|�|j�d�|�|�d�d�dS)Nr5r)r�rrr!r"�countr.r�rrrr�
test_count�s
zBaseTest.test_countcCs�|jD]1}d|j}t�|j|�}|�|�}|d|�||dd�}|�|�|�|t�|j|��qt�|j|j�}|�t|j|j�|�t|jd�dS)Nr5r*)	r�rrr��remover.r!r#r�)rr r�r1�posZexample2rrr�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)Nr5rr*rr-r4)
rrr!r��popr�r"r/r�r.r0rrr�test_pop�s.�*�$�zBaseTest.test_popc
CsNt�|j|j�}|�t|jd�|��|�|t�|j|jddd���dS)Nrr4)rrr�r!r"rr.r0rrr�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���dSr�)rrr�r!r"�extendr.r�r�rrr�test_extend�s* �
��zBaseTest.test_extendcCs�t�|jt|j��}t�|j|j�}|�||�|�ttj|jd�Gdd�d�}|�ttj|j|��dd�}|�ttj|j|��dS)Nr<c@�eZdZdd�ZdS)z;BaseTest.test_constructor_with_iterable_argument.<locals>.AcSst�r��UnicodeErrorrrrr�__iter__szDBaseTest.test_constructor_with_iterable_argument.<locals>.A.__iter__N)rr	r
rrrrr�A�r css�t�rrrrrrrs�z;BaseTest.test_constructor_with_iterable_argument.<locals>.B)rrr'r�r.r!r"r)rr1rJr rrrr�'test_constructor_with_iterable_argumentsz0BaseTest.test_constructor_with_iterable_argumentcCsVzddl}Wnty|�d�Ynwt�|j�}t|�g}|�|�|��dS)Nrzgc module not available)�gc�ImportError�skipTestrrr'r�Zcollect)rr#r1r[rrr�test_coveritertraverses�

zBaseTest.test_coveritertraversecCs
t�|j|j�}t|�}|��}|�|��|�|�|��d|d�|�t|j|d�|�|��|�|�t|j	|dd��|�|��|�|�t|j
|d�|�|��|�|�t|jd�|�|��|�|�t|j|�
��|�|��|�|�t|j|���|�|��|�|jdkr�|�t|j|���|�|��|�|�ttj|d�|�|��|�|�ttj|d�|�|��|�|�ttj|tdd�|�|�|��|�|�ttj|d�|�|��|�|�ttj|tdd��|�|��|�dS)Nrr*rr5)rrr��
memoryviewr�r.r!�BufferErrorr�rrrr�r�r��fromunicode�	tounicode�operator�imul�setitemr
�delitem)rr1�mZexpectedrrr�test_buffer$s<
zBaseTest.test_buffercCsLt�|j|j�}t�|�}|�|��|���d}t��|�	t
t|�dSr)rrr��weakref�proxyr.r�r�
gc_collectr!�ReferenceErrorr/)r�s�prrr�test_weakrefGs
zBaseTest.test_weakref�getrefcountztest needs sys.getrefcount()cCs\td�D]
}t�dtd��}qt�d�}td�D]
}t�dtd��}q|�|t�d��dS)Nr<r�@)r�rrr8r.)rrZrJ�rcrrr�test_bug_782369Os
zBaseTest.test_bug_782369cCstddd�dS)NrJr*)r)r
rrrr�test_subclass_with_kwargsYsz"BaseTest.test_subclass_with_kwargscCs&t�dd�}|�t|�|jd�dS)NrTs1234r6)rr.r/r�r0rrr�test_create_from_bytes]szBaseTest.test_create_from_bytescCsBt�|j|j�}t�d�}|��d|j}t�||||�dS)N�Pn2Pir*)rrr�r�calcvobjsizer�r��check_sizeof)rr1�basesizeZbuffer_sizerrr�test_sizeof_with_buffercs
z BaseTest.test_sizeof_with_buffercCs(t�|j�}t�d�}t�|||�dS)Nr>)rrrr?r@)rr1rArrr�test_sizeof_without_bufferjs
z#BaseTest.test_sizeof_without_buffercCs�|jdkrU|�t��}t�|jd�}Wd�n1swY|�dt|j��|�t��}t�|jt�dd��}Wd�n1sEwY|�dt|j��dSt�|jd�}t�|jt�dd��}dS)Nrr+zcannot use a strzcannot use a unicode array)rr!r"rZassertInrQ�	exception)r�cmr1rrr�test_initialize_with_unicodeps
��z%BaseTest.test_initialize_with_unicodecCs*ddlm}t�dd�}|�t||�dS)Nr)�getbuffer_with_null_viewrrK)Z	_testcapirGrr!r()rrGr1rrr�test_obsolete_write_lock|sz!BaseTest.test_obsolete_write_lockcCs0t�|ttj|jf�t�|ttj|jf�dSr)rZcheck_free_after_iteratingr'rrr�rrrr�test_free_after_iterating�s��z"BaseTest.test_free_after_iteratingN)@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�r�r�r	rr
rrrrrrr"r&r0r7�unittestZ
skipUnless�hasattrrr;r<r=rr3rBrCrFrHrIrrrrr��s|	
%*!

$
!'"2Y		
#�



r�cseZdZ�fdd�Z�ZS)�
StringTestcs:t���t�|j|j�}|�t|jd|jdd��dS)Nrr5)�superr�rrr�r!r"r�r0��	__class__rrr��s
 zStringTest.test_setitem)rr	r
r��
__classcell__rrrNrrL�srLc@s8eZdZdZdZdZdZed�ZdZ	dd�Z
d	d
�ZdS)�UnicodeTestru☺u☺﻾u☺�3r5cCs�|�ttjdd�t�dd�}|�d�|�d�|�d�|�d�|��}|�|d�|�|jt�d	}t�d|�}|�t|�d
�|�t|j�dS)NrJr+ru Âሴ� rIu	abcÿሴu Âሴ abcÿሴu="'a\b€ÿሴu+array('u', '\x00="\'a\\b\x80ÿ\x00\x01ሴ'))	r!r"rr)r*r.r��sizeof_wcharr�)rr1r5rrrr��s 



�zUnicodeTest.test_unicodecCsDtdkrd}n|�d�t�d|�}|�t|j�|�tt|�dS)Nr6s����zspecific to 32-bit wchar_tr)rTr%rr!r#r*rQ)rZinvalid_strr1rrr�test_issue17223�s
zUnicodeTest.test_issue17223N)rr	r
rr�r�r�rQr�r�r�rUrrrrrQ�srQc@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)Nr7r5�rr5r6r*r-r4)r6r-r5r*rr)r6r5rrrr�r�r�i0����rrr�r.r0rrr�
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)
Nr7r5r*r-rWr)rr5r-r6r<r�)	r*r5r-r6r7r8r9r:r;r;iMrXr0rrr�
test_delslice�s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<rr7r5)
rr*rr-rr7rr9rr;r-r)
rr<r5r-r6r<r8r9r:r<r6r4)r-r5r*r)rrr�r.r
)rr1rJr�Zinsrrr�test_assignment�s zNumberTest.test_assignmentcCsft�|jtd��}|�t|�ttd���t�|jdg�}|�|d|vd�|�|d|vd�dS)Nr<rFr4Tr)rrr�r.r�r�rrr�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�)rrr!ryr�)r�lower�upperr1rrr�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`rrrrarz>NumberTest.test_subclassing.<locals>.ExaggeratingArray.__new__cSs
||_dSr)r`)rrr�r`rrrr	�
z?NumberTest.test_subclassing.<locals>.ExaggeratingArray.__init__cSstj�||�|jSr)rr�r`)rrZrrrr��zBNumberTest.test_subclassing.<locals>.ExaggeratingArray.__getitem__N)rr	r
�	__slots__rarr�rrrr�ExaggeratingArrays
rf)r-r8r9r=r6rr9ZcolorZblue)rrr�r!�AttributeError�setattr)rrrfr1rrr�test_subclassings
zNumberTest.test_subclassingcCs.t�dtd��}t�|j|�}|�||�dS)NrJr<)rr�rr.r�rrr�test_frombytearrayr�zNumberTest.test_frombytearrayN)
rr	r
rYrZr[r\r_rirjrrrrrV�srVc@r)�IntegerNumberTestcCs�t�|j�}|�d�|�t��
|�d�Wd�n1s wY|�t��
d|d<Wd�dS1s:wYdS)NrgE@r)rrr�r!r"r0rrr�test_type_errors
�
"�z!IntegerNumberTest.test_type_errorN)rr	r
rlrrrrrkr!rkc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�IntablecCs
||_dSr�Z_num)r�numrrrr#rczIntable.__init__cC�|jSrrnrrrr�	__index__%�zIntable.__index__cCrprrnrrrr�__int__'rrzIntable.__int__cCstt|�t|��Sr�rmr��r�otherrrr�__sub__)rdzIntable.__sub__cCstt|�t|��Srrtrurrrr�+rdzIntable.__add__N)rr	r
rrqrsrwr�rrrrrm"srmc@s0eZdZgd�Zgd�Zgd�ZdZdd�ZdS)�SignedNumberTest)r4rr*rrW)r4rr*r�~)r4rr*�+rW�cCsht�|j�}dttd|jdd��}ttd|jdd��d}|�||�|�t|�t|��dS)Nr4r5r:r*�rrr��powr�r_rm�rr1r]r^rrr�
test_overflow4s
zSignedNumberTest.test_overflowN)rr	r
r�r�r�r�rrrrrrx.srxc@s8eZdZgd�Zgd�Zgd�ZdZdd�Zdd�Zd	S)
�UnsignedNumberTest)rr*rCr{rrX)rr*rCr{r�)rr*rCr{rzrX�cCsLt�|j�}d}ttd|jd��d}|�||�|�t|�t|��dS)Nrr5r:r*r|r~rrrrAs
z UnsignedNumberTest.test_overflowcCs�t|j�}t�|j|j�}|�|�|�|t�|j|j|j��t�|j|j�}|�tt|���|�|t�|j|j|jddd���dSr�)�bytesr�rrrr.r�r�)rr5r1rrr�test_bytes_extendHs

��z$UnsignedNumberTest.test_bytes_extendN)	rr	r
r�r�r�r�rr�rrrrr�;sr�c@�eZdZdZdZdS)�ByteTestrJr*N�rr	r
rr�rrrrr�Z�r�c@r�)�UnsignedByteTestrr*Nr�rrrrr�^r�r�c@r�)�	ShortTestrYr5Nr�rrrrr�br�r�c@r�)�UnsignedShortTestrTr5Nr�rrrrr�fr�r�c@r�)�IntTestrZr5Nr�rrrrr�jr�r�c@r�)�UnsignedIntTestr%r5Nr�rrrrr�nr�r�c@r�)�LongTestr[r6Nr�rrrrr�rr�r�c@r�)�UnsignedLongTestrUr6Nr�rrrrr�vr�r�c@r�)�LongLongTest�qr:Nr�rrrrr�zr�r�c@r�)�UnsignedLongLongTest�Qr:Nr�rrrrr�~r�r�c@s@eZdZgd�Zgd�Zgd�ZdZdd�Zdd�Zd	d
�Z	dS)�FPTest)�E�rr�j�@g _��)r�rrr�g _��)r�rrr�g _�Br{cCr�r)ZassertAlmostEqualr�rrrr��rzFPTest.assertEntryEqualcCs�t�|jtd�g�}t�|jtd�g�}|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�dS)N�nanTF)rrrsr�r�rrr�test_nan�szFPTest.test_nancCs�t�|j|j�}|�t|jd�|jdvrCt�|j|j�}|��|jdkr-|�||�n
|�|�	�|�	��|��|�||�dSdS)Nrr�r*)
rrr�r!r"r�r�r.r�r�r�rrrr��s

�zFPTest.test_byteswapN)
rr	r
r�r�r�r�r�r�r�rrrrr��s
r�c@r�)�	FloatTestr_r6Nr�rrrrr��r�r�c@seZdZdZdZdd�ZdS)�
DoubleTestrNr:cCs�ddlm}t�ddgd�}z
||dd9}Wn	ty"Ynw|�d�t�dgd��}z
||d	dWn
tyDYdSw|�d�dS)
Nr)rrNr4ir*z6Array of size > maxsize created - MemoryError expected)g�II�
�@g���S�!	@r4r-)rrr�MemoryErrorZfail)rrr1rJrrr�test_alloc_overflow�s�
�zDoubleTest.test_alloc_overflowN)rr	r
rr�r�rrrrr��sr�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)%�LargeArrayTestrJcCsBt�|jgd��|d}|t�|jdg|dgd��7}|S)N)rr*r5r-r6r7r8r9r:�c�r:r;r<r=)rr)r�size�baserrrr��s$zLargeArrayTest.exampleg@)ZmemusecCs"|�|�}|�t|�|d�dS)Nr6)r�r.r/�rr�r�rrr�test_example_data�s
z LargeArrayTest.test_example_datacCsx|�|�}|�|dd�|�||dd�|�||d�|�|dd�|�||dd�|�|dd�dS)Nrr6r:rr-r=r4)r�r.r�rrr�test_access�s
zLargeArrayTest.test_accessg	@cCs|�|�}|�t|dd��gd��|�t|dd��gd��|dd�}|�t|�|d�|�|dd�|�|dd	�~|ddd�}|�t|�|d
d�|�t|dd��gd��|drw|�t|dd��d
dg�dS|�t|dd��dd	g�dS)Nr6�rr*r5r-rr�r*r4r5rr<r7)rr5r6r8rr;r=r:)r�r.r�r/)rr�r��partrrr�
test_slice�s
  zLargeArrayTest.test_slicecCs6|�|�}|�|�d�|d�|�|�d�d�dS)Nrr:r=r*)r�r.rr�rrrr�s
zLargeArrayTest.test_countcCs(|�|�}|�d�|�|dd�dS)Nr>r4)r�r�r.r�rrr�test_append�s

zLargeArrayTest.test_appendcCsP|�|�}|�tgd���|�t|�|d�|�t|dd��gd��dS�N)r>r?r@rAr:���)r:r;r<r=r>r?r@rA)r�rr'r.r/r�r�rrrr�s
 zLargeArrayTest.test_extendcCsP|�|�}|�d�|�t|�|d�|�t|dd��gd�td��dS)Nsabcdr:r�r�)r�r�r.r/r�r�rrr�test_frombytes�s

(zLargeArrayTest.test_frombytescCsL|�|�}|�gd��|�t|�|d�|�t|dd��gd��dSr�)r�r�r.r/r�r�rrr�
test_fromlists
 zLargeArrayTest.test_fromlistcCsZ|�|�}|�|�d�d�|�|�d�d�|�|�d�d�|�|�d�|d�dS)Nrr*r9r=r-)r�r.r�r�rrrr
s

zLargeArrayTest.test_indexcCs~|�|�}|�dd�|�dd�|�|dd�|�t|�|d�|�|dd�|�|dd�|�||dd�dS)Nrr>r<r?r*r@r9)r�r�r.r/r�rrrr�s
zLargeArrayTest.test_insertcCs�|�|�}|�|�d�d�|�|dd�|�|�|d�d�|�||dd�|�|�d�d�|�|dd�|�t|�|d�|�|��d�|�t|�|�dS)Nrr*r<r=r5r-)r�r.rr/r�rrrrs
zLargeArrayTest.test_popcCs~|�|�}|�d�|�t|�|d�|�|dd�|�d�|�t|�|d�|�||d�|�||dd�dS)Nrr-r*r<r5r;r=)r�rr.r/r�rrrr*s


zLargeArrayTest.test_removecCs�|�|�}|��|�t|�|d�|�|dd�|�|dd�|�|dd�|��|�t|�|d�|�t|dd��gd��|�t|dd��gd	��dS)
Nr6rr=r-r:r4r�rr�)r�rr.r/r�r�rrrr5s
 zLargeArrayTest.test_reverseg@&@cCsj|�|�}|��}|�t|�t|��|�|dd�t|dd���|�|dd�t|dd���dS)Nr:r�)r�r�r.r/r�)rr�r�Zlsrrr�test_tolistCs

 $zLargeArrayTest.test_tolistN)rr	r
rr�rZ
bigmemtestrr�r�r�rr�rr�r�rr�rrrr�rrrrr��s>

	













r��__main__)H�__doc__�collections.abcrrJ�testrZtest.supportrrr1r�r+rwrrrrPr�rTrr
r�ZTestCaserrRrdrerfrgrhrirjrkrlrmrnrorprqrrrtrurvr�r�r�r�rHr�rLrQrVrkrmrxr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�mainrrrr�<module>s�(dL(b	
#

�
© 2025 GrazzMean