Your IP : 216.73.216.85


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.pyc



��Yf���@s@dZddlZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlm
Zye	jd�dZWne	jk
r�dZYnXejd�jZGd	d
�d
ej�ZGdd�dej�Zd
Zer-ed7ZGdd�dej�ZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)d Z*d!Z+d"Z,d#Z-d$Z.d%Z/Gd&d'�d'ej�Z0Gd(d)�d)�Z1Gd*d+�d+e1�Z2Gd,d-�d-e2ej�Z3Gd.d/�d/e1�Z4Gd0d1�d1e4�Z5Gd2d3�d3�Z6Gd4d5�d5e5�Z7Gd6d7�d7e5�Z8Gd8d9�d9e7ej�Z9Gd:d;�d;e8ej�Z:Gd<d=�d=e7ej�Z;Gd>d?�d?e8ej�Z<Gd@dA�dAe7ej�Z=GdBdC�dCe8ej�Z>GdDdE�dEe7ej�Z?GdFdG�dGe8ej�Z@ejAedH�GdIdJ�dJe7ej��ZBejAedH�GdKdL�dLe8ej��ZCGdMdN�dNe4�ZDGdOdP�dPeDej�ZEGdQdR�dReDej�ZFeGdSkr<ejH�dS)Tz(Test the arraymodule.
   Roger E. Masse
�N)�support)�_array_reconstructorz@qTF�uc@seZdZdS)�
ArraySubclassN)�__name__�
__module__�__qualname__�r	r	�4/opt/alt/python35/lib64/python3.5/test/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�structZpackr�
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:�encoderrd)rZteststrrerfrg�encodingrr4r	r	r
�test_unicode�s			
z#ArrayReconstructorTest.test_unicodeN)rrrr=rirpr	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�byteswaprxr�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|rrZtofiler�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|rrZtostringZ
fromstringrrxrr)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�	bytearrayrrxr)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)rrZalZabr	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|rrwrr�__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�rrwrrr��__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|rtrrr�__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|rtrrr�__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��slicerw)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rrrrvrr�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rrv�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|rrrtr)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�extendrrw)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�sysr
r)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rrrx)rrr	r	r
�test_create_from_bytesszBaseTest.test_create_from_bytescCsYtj|j|j�}tjd�}|j�d|j}tj||||�dS)N�Pn2Pir)rrr|r�calcvobjsizer~rx�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;Z	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	_testcapirrrr�)rrrr	r	r
�test_obsolete_write_lock5sz!BaseTest.test_obsolete_write_lockN)<rrrrtrwrzr}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�hasattrrrrrrZcpython_onlyrrrrr	r	r	r
rq�sh	
&!

$
!'"2Y			
#	rqcs"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r�rrrx�sizeof_wcharr�)rrr
r	r	r
rpJs



	zUnicodeTest.test_unicodecCs^tdkrd}n
|jd�tjd|�}|jt|j�|jtt|�dS)Nr s����zspecific to 32-bit wchar_tr)r&r�rrrrr;)rZinvalid_strrr	r	r
�test_issue17223^s	
zUnicodeTest.test_issue17223N)rrrrr|r�r�r;r�ryrpr'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rrrcr�)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�r1r	r	r
r2�sz>NumberTest.test_subclassing.<locals>.ExaggeratingArray.__new__cSs
||_dS)N)r1)rrr�r1r	r	r
r
�sz?NumberTest.test_subclassing.<locals>.ExaggeratingArray.__init__cSstjj||�|jS)N)rr�r1)rrEr	r	r
r��szBNumberTest.test_subclassing.<locals>.ExaggeratingArray.__getitem__N)rrr�	__slots__r2r
r�r	r	r	r
�ExaggeratingArray�s	r5rr"r#r'r rZcolorZblue)rrrtr�AttributeError�setattr)rrr5rr	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)r*r,r-r0r8r9r	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)rrrr;r	r	r	r
r:�sr:c@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<�sr<c@saeZdZdddddgZdddddgZd
ddddgZdZdd	�Zd
S)�SignedNumberTestrrrrB�~�+�cCs�tj|j�}dttd|jdd��}ttd|jdd��d}|j||�|jt|�t|��dS)Nrrr$rN)rrr��powrxr0r<)rrr.r/r	r	r
�
test_overflow�s
$$zSignedNumberTest.test_overflowNrNrNrN)rrrr|r�r�r�rFr	r	r	r
rA�s
rAc@sveZdZddddddgZddddddgZddddddgZd	Zd
d�Zdd
�ZdS)�UnsignedNumberTestrrr-rDrrC�rC�cCshtj|j�}d}ttd|jd��d}|j||�|jt|�t|��dS)Nrrr$r)rrr�rErxr0r<)rrr.r/r	r	r
rF�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)rr
rr	r	r
�test_bytes_extend�s
 z$UnsignedNumberTest.test_bytes_extendN)	rrrr|r�r�r�rFrLr	r	r	r
rG�srGc@seZdZdZdZdS)�ByteTestr4rN)rrrrryr	r	r	r
rMsrMc@seZdZdZdZdS)�UnsignedByteTestrrN)rrrrryr	r	r	r
rNsrNc@seZdZdZdZdS)�	ShortTestrDrN)rrrrryr	r	r	r
rOsrOc@seZdZdZdZdS)�UnsignedShortTestr>rN)rrrrryr	r	r	r
rPsrPc@seZdZdZdZdS)�IntTestrErN)rrrrryr	r	r	r
rQsrQc@seZdZdZdZdS)�UnsignedIntTestr?rN)rrrrryr	r	r	r
rRsrRc@seZdZdZdZdS)�LongTestrFr N)rrrrryr	r	r	r
rS#srSc@seZdZdZdZdS)�UnsignedLongTestr@r N)rrrrryr	r	r	r
rT'srTzneed long long supportc@seZdZdZdZdS)�LongLongTest�qr$N)rrrrryr	r	r	r
rU+srUc@seZdZdZdZdS)�UnsignedLongLongTest�Qr$N)rrrrryr	r	r	r
rW0srWc@smeZdZd
ddddgZdddddgZdddddgZdZdd	�Zd
d�ZdS)�FPTestgE@rrgj�@g _�Bg _�BrDcCs|j||�dS)N)ZassertAlmostEqual)rrrrsr	r	r
rt;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�rxrr�r�)rrr4r	r	r
r�>s

zFPTest.test_byteswapNgE�g _��gE�g _��gE�)	rrrr|r�r�r�rtr�r	r	r	r
rY5srYc@seZdZdZdZdS)�	FloatTestrKr N)rrrrryr	r	r	r
rZNsrZc@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)rr\r�MemoryErrorZfail)rr\rr4r	r	r
�test_alloc_overflowVs


zDoubleTest.test_alloc_overflowN)rrrrryr^r	r	r	r
r[Rsr[�__main__)I�__doc__rZtestrrr�r�ioZmathrbrr�rrr:ZcalcsizeZhave_long_long�errorrxr&rrruZTestCaserr<rOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r_r`rarjrkrlrmr2rqr r#r(r:r<rArGrMrNrOrPrQrRrSrTZskipIfrUrWrYrZr[r�mainr	r	r	r
�<module>s�


d����(b