Your IP : 216.73.217.129


Current Path : /opt/alt/python310/lib64/python3.10/test/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/test/__pycache__/test_array.cpython-310.pyc

o

0�i���@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�6/opt/alt/python310/lib64/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�*)ZspamZxx�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+r1rrrrrs

r���r)�r,������	�
���
��������c@s$eZdZdd�Zdd�Zdd�ZdS)�ArrayReconstructorTestcCs�|�ttdddd�|�tttddd�|�tttjddd�|�tttjddd�|�tttjddd�|�tttjdtd�|�tttjddd�|�tttjddd	�dS)
N��br��?��drA�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�)rI�h�i�lz=bbb)i����rVr)rSr$rTz<HHHH)i��ri��z>HHHH)rXrYrZz<hhh)i���r[rz>hhhr$rTz<IIII)l��rl��z>IIIIrYrZz<iii)i�r\rz>iiiz<QQQQz>QQQQz<qqqz>qqq)l�����rl����)l����r]r�fz<ffffg@ �oA�infz-infg�z>ffffrMz<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�
OverflowErrorrOr-�format)r�	testcases�testcaseZvalid_typecodes�mformat_codeZ
struct_fmt�valuesZarraystrrr0rIrrr�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-BErr`ra)	�UTF16_LE�UTF16_BE�UTF32_LE�UTF32_BErrO�encoder-rx)rZteststrryrzr{�encodingr0rIrrr�test_unicode�s ����z#ArrayReconstructorTest.test_unicodeN)rr	r
rRr}r�rrrrrG_s?rGc@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!r/rrr�test_constructor�szBaseTest.test_constructorcCsVt�|j�}|�|jd�|�t|�d�t�|j|j�}|�t|�t|j��dS�Nrr))rr�append�exampler-r.r/rrr�test_len�s
zBaseTest.test_lencCs|t�|j|j�}|�t|jd�|��}|�|t�|�t	|�d�|�|dt
�|�|dt
�|�|dt	|��dS)Nrr4rr))rrr�r r!�buffer_infor�tupler-r.�int)rr0Zbirrr�test_buffer_info�szBaseTest.test_buffer_infocCs�|jdkrd}n|j}t�|j|�}|�t|jd�|jdvrHt�|j|�}|��|jdkr6|�||�n|�||�|��|�||�dSdS)Nru􀄀r�r)r4r5r9r))	rr�rr r!�byteswapr�r-�assertNotEqual)rr�r0rIrrr�
test_byteswap�s


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

zBaseTest.test_copycCsFddl}t�|j|j�}|�|�}|�t|�t|��|�||�dSr�)r�rrr�Zdeepcopyr�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_PROTOCOLrO)rr0�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-rrr%�rr�r0rIrrr�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-rrr%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)Nr3r))rrr��listr�r�r�r&r�r��fromlistr-r%�nextr.r �
StopIteration)
r�orig�data�data2�proto�itorigrM�itr0rYrrr�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�rr0ZexhitZempitrrrr�test_exhausted_iteratorTs
"z BaseTest.test_exhausted_iteratorcCsPt�|j|j�}|�t|�t|j��|�tt|��tt|��ddd��dS�Nr3)rrr�r-r��reversedr&r/rrr�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)Nr4r3r)r)rrr�r�r�r.r�r�r�r�r�r��insertr-r%r�r r�)rr�r�r�Zrev_datar�r�rMr�r0rYrrr�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)r3������)rrr�r�r-r.r r!r/rrr�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)Nr4�wb�rbr))rrr�r r!Ztofiler�unlink�TESTFN�open�close�fromfiler.r-r��EOFError�closed�rr0r^rIrrr�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�)rr0r^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)Nr4r�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)Nr4r)rrr�r r!�tolistr�r-�rr0rIrrr�test_tofromlist�szBaseTest.test_tofromlistcCs�t�|jd|j�}t�|j�}|�t|jd�|�t|j�|�t|jd�|�|���t�|jt|����}|�||�|�||�|j	dkrT|�t
|jd�dSdS)Nr4rr)�x)rrr�r r!�tobytes�	frombytes�	bytearrayr-r�r")rr0rI�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)Nr4rzarray('%s'))rrr�r-�eval�reprr/rrr�	test_reprszBaseTest.test_reprcCs t�|jd|j�}t|�dS)Nr4)rrr�rPr/rrr�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)NrFTr4)rrr�r��smallerexample�
biggerexample)rr0ZalZabrrr�test_cmps:zBaseTest.test_cmpcCs�t�|j|j�t�|j|jddd��}|�|t�|j|j|jddd���t�|���}|�t|j|�|�t|jd�dS)Nr3�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)Nr3r4r�)
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)Nr6rr3r)r�)rrr�r-r r!�__mul__r/rrr�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)Nr6rr�r3r�)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)Nrr3r))	rrr�r�r.r r!�__getitem__�
IndexErrorr/rrr�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)Nr3rr))	rrr�r�r.r r!�__setitem__r�r/rrr�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)r3)	rrr�r-r.r r!�__delitem__r�r/rrr�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)r3r4r�r���r�r/rrr�
test_getslice�sR
�
�
�
�

�

�

�

�

�zBaseTest.test_getslicecCs~t�|j|j�}ddddddtjdddd	f}|D]$}|D]}|dd�D]}|�t||||��t|�|||��q$qqdS�
Nrr)r,rD�dr3���i�����)rrr��sys�maxsizer-r�)rr0�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)r3r�r4r�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�)r�r�rrr�r��reverser-)rrrrrr0rTr�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)Nr4rY)r�r3rrr)r4r���r�i����r,���r5)	r�rrr r!r�r-r"r��rr�r0rrrr�
test_index�s"
zBaseTest.test_indexcCsrd|j}t�|j|�}|�t|j�|D]}|�|�|�|�|��q|�|�|j�d�|�|�d�d�dS)Nr4r)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)Nr4r))	r�rrr��remover-r r"r�)rrr�r0�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)Nr4rr)rr,r3)
rrr r��popr�r!r.r�r-r/rrr�test_pop�s.�*�$�zBaseTest.test_popc
CsNt�|j|j�}|�t|jd�|��|�|t�|j|jddd���dS)Nrr3)rrr�r r!rr-r/rrr�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�rcss�t�rrrrrrrs�z;BaseTest.test_constructor_with_iterable_argument.<locals>.B)rrr&r�r-r r!r)rr0rIrrrrr�'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)rrr0rZrrr�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)rr4)rrr��
memoryviewr�r-r �BufferErrorr�rrrr�r�r��fromunicode�	tounicode�operator�imul�setitemr�delitem)rr0�mZexpectedrrr�test_buffer$s<
zBaseTest.test_buffercCsLt�|j|j�}t�|�}|�|��|���d}t��|�	t
t|�dSr)rrr��weakref�proxyr-r�rZ
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�rr�r2r-)rrYrIZrcrrr�test_bug_782369Os
zBaseTest.test_bug_782369cCstddd�dS)NrIr))r)r
rrrr�test_subclass_with_kwargsYsz"BaseTest.test_subclass_with_kwargscCs&t�dd�}|�t|�|jd�dS)NrSs1234r5)rr-r.r�r/rrr�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)rr0�basesizeZbuffer_sizerrr�test_sizeof_with_buffercs
z BaseTest.test_sizeof_with_buffercCs(t�|j�}t�d�}t�|||�dS)Nr7)rrrr8r9)rr0r:rrr�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!rZassertInrPZ	exception)r�cmr0rrr�test_initialize_with_unicodeps
��z%BaseTest.test_initialize_with_unicodecCs*ddlm}t�dd�}|�t||�dS)Nr)�getbuffer_with_null_viewrrJ)Z	_testcapir?rr r#)rr?r0rrr�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�rrrrrrrrrrr!r+r1�unittestZ
skipUnless�hasattrr�r4r5r6rr2r;r<r>r@rArrrrr��s|	
%*!

$
!'"2Y		
#�



r�cseZdZ�fdd�Z�ZS)�
StringTestcs:t���t�|j|j�}|�t|jd|jdd��dS)Nrr4)�superr�rrr�r r!r�r/��	__class__rrr��s
 zStringTest.test_setitem)rr	r
r��
__classcell__rrrFrrD�srDc@s8eZdZdZdZdZdZed�ZdZ	dd�Z
d	d
�ZdS)�UnicodeTestru☺u☺﻾u☺�3r4cCs�|�ttjdd�t�dd�}|�d�|�d�|�d�|�d�|��}|�|d�|�|jt�d	}t�d|�}|�t|�d
�|�t|j�dS)NrIr*ru Âሴ� rHu	abcÿሴu Âሴ abcÿሴu="'a\b€ÿሴu+array('u', '\x00="\'a\\b\x80ÿ\x00\x01ሴ'))	r r!rr$r%r-r��sizeof_wcharr�)rr0r/rrrr��s 



�zUnicodeTest.test_unicodecCsDtdkrd}n|�d�t�d|�}|�t|j�|�tt|�dS)Nr5s����zspecific to 32-bit wchar_tr)rLr rr r"r%rP)rZinvalid_strr0rrr�test_issue17223�s
zUnicodeTest.test_issue17223N)rr	r
rr�r�r�rPr�r�r�rMrrrrrI�srIc@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)Nr6r4�rr4r5r)r,r3)r5r,r4r)rr�)r5r4rr�r�r�r�r�i0����rrr�r-r/rrr�
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)
Nr6r4r)r,rOr�)rr4r,r5r;r�)	r)r4r,r5r6r7r8r9r:r:iMrPr/rrr�
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;rr6r4)
rr)rr,rr6rr8rr:r,r	)
rr;r4r,r5r;r7r8r9r;r5r3)r,r4r)r)rrr�r-r)rr0rIr�Zinsrrr�test_assignment�s zNumberTest.test_assignmentcCsft�|jtd��}|�t|�ttd���t�|jdg�}|�|d|vd�|�|d|vd�dS)Nr;rEr3Tr)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 rwr�)r�lower�upperr0rrr�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�rXrrrrYrz>NumberTest.test_subclassing.<locals>.ExaggeratingArray.__new__cSs
||_dSr)rX)rrr�rXrrrr	�
z?NumberTest.test_subclassing.<locals>.ExaggeratingArray.__init__cSstj�||�|jSr)rr�rX)rrYrrrr��zBNumberTest.test_subclassing.<locals>.ExaggeratingArray.__getitem__N)rr	r
�	__slots__rYrr�rrrr�ExaggeratingArrays
r^)r,r7r8r<r5rr8ZcolorZblue)rrr�r �AttributeError�setattr)rrr^r0rrr�test_subclassings
zNumberTest.test_subclassingcCs.t�dtd��}t�|j|�}|�||�dS)NrIr;)rr�rr-r�rrr�test_frombytearrayr�zNumberTest.test_frombytearrayN)
rr	r
rQrRrSrTrWrarbrrrrrN�srNc@r)�IntegerNumberTestcCs�t�|j�}|�d�|�t��
|�d�Wd�n1s wY|�t��
d|d<Wd�dS1s:wYdS)NrgE@r)rrr�r r!r/rrr�test_type_errors
�
"�z!IntegerNumberTest.test_type_errorN)rr	r
rdrrrrrcrrcc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�IntablecCs
||_dSr�Z_num)rZnumrrrr#r[zIntable.__init__cC�|jSrrfrrrr�	__index__%�zIntable.__index__cCrgrrfrrrr�__int__'rizIntable.__int__cCstt|�t|��Sr�rer��r�otherrrr�__sub__)r\zIntable.__sub__cCstt|�t|��Srrkrlrrrr�+r\zIntable.__add__N)rr	r
rrhrjrnr�rrrrre"srec@s0eZdZgd�Zgd�Zgd�ZdZdd�ZdS)�SignedNumberTest)r3rr)rrV)r3rr)r�~)r3rr)�+rV�cCsht�|j�}dttd|jdd��}ttd|jdd��d}|�||�|�t|�t|��dS)Nr3r4r9r)�rrr��powr�rWre�rr0rUrVrrr�
test_overflow4s
zSignedNumberTest.test_overflowN)rr	r
r�r�r�r�rvrrrrro.sroc@s8eZdZgd�Zgd�Zgd�ZdZdd�Zdd�Zd	S)
�UnsignedNumberTest)rr)rBrrrrW)rr)rBrrr�)rr)rBrrrqrW�cCsLt�|j�}d}ttd|jd��d}|�||�|�t|�t|��dS)Nrr4r9r)rsrurrrrvAs
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�)rr/r0rrr�test_bytes_extendHs

��z$UnsignedNumberTest.test_bytes_extendN)	rr	r
r�r�r�r�rvr{rrrrrw;srwc@�eZdZdZdZdS)�ByteTestrIr)N�rr	r
rr�rrrrr}Z�r}c@r|)�UnsignedByteTestrr)Nr~rrrrr�^rr�c@r|)�	ShortTestrXr4Nr~rrrrr�brr�c@r|)�UnsignedShortTestrSr4Nr~rrrrr�frr�c@r|)�IntTestrYr4Nr~rrrrr�jrr�c@r|)�UnsignedIntTestr$r4Nr~rrrrr�nrr�c@r|)�LongTestrZr5Nr~rrrrr�rrr�c@r|)�UnsignedLongTestrTr5Nr~rrrrr�vrr�c@r|)�LongLongTest�qr9Nr~rrrrr�zrr�c@r|)�UnsignedLongLongTest�Qr9Nr~rrrrr�~rr�c@s@eZdZgd�Zgd�Zgd�ZdZdd�Zdd�Zd	d
�Z	dS)�FPTest)�E�rr�j�@g _��)r�rrr�g _��)r�rrr�g _�BrrcCr�r)ZassertAlmostEqualr�rrrr��rzFPTest.assertEntryEqualcCs�t�|jtd�g�}t�|jtd�g�}|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�|�||kd�dS)N�nanTF)rrrrr�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^r5Nr~rrrrr��rr�c@seZdZdZdZdd�ZdS)�
DoubleTestrMr9cCs�ddlm}t�ddgd�}z
||dd9}Wn	ty"Ynw|�d�t�dgd��}z
||d	dWn
tyDYdSw|�d�dS)
Nr)r�rMr3ir)z6Array of size > maxsize created - MemoryError expected)g�II�
�@g���S�!	@r3r,)r�r�r�MemoryErrorZfail)rr�r0rIrrr�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)%�LargeArrayTestrIcCsBt�|jgd��|d}|t�|jdg|dgd��7}|S)N)rr)r4r,r5r6r7r8r9�c�r9r:r;r<)rr)r�size�baserrrr��s$zLargeArrayTest.exampleg@)ZmemusecCs"|�|�}|�t|�|d�dS)Nr5)r�r-r.�rr�r�rrr�test_example_data�s
z LargeArrayTest.test_example_datacCsx|�|�}|�|dd�|�||dd�|�||d�|�|dd�|�||dd�|�|dd�dS)Nrr5r9r	r,r<r3)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)Nr5�rr)r4r,r	r�r)r3r4rr;r6)rr4r5r7r�r:r<r9)r�r-r�r.)rr�r��partrrr�
test_slice�s
  zLargeArrayTest.test_slicecCs6|�|�}|�|�d�|d�|�|�d�d�dS)Nrr9r<r))r�r-r
r�rrrr�s
zLargeArrayTest.test_countcCs(|�|�}|�d�|�|dd�dS)Nr=r3)r�r�r-r�rrr�test_append�s

zLargeArrayTest.test_appendcCsP|�|�}|�tgd���|�t|�|d�|�t|dd��gd��dS�N)r=r>r?r@r9���)r9r:r;r<r=r>r?r@)r�rr&r-r.r�r�rrrr�s
 zLargeArrayTest.test_extendcCsP|�|�}|�d�|�t|�|d�|�t|dd��gd�td��dS)Nsabcdr9r�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)r8r<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?r8)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<r4r,)r�r-rr.r�rrrrs
zLargeArrayTest.test_popcCs~|�|�}|�d�|�t|�|d�|�|dd�|�d�|�t|�|d�|�||d�|�||dd�dS)Nrr,r)r;r4r: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)
Nr5rr<r,r9r3r�r	r�)r�rr-r.r�r�rrrr5s
 zLargeArrayTest.test_reverseg@&@cCsj|�|�}|��}|�t|�t|��|�|dd�t|dd���|�|dd�t|dd���dS)Nr9r�)r�r�r-r.r�)rr�r�Zlsrrr�test_tolistCs

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





r��__main__)H�__doc__Zcollections.abcrrB�testrZtest.supportrrr,r�r&rvr�rrrOr�rLrr
r�ZTestCaserrQrcrdrerfrgrhrirjrkrlrmrnrorprqrsrtrur~rr�r�rGr�rDrIrNrcrerorwr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�mainrrrr�<module>s�(dL(b	
#

�