Your IP : 216.73.217.129


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_array.cpython-35.opt-2.pyc



���]���@s:ddlZddlmZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlmZ
yejd�dZWnejk
r�dZYnXejd�jZGdd	�d	ej�ZGd
d�dej�ZdZer'ed
7ZGdd�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?ej@edG�GdHdI�dIe6ej��ZAej@edG�GdJdK�dKe7ej��ZBGdLdM�dMe3�ZCGdNdO�dOeCej�ZDGdPdQ�dQeCej�ZEeFdRkr6ejG�dS)S�N)�support)�_array_reconstructorz@qTF�uc@seZdZdS)�
ArraySubclassN)�__name__�
__module__�__qualname__�r	r	�//opt/alt/python35/lib64/python3.5/test_array.pyrsrc@seZdZddd�ZdS)�ArraySubclassWithKwargsNcCstjj|�dS)N)�array�__init__)�self�typecode�newargr	r	r
r
"sz ArraySubclassWithKwargs.__init__)rrrr
r	r	r	r
r!srZubBhHiIlLfdZqQc@s(eZdZdd�Zdd�ZdS)�MiscTestcCs\|jttj�|jttjdd�|jttjd�|jttjd�dS)NZspam�*Zxx�x)�assertRaises�	TypeErrorr�
ValueError)rr	r	r
�test_bad_constructor+szMiscTest.test_bad_constructorcCs�tjd�}||dd�<|jt|�d�|jt||�d�|jt|d�d�||7}|jt|�d�dS)N�Br�)r�assertEqual�len)r�ar	r	r
�
test_empty1s
zMiscTest.test_emptyN)rrrrrr	r	r	r
r)sr��r������	�
���
��������c@s4eZdZdd�Zdd�Zdd�ZdS)�ArrayReconstructorTestcCs�|jttdddd�|jtttddd�|jtttjddd�|jtttjddd�|jtttjddd�|jtttjdtd�|jtttjddd�|jtttjddd	�dS)
N��br��?��dr,�a)rr�array_reconstructor�strrr�UNKNOWN_FORMAT)rr	r	r
�
test_errorZs z!ArrayReconstructorTest.test_errorcCs�ddddgtddddd	gfd
ddd
gtdd0ddgfdddgtdddddgfdddgtdddddgfddd
gtdd1ddgfddd
gtdd2ddgfddgtdd3d5dd7gfddgtdd8d:dd<gfdd
gtdd>d@dgfdd
gt	ddBdDdgfdgt
ddEdGddIgfdgtddJdLddNgfd
gtddPdRdgfd
gt
d dTdVdgfdgt
ddWdYdd[gfdgtdd\d^dd`gfd
gtddbdddgfd
gt
d dfdhdgfd#gtd$d%td&�td'�digfd#gtd)d%td&�td'�djgfd*gtd+d,td&�td'�dkgfd*gtd-d,td&�td'�dlgff}x�|D]�}|\}}}}tj||�}xy|D]q}ytj||�}	Wntk
rPwYnXttj|||�}
|j|	|
d.d/j|	|
|��qWq�WdS)mNr�H�I�Lz=BBBB��r�r4�h�i�lz=bbbz<HHHHi�i�i��z>HHHHz<hhhz>hhhz<IIIIr�� z>IIIIz<iiiz>iiiz<QQQQz>QQQQz<qqqz>qqq�?�@�fz<ffffg@ �oA�infz-infgz>ffffr8z<ddddg�?Cz>dddd�msgz{0!r} != {1!r}; testcase={2!r}i����i���i���lli���ll��lli���ll�����i�li���rNi�li���lli���ll��lli���ll��rNi�li���rNi�li���lll����ll����lll����ll����rNl����ll����rNl����ll����g�g�g�g�)�
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�valuesZarraystrrrr4r	r	r
�test_numberslsp$


z#ArrayReconstructorTest.test_numbersc	Cs�d}tdftdftdftdff}xr|D]j}|\}}tjd|�}ttjd||j|��}|j||ddj|||��q7WdS)	NuBonne Journée 𠌊𠍇z	UTF-16-LEz	UTF-16-BEz	UTF-32-LEz	UTF-32-BErrMz{0!r} != {1!r}; testcase={2!r})	�UTF16_LE�UTF16_BE�UTF32_LE�UTF32_BErr:�encoderre)rZteststrrfrgrh�encodingrr4r	r	r
�test_unicode�s			
z#ArrayReconstructorTest.test_unicodeN)rrrr=rjrqr	r	r	r
r2Xs?r2c@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/j0e1e2dY�dZ�d[d\��Z3d]d^�Z4d_d`�Z5e6j7dadb��Z8e6j7dcdd��Z9dedf�Z:e6j7dgdh��Z;diS)j�BaseTestcCs|j||�dS)N)r)r�entry1�entry2r	r	r
�assertEntryEqual�szBaseTest.assertEntryEqualcCs"ttj|j�dtt�S)Nr)�	typecodes�indexrr)rr	r	r
�badtypecode�szBaseTest.badtypecodecCs^tj|j�}|j|j|j�|j|j|j�|jttj|jd�dS)N)rrrZassertGreaterEqual�itemsize�minitemsizerr)rrr	r	r
�test_constructor�szBaseTest.test_constructorcCswtj|j�}|j|jd�|jt|�d�tj|j|j�}|jt|�t|j��dS)Nrr)rr�append�examplerr)rrr	r	r
�test_len�s
zBaseTest.test_lencCs�tj|j|j�}|jt|jd�|j�}|j|t�|jt	|�d�|j|dt
�|j|dt
�|j|dt	|��dS)Nrrrr)rrr}rr�buffer_infoZassertIsInstance�tuplerr�int)rrZbir	r	r
�test_buffer_info�szBaseTest.test_buffer_infocCs�|jdkrd}n	|j}tj|j|�}|jt|jd�|jdkr�tj|j|�}|j�|jdkr�|j||�n|j||�|j�|j||�dS)	Nru􀄀rrrr r$)rrr r$)	rr}rrr�byteswapryr�assertNotEqual)rr}rr4r	r	r
�
test_byteswap�s		

zBaseTest.test_byteswapcCscddl}tj|j|j�}|j|�}|jt|�t|��|j||�dS)Nr)�copyrrr}r��idr)rr�rr4r	r	r
�	test_copy�s
zBaseTest.test_copycCscddl}tj|j|j�}|j|�}|jt|�t|��|j||�dS)Nr)r�rrr}�deepcopyr�r�r)rr�rr4r	r	r
�
test_deepcopy�s
zBaseTest.test_deepcopycCs�tj|j|j�}x4td�D]&}|j|j|�dtj�q%Wx7tdtj�D]#}|j|j|�dt�qbWdS)Nrr)	rrr}�range�assertIs�
__reduce_ex__�pickle�HIGHEST_PROTOCOLr:)rr�protocolr	r	r
�test_reduce_exs
$zBaseTest.test_reduce_excCsxttjd�D]�}tj|j|j�}tjtj||��}|jt	|�t	|��|j
||�t|j|j�}d|_tjtj||��}|jt	|�t	|��|j
||�|j
|j|j�|j
t
|�t
|��qWdS)Nrr&)r�r�r�rrr}�loads�dumpsr�r�rrr�type)rr�rr4r	r	r
�test_pickle
s	zBaseTest.test_picklecCsxttjd�D]�}tj|j�}tjtj||��}|jt|�t|��|j	||�t
|j�}d|_tjtj||��}|jt|�t|��|j	||�|j	|j|j�|j	t|�t|��qWdS)Nrr&)
r�r�r�rrr�r�r�r�rrrr�)rr�rr4r	r	r
�test_pickle_for_empty_arrays	z$BaseTest.test_pickle_for_empty_arrayc
Csntj|j|j�}t|�}|ddd�}x0ttjd�D]}t|�}tj||f|�}tj	|�\}}|j
|�|jt|�t|��|jt|�||�t
|�tj||f|�}tj	|�\}}|j
|�|jt|�t|��|jt|�|dd�|�x'tdt|��D]}	t
|�qgWtj||f|�}tj	|�\}}|j
|�|jt|�t|��|jt|�|�|jtt
|�tj||f|�}tj	|�\}}|j
|�|jt|�t|��|jt|�|�qKWdS)NrrN)rrr}�listr�r�r��iterr�r��fromlistrr��nextrr�
StopIteration)
rZorig�dataZdata2�protoZitorigr8�itrrEr	r	r
�test_iterator_pickle(s:


$

zBaseTest.test_iterator_picklecCs�tj|j|j�}|jd|jd�|jt|�dt|j��|j|d|d�|jt|j�|jt|jd�|jt|jdd�tj|j|j�}|jd|jd�|j|tj|j|jdd�|jdd�|jdd���tj|j|j�}|jd|jd�|j|tj|j|jdd�|j��tj|j|j�}|jd|jd�|j|tj|j|j|jdd���dS)Nrri�rNrNrNi���)rrr}�insertrrrr)rrr	r	r
�test_insertNs0#9*zBaseTest.test_insertcCsYtj|jd|j�}|jt|j�tjtj�t	tjd�}z�|j|�|j
�tj|j�}t	tjd�}|jt|j�|j|t|j��|j
|tj|j|j��|j||�|jt|j|t|j�d�|j
||�|j
�Wd|jsD|j
�tjtj�XdS)Nr�wb�rbr)rrr}rr�tofiler�unlink�TESTFN�open�close�fromfilerrr��EOFError�closed)rrrKr4r	r	r
�test_tofromfileos&

"&	
zBaseTest.test_tofromfilecCsltj|j�}ttjd�}z&|jt|j|t|j	��Wd|j
�tjtj�XdS)Nr�)rrr�rr�r�OSErrorr�rr}r�r�)rrrKr	r	r
�test_fromfile_ioerror�s&
zBaseTest.test_fromfile_ioerrorcCstj|jd|j�}ttjd�}z�|j|�|j�tj|j�}ttjd�}|j|t	|j��|j
|tj|j|j��|j||�|j|t	|j��|j
||�|j�Wd|js|j�tj
tj�XdS)Nrr�r�)rrr}r�rr��writer�r�rrr�r�r�)rrrKr4r	r	r
�test_filewrite�s 

"	
zBaseTest.test_filewritecCs�tj|jd|j�}tj|j�}|jt|jd�|jt|j�|jt|jd�|jt|jdg�|j|j��|j||�dS)Nrr)rrr}rr�tolistr�r)rrr4r	r	r
�test_tofromlist�szBaseTest.test_tofromlistc
Csd}tjdd���}tjddddt�tj|jd|j�}tj|j�}|jt|j	d�|jt|j
�|jt|j
d�|j
|j	��|j||�|jd	kr�|jt
|j
d
�|d	7}WdQRX|jt|�|�dS)Nr�recordT�always�messagez!(to|from)string\(\) is deprecated�categoryrrr)�warnings�catch_warnings�filterwarnings�DeprecationWarningrrr}rr�tostring�
fromstringrryrr)rZnb_warnings�rrr4r	r	r
�test_tofromstring�s zBaseTest.test_tofromstringcCs�tj|jd|j�}tj|j�}|jt|jd�|jt|j�|jt|jd�|j|j��tj|jt|j���}|j||�|j||�|j	dkr�|jt
|jd�dS)Nrrr�x)rrr}rr�tobytes�	frombytes�	bytearrayrryr)rrr4�cr	r	r
�test_tofrombytes�s!zBaseTest.test_tofrombytescCsAtj|j|j�}tj|j|�}|j||�dS)N)rrr}r)rrr4r	r	r
�test_fromarray�szBaseTest.test_fromarraycCswtj|jd|j�}|j|tt|�dtji��tj|j�}|jt|�d|j�dS)Nrrzarray('%s'))rrr}r�eval�repr)rrr	r	r
�	test_repr�s(zBaseTest.test_reprcCs*tj|jd|j�}t|�dS)Nr)rrr}r;)rrr	r	r
�test_str�szBaseTest.test_strcCs�tj|j|j�}|j|dkd�|j|dkd�|j||kd�|j||kd�|j||kd�|j||kd�|j||kd�|j||kd�tj|j|j�}tj|j|j�}|j|d|kd�|j|d|kd�|j|d|kd�|j|d|kd�|j|d|kd�|j|d|kd�|j||kd�|j||kd�|j||kd�|j||kd�|j||kd�|j||kd�|j||kd�|j||kd�|j||kd�|j||kd�|j||kd�|j||kd�dS)NrFTr)rrr}r��smallerexample�
biggerexample)rrZal�abr	r	r
�test_cmp�s:zBaseTest.test_cmpc	Cs�tj|j|j�tj|j|jddd��}|j|tj|j|j|jddd���tj|j��}|jt|j|�|jt|jd�dS)Nr�badrNrN)rrr}rrxrr�__add__)rrr4r	r	r
�test_adds&-zBaseTest.test_addcCs%tj|j|jddd��}|}|tj|jd|j�7}|j||�|j|tj|j|jddd�d|j��tj|j|j�}||7}|j|tj|j|j|j��tj|j��}|jt|j|�|jt|j	d�dS)Nrrr�rNrN)
rrr}r�rrxrrr��__iadd__)rrr4r	r	r
�	test_iadds% 1
 zBaseTest.test_iaddcCs^dtj|j|j�}|j|tj|jd|j��tj|j|j�d}|j|tj|j|jd��dtj|j|j�}|j|tj|j��dtj|j|j�}|j|tj|j��dtj|j|jdd��}|j|tj|j|dgd��|jt|jd�dS)Nr!rrr�rN)rrr}rrr�__mul__)rrr	r	r
�test_mul$s*&!zBaseTest.test_mulcCsXtj|j|j�}|}|d9}|j||�|j|tj|jd|j��|d9}|j||�|j|tj|j��|d9}|j||�|j|tj|j��|d9}|j||�|j|tj|j��tj|j|j�}|d9}|j|tj|j��|jt|jd�dS)Nr!ri�rr�rNrN)rrr}r�rrr�__imul__)rrr4r	r	r
�	test_imulEs(




zBaseTest.test_imulcCs+tj|j|j�}|j|d|jd�|j|d|jd�|j|d|jd�|j|d|jd�|j|t|j�d|jd�|j|t|j�|jd�|jt|j�|jt|jt|j��|jt|jt|j�d�dS)NrrrNrNrNrNrN)	rrr}rurrr�__getitem__�
IndexError)rrr	r	r
�test_getitembs(%zBaseTest.test_getitemcCs(tj|j|j�}|d|d<|j|d|d�tj|j|j�}|d|d<|j|d|d�tj|j|j�}|d|d<|j|d|d�tj|j|j�}|d|d	<|j|d|d
�tj|j|j�}|d|t|j�d<|j|d|d�tj|j|j�}|d|t|j�<|j|d|d
�|jt|j�|jt|jd�|jt|jdd�|jt|jt|j�|jd�|jt|jt|j�d|jd�dS)NrrrNrNrNrNrNrNrNrNrNrNrN)	rrr}rurrr�__setitem__r�)rrr	r	r
�test_setitemns:zBaseTest.test_setitemcCs�tj|j|j�}|d=|j|tj|j|jdd���tj|j|j�}|d=|j|tj|j|jdd���tj|j|j�}|t|j�d=|j|tj|j|jdd���tj|j|j�}|t|j�=|j|tj|j|jdd���|jt|j�|jt|jd�|jt|jt|j��|jt|jt|j�d�dS)NrrrNrNrN)	rrr}rrrr�__delitem__r�)rrr	r	r
�test_delitem�s0####zBaseTest.test_delitemcCstj|j|j�}|j|dd�|�|j|dd�tj|j|jdd���|j|dd�tj|j|jdd���|j|dd�tj|j|jdd���|j|dd�tj|j|jdd���|j|d	d
�tj|j��|j|dd�tj|j��|j|dd�tj|j��|j|dd�|�|j|dd�|�|j|dd�tj|j��|j|d
d�|�|j|dd�tj|j��dS)Nrri�i�rNrNrNrNrNrNi���i���i���)rrr}r)rrr	r	r
�
test_getslice�s@
#
#
#
#




zBaseTest.test_getslicec
Cs�tj|j|j�}d}xp|D]h}x_|D]W}xN|dd�D]<}|jt||||��t|�|||��qIWq2Wq%WdS)
Nrrrr/�drrGrN���������)
rNrrr/r�rNr�r�r�)rrr}rr�)rr�indices�start�stop�stepr	r	r
�test_extended_getslice�s

zBaseTest.test_extended_getslicecCs{tj|j|j�}||dd�<|j|tj|j|j|jdd���tj|j|j�}||dd�<|j|tj|j|j|jdd���tj|j|j�}||dd�<|j|tj|j|jdd	�|j��tj|j|j�}||dd�<|j|tj|j|jdd�|j��tj|j|j�}||dd
�<|j|tj|j|jdd�|j|jdd���tj|j|j�}||dd�<|j|tj|jd|j��tj|j|j�}||dd�<|j|tj|j|j��tj|j|j�}||dd�<|j|tj|j|j��tj|j|j�}||dd
�<|j|tj|jd|j��tj|j|j�}||dd�<|j|tj|j|jdd�|j|jdd���tj|j|j�}||dd�<|j|tj|jd|j��tj|j|j�}|jt|jtdd�d�|jt|jtdd�d�tj|j��}|jt|jtdd�|�|jt|jtdd�|�dS)Nri�rri�rNrNrNrNrNrNi���i���)	rrr}rrrr��slicerx)rrr4r	r	r
�
test_setslice�s~****/;"""zBaseTest.test_setslicec
Csd}x|D]}x�|D]�}x�|dd�D]�}tj|j|j�}t|�}||||�}|j�|||||�<tj|j|�||||�<|j|tj|j|��||||�=||||�=|j|tj|j|��q1WqWq
WdS)
Nrrrr/r�rrGrNr�������)
rNrrr/r�rNr�r�r�)rrr}r��reverser)rr�r�r�r�rr@r�r	r	r
�test_extended_set_del_sliceNs


"z$BaseTest.test_extended_set_del_slicecCs�d|j}tj|j|�}|jt|j�x0|D](}|j|j|�|j|��q<W|jt|jd�|jt|j|j�dS)Nr)	r}rrrrrwrr�outside)rr}rrr	r	r
�
test_indexbs

&zBaseTest.test_indexcCs�d|j}tj|j|�}|jt|j�x0|D](}|j|j|�|j|��q<W|j|j|j�d�|j|jd�d�dS)Nrr)r}rrrr�countrr�)rr}rrr	r	r
�
test_countks

&zBaseTest.test_countcCs�x�|jD]�}d|j}tj|j|�}|j|�}|d|�||dd�}|j|�|j|tj|j|��q
Wtj|j|j�}|jt|j|j�|jt|jd�dS)Nrr)	r}rrrw�removerrrr�)rrr}r�posZexample2r	r	r
�test_removets
"
#zBaseTest.test_removecCs�tj|j�}|jt|j�tj|jd|j�}|jt|jdd�|jt|jd�|jt|jt|��|jt|jt|�d�|j|jd�|jd�|j	|tj|j|jdd�|j��|j|jd�|jd�|j	|tj|j|jdd�|jdd�|j��|j|jd�|jd�|j|j�|jd�|j	|tj|j|jdd�|jdd���dS)NrrrrrrNrN)
rrrr��popr}rrrur)rrr	r	r
�test_pop�s(! * ; zBaseTest.test_popcCsktj|j|j�}|jt|jd�|j�|j|tj|j|jddd���dS)NrrrN)rrr}rrr�r)rrr	r	r
�test_reverse�s
zBaseTest.test_reversec	Csutj|j|j�}|jt|j�|jtj|j|jddd���|j|tj|j|j|jddd���tj|j|j�}|j|�|j|tj|j|j|j��tj|j��}|jt|j|�tj|j|j�}|j|jddd��|j|tj|j|j|jddd���dS)NrrNrNrNrN)rrr}rr�extendrrx)rrr4r	r	r
�test_extend�s$,-
 zBaseTest.test_extendcCs�tj|jt|j��}tj|j|j�}|j||�|jttj|jd�Gdd�d�}|jttj|j|��dd�}|jttj|j|��dS)Nr&c@seZdZdd�ZdS)z;BaseTest.test_constructor_with_iterable_argument.<locals>.AcSs
t�dS)N)�UnicodeError)rr	r	r
�__iter__�szDBaseTest.test_constructor_with_iterable_argument.<locals>.A.__iter__N)rrrr�r	r	r	r
�A�sr�csst�dVdS)N)r�r	r	r	r
r�sz;BaseTest.test_constructor_with_iterable_argument.<locals>.B)rrr�r}rrrr�)rrr4r�rr	r	r
�'test_constructor_with_iterable_argument�sz0BaseTest.test_constructor_with_iterable_argumentcCsnyddl}Wntk
r1|jd�YnXtj|j�}t|�g}|j|�|j�dS)Nrzgc module not available)�gc�ImportError�skipTestrrr�r|Zcollect)rr�rrFr	r	r
�test_coveritertraverse�s

zBaseTest.test_coveritertraversecCs�tj|j|j�}t|�}|j�}|j|j�|�|j|j�d|d�|jt|j|d�|j|j�|�|jt|j	|dd��|j|j�|�|jt|j
|d�|j|j�|�|jt|jd�|j|j�|�|jt|j|j
��|j|j�|�|jt|j|j��|j|j�|�|jdkr�|jt|j|j��|j|j�|�|jttj|d�|j|j�|�|jttj|d�|j|j�|�|jttj|tdd�|�|j|j�|�|jttj|d�|j|j�|�|jttj|tdd��|j|j�|�dS)Nrrrr)rrr}�
memoryviewr�rr�BufferErrorr|r�r�r�r�r�r��fromunicode�	tounicode�operator�imul�setitemr��delitem)rr�mZexpectedr	r	r
�test_buffer�s< %"zBaseTest.test_buffercCs`tj|j|j�}tj|�}|j|j�|j��d}|jtt	|�dS)N)
rrr}�weakref�proxyrr�r�ReferenceErrorr)r�s�pr	r	r
�test_weakrefs
zBaseTest.test_weakref�getrefcountztest needs sys.getrefcount()cCs�x,td�D]}tjdtd��}q
Wtjd�}x,td�D]}tjdtd��}qKW|j|tjd��dS)Nr&rrJ)r�r�sysrr)rrEr4�rcr	r	r
�test_bug_782369szBaseTest.test_bug_782369cCstddd�dS)Nr4rr)r)rr	r	r
�test_subclass_with_kwargssz"BaseTest.test_subclass_with_kwargscCs3tjdd�}|jt|�|jd�dS)Nr>s1234r )rrrry)rrr	r	r
�test_create_from_bytesszBaseTest.test_create_from_bytescCsYtj|j|j�}tjd�}|j�d|j}tj||||�dS)N�Pn2Pir)rrr}r�calcvobjsizerry�check_sizeof)rr�basesizeZbuffer_sizer	r	r
�test_sizeof_with_buffersz BaseTest.test_sizeof_with_buffercCs8tj|j�}tjd�}tj|||�dS)Nr)rrrrr)rrrr	r	r
�test_sizeof_without_buffer#sz#BaseTest.test_sizeof_without_buffercCs�|jdkr�|jt��}tj|jd�}WdQRX|jdt|j��|jt��(}tj|jtjdd��}WdQRX|jdt|j��n6tj|jd�}tj|jtjdd��}dS)Nr�foozcannot use a strzcannot use a unicode array)rrrrZassertInr;�	exception)r�cmrr	r	r
�test_initialize_with_unicode)s(z%BaseTest.test_initialize_with_unicodecCs9ddlm}tjdd�}|jt||�dS)Nr)�getbuffer_with_null_viewrr5)Z	_testcapir"rrr)rr"rr	r	r
�test_obsolete_write_lock5sz!BaseTest.test_obsolete_write_lockN)<rrrrurxr{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�rrr�unittestZ
skipUnless�hasattrrrrrrZcpython_onlyrrr!r#r	r	r	r
rr�sh	
&!

$
!'"2Y			
#	rrcs"eZdZ�fdd�Z�S)�
StringTestcsOt�j�tj|j|j�}|jt|jd|jdd��dS)Nrr)�superr�rrr}rrr�)rr)�	__class__r	r
r�=s
zStringTest.test_setitem)rrrr�r	r	)r(r
r&;sr&c@sReZdZdZdZdZdZed�ZdZ	dd�Z
d	d
�ZdS)�UnicodeTestru☺u☺﻾u☺�3rcCs�|jttjdd�tjdd�}|jd�|jd�|jd�|jd�|j�}|j|d�|j|jt�d	}tjd|�}|jt|�d
�|jt|j�dS)Nr4rru Âሴ� r3u	abcÿሴu Âሴ abcÿሴu="'a\b€ÿሴu+array('u', '\x00="\'a\\b\x80ÿ\x00\x01ሴ'))	rrrrrrry�sizeof_wcharr�)rrrr	r	r
rqJs



	zUnicodeTest.test_unicodecCs^tdkrd}n
|jd�tjd|�}|jt|j�|jtt|�dS)Nr s����zspecific to 32-bit wchar_tr)r,rrrrrr;)rZinvalid_strrr	r	r
�test_issue17223^s	
zUnicodeTest.test_issue17223N)rrrrr}r�r�r;r�rzrqr-r	r	r	r
r)Bsr)c@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�
NumberTestc	Cstj|jtd��}|j|dd�|�|j|ddd�tj|jdddg��|j|ddd�tj|jddg��|j|ddd
�tj|jdddddg��|j|ddd�tj|jdddg��|j|ddd�tj|jddg��|j|d
d�|�|j|ddd�|ddd��|j|ddd�tj|jdddg��|j|dd	d�tj|jg��|j|ddd�tj|jg��dS)Nr!rrr rrr�i�i�rNr�r�i����i����rNrNi����i���i0���r�)rrr�r)rrr	r	r
�
test_extslicels52;52*5,zNumberTest.test_extslicec
Cs�tj|jtd��}|ddd�=|j|tj|jddg��tj|jtd��}|ddd�=|j|tj|jdddg��tj|jtd��}|ddd�=|j|tj|jddddg��tj|jtd��}|ddd�=|j|tj|jdddddd	d
ddg	��tj|jtd��}|ddd�=dS)Nr!rrrrr r&i�r"r#r$r%iMr�l)rrr�r)rrr	r	r
�
test_delslicezs%(+:zNumberTest.test_delslicecCs�tj|jtd��}tj|jdgd�|ddd�<|j|tj|jddddddddddg
��tj|jtd��}tj|jdgd�|ddd
�<|j|tj|jd
dddd	dddddg
��tj|jtd	��}||ddd�<|j|tj|jdddd
g��tj|jtd��}|dd�}|dd�}tj|jtd��}||dd�<||tdd�<||dd�<dS)Nr&rr!rrrr#r%r rr"r$���rN)rrr�rr�)rrr4r�Zinsr	r	r
�test_assignment�s )=)=+zNumberTest.test_assignmentcCs�tj|jtd��}|jt|�ttd���tj|jdg�}|j|d|kd�|j|d|kd�dS)Nr&r0rTrrN)rrr�rr�)rrr4r	r	r
�test_iterationcontains�s
"z!NumberTest.test_iterationcontainscCs�tj|j|g�}||d<|jttj|j|dg�|jt|jd|d�tj|j|g�}||d<|jttj|j|dg�|jt|jd|d�dS)Nrr)rrrrdr�)r�lower�upperrr	r	r
�check_overflow�s
#
#zNumberTest.check_overflowcCst|j}Gdd�dtj�}||jddddgd�}|j|dd�|jtt|d	d
�dS)Nc@s=eZdZdgZdd�Zdd�Zdd�ZdS)	z6NumberTest.test_subclassing.<locals>.ExaggeratingArray�offsetcSstjj|||�S)N)r�__new__)�clsrr�r7r	r	r
r8�sz>NumberTest.test_subclassing.<locals>.ExaggeratingArray.__new__cSs
||_dS)N)r7)rrr�r7r	r	r
r
�sz?NumberTest.test_subclassing.<locals>.ExaggeratingArray.__init__cSstjj||�|jS)N)rr�r7)rrEr	r	r
r��szBNumberTest.test_subclassing.<locals>.ExaggeratingArray.__getitem__N)rrr�	__slots__r8r
r�r	r	r	r
�ExaggeratingArray�s	r;rr"r#r'r rZcolorZblue)rrrur�AttributeError�setattr)rrr;rr	r	r
�test_subclassing�s
	!zNumberTest.test_subclassingcCsAtjdtd��}tj|j|�}|j||�dS)Nr4r&)rr�rr)rrr4r	r	r
�test_frombytearray�szNumberTest.test_frombytearrayN)
rrrr/r0r2r3r6r>r?r	r	r	r
r.jsr.c@seZdZdd�ZdS)�IntegerNumberTestcCshtj|j�}|jd�|jt��|jd�WdQRX|jt��d|d<WdQRXdS)NrgE@r)rrr|rr)rrr	r	r
�test_type_error�s
z!IntegerNumberTest.test_type_errorN)rrrrAr	r	r	r
r@�sr@c@s@eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�IntablecCs
||_dS)N)�_num)r�numr	r	r
r
�szIntable.__init__cCs|jS)N)rC)rr	r	r
�__int__�szIntable.__int__cCstt|�t|��S)N)rBr�)r�otherr	r	r
�__sub__�szIntable.__sub__cCstt|�t|��S)N)rBr�)rrFr	r	r
r��szIntable.__add__N)rrrr
rErGr�r	r	r	r
rB�srBc@saeZdZdddddgZdddddgZd
ddddgZdZdd	�Zd
S)�SignedNumberTestrrrrB�~�+�cCs�tj|j�}dttd|jdd��}ttd|jdd��d}|j||�|jt|�t|��dS)Nrrr$rN)rrr��powryr6rB)rrr4r5r	r	r
�
test_overflow�s
$$zSignedNumberTest.test_overflowNrNrNrN)rrrr}r�r�r�rMr	r	r	r
rH�s
rHc@sveZdZddddddgZddddddgZddddddgZd	Zd
d�Zdd
�ZdS)�UnsignedNumberTestrrr-rKrrC�rJ�cCshtj|j�}d}ttd|jd��d}|j||�|jt|�t|��dS)Nrrr$r)rrr�rLryr6rB)rrr4r5r	r	r
rM�s
 z UnsignedNumberTest.test_overflowc	Cs�t|j�}tj|j|j�}|j|�|j|tj|j|j|j��tj|j|j�}|jtt|���|j|tj|j|j|jddd���dS)NrrN)�bytesr}rrr�rr��reversed)rrrr	r	r
�test_bytes_extend�s
 z$UnsignedNumberTest.test_bytes_extendN)	rrrr}r�r�r�rMrSr	r	r	r
rN�srNc@seZdZdZdZdS)�ByteTestr4rN)rrrrrzr	r	r	r
rTsrTc@seZdZdZdZdS)�UnsignedByteTestrrN)rrrrrzr	r	r	r
rUsrUc@seZdZdZdZdS)�	ShortTestrDrN)rrrrrzr	r	r	r
rVsrVc@seZdZdZdZdS)�UnsignedShortTestr>rN)rrrrrzr	r	r	r
rWsrWc@seZdZdZdZdS)�IntTestrErN)rrrrrzr	r	r	r
rXsrXc@seZdZdZdZdS)�UnsignedIntTestr?rN)rrrrrzr	r	r	r
rYsrYc@seZdZdZdZdS)�LongTestrFr N)rrrrrzr	r	r	r
rZ#srZc@seZdZdZdZdS)�UnsignedLongTestr@r N)rrrrrzr	r	r	r
r['sr[zneed long long supportc@seZdZdZdZdS)�LongLongTest�qr$N)rrrrrzr	r	r	r
r\+sr\c@seZdZdZdZdS)�UnsignedLongLongTest�Qr$N)rrrrrzr	r	r	r
r^0sr^c@smeZdZd
ddddgZdddddgZdddddgZdZdd	�Zd
d�ZdS)�FPTestgE@rrgj�@g _�Bg _�BrKcCs|j||�dS)N)ZassertAlmostEqual)rrsrtr	r	r
ru;szFPTest.assertEntryEqualcCs�tj|j|j�}|jt|jd�|jdkr�tj|j|j�}|j�|jdkr�|j||�n|j|j	�|j	��|j�|j||�dS)Nrrrr r$)rrr r$)
rrr}rrr�ryrr�r�)rrr4r	r	r
r�>s

zFPTest.test_byteswapNgE�g _��gE�g _��gE�)	rrrr}r�r�r�rur�r	r	r	r
r`5sr`c@seZdZdZdZdS)�	FloatTestrKr N)rrrrrzr	r	r	r
raNsrac@s(eZdZdZdZdd�ZdS)�
DoubleTestr8r$cCs�ddlm}tjdd
gd�}y||dd9}Wntk
rSYnX|jd�tjddddg�}y||d	dWntk
r�YnX|jd�dS)Nr)�maxsizer8riz6Array of size > maxsize created - MemoryError expectedg�II�
�@g���S�!	@rrNrN)rrcr�MemoryErrorZfail)rrcrr4r	r	r
�test_alloc_overflowVs


zDoubleTest.test_alloc_overflowN)rrrrrzrer	r	r	r
rbRsrb�__main__)Hr$Ztestrrr�r�io�mathrbrr�rrr:�calcsizeZhave_long_long�errorryr,rrrvZTestCaserr<rOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r_r`rarkrlrmrnr2rrr&r)r.r@rBrHrNrTrUrVrWrXrYrZr[ZskipIfr\r^r`rarbr�mainr	r	r	r
�<module>s�


d����(b