Your IP : 216.73.216.213


Current Path : /proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/
Upload File :
Current File : //proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/test_array.cpython-34.pyc

�
g f>��@sdZddlZddlmZddlZddlZddlZddlZddlZddl	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
Zer0ed7ZnGdd�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�d3e4�Z6Gd4d5�d5e5ej�Z7Gd6d7�d7e6ej�Z8Gd8d9�d9e5ej�Z9Gd:d;�d;e6ej�Z:Gd<d=�d=e5ej�Z;Gd>d?�d?e6ej�Z<Gd@dA�dAe5ej�Z=GdBdC�dCe6ej�Z>ej?edD�GdEdF�dFe5ej��Z@ej?edD�GdGdH�dHe6ej��ZAGdIdJ�dJe4�ZBGdKdL�dLeBej�ZCGdMdN�dNeBej�ZDeEdOkrejF�ndS)Pz(Test the arraymodule.
   Roger E. Masse
�N)�support)�_array_reconstructorz@qTF�uc@seZdZdS)�
ArraySubclassN)�__name__�
__module__�__qualname__�r	r	�4/opt/alt/python34/lib64/python3.4/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@seZdZdd�ZdS)�BadConstructorTestcCs\|jttj�|jttjdd�|jttjd�|jttjd�dS)NZspam�*Zxx�x)�assertRaises�	TypeErrorr�
ValueError)rr	r	r
�test_constructor+sz#BadConstructorTest.test_constructorN)rrrrr	r	r	r
r)s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_errorPs 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)mN�B�H�I�Lz=BBBB��r�r/�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>ffffr3z<ddddg�?Cz>dddd�msgz{0!r} != {1!r}; testcase={2!r}i����i���i���lli���ll��lli���ll�����i�li���rJi�li���lli���ll��lli���ll��rJi�li���rJi�li���lll����ll����lll����ll����rJl����ll����rJl����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�
OverflowErrorr5�assertEqual�format)r�	testcases�testcaseZvalid_typecodes�mformat_codeZ
struct_fmt�valuesZarraystrr�ar/r	r	r
�test_numbersbsp$


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-BErrIz{0!r} != {1!r}; testcase={2!r})	�UTF16_LE�UTF16_BE�UTF32_LE�UTF32_BErr5�encoder`ra)rZteststrrbrcrd�encodingrfr/r	r	r
�test_unicode�s			
z#ArrayReconstructorTest.test_unicodeN)rrrr8rgrnr	r	r	r
r-Ns?r-c@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:dgS)h�BaseTestcCs|j||�dS)N)r`)r�entry1�entry2r	r	r
�assertEntryEqual�szBaseTest.assertEntryEqualcCs"ttj|j�dtt�S)Nr)�	typecodes�indexr�len)rr	r	r
�badtypecode�szBaseTest.badtypecodecCs^tj|j�}|j|j|j�|j|j|j�|jttj|jd�dS)N)rrr`ZassertGreaterEqual�itemsize�minitemsizerr)rrfr	r	r
r�szBaseTest.test_constructorcCswtj|j�}|j|jd�|jt|�d�tj|j|j�}|jt|�t|j��dS)Nrr)rr�append�exampler`ru)rrfr	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rrzrr�buffer_infoZassertIsInstance�tupler`ru�int)rrfZbir	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||�ndS)	Nru􀄀rrrrr)rrrr)	rrzrrr�byteswaprwr`�assertNotEqual)rrzrfr/r	r	r
�
test_byteswap�s		

zBaseTest.test_byteswapcCscddl}tj|j|j�}|j|�}|jt|�t|��|j||�dS)Nr)�copyrrrzr��idr`)rr�rfr/r	r	r
�	test_copy�s
zBaseTest.test_copycCscddl}tj|j|j�}|j|�}|jt|�t|��|j||�dS)Nr)r�rrrz�deepcopyr�r�r`)rr�rfr/r	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rrz�range�assertIs�
__reduce_ex__�pickle�HIGHEST_PROTOCOLr5)rrf�protocolr	r	r
�test_reduce_ex�s
$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rrz�loads�dumpsr�r�r`rr�type)rr�rfr/r	r	r
�test_pickles	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�r`rrr�)rr�rfr/r	r	r
�test_pickle_for_empty_arrays	z$BaseTest.test_pickle_for_empty_arraycCs�tj|j|j�}x�ttjd�D]�}t|�}tj||�}tj|�}|j	t
|�t
|��|j	t|�t|��t|�r,tj|�}t
|�tj||�}|j	t|�t|�dd��q,q,WdS)Nr)rrrzr�r�r��iterr�r�r`r��listru�next)r�data�protoZorgitr3�itr	r	r
�test_iterator_pickles
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�rJrJrJi���)rrrz�insertr`rurr)rrfr	r	r
�test_insert-s0#9*zBaseTest.test_insertcCs\tj|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|jsG|j
�ntjtj�XdS)Nr�wb�rbr)rrrzrrZtofiler�unlink�TESTFN�open�close�fromfilerur`r��EOFError�closed)rrfrGr/r	r	r
�test_tofromfileNs&

"&	
zBaseTest.test_tofromfilecCsltj|j�}ttjd�}z&|jt|j|t|j	��Wd|j
�tjtj�XdS)Nr�)rrr�rr�r�OSErrorr�rurzr�r�)rrfrGr	r	r
�test_fromfile_ioerrords&
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�ntj
tj�XdS)Nrr�r�)rrrzr�rr��writer�r�rur`r�r�r�)rrfrGr/r	r	r
�test_filewriteos 

"	
zBaseTest.test_filewritecCs�tj|jd|j�}tj|j�}|jt|jd�|jt|j�|jt|jd�|jt|jdg�|j|j��|j||�dS)Nrr)rrrzrr�tolist�fromlistr`)rrfr/r	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}nWdQX|jt|�|�dS)Nr�recordT�always�messagez!(to|from)string\(\) is deprecated�categoryrrrr)�warnings�catch_warnings�filterwarnings�DeprecationWarningrrrzrrZtostringZ
fromstringr`rwrru)rZnb_warnings�rrfr/r	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�ndS)Nrrr�x)rrrzrr�tobytes�	frombytes�	bytearrayr`rwr)rrfr/�cr	r	r
�test_tofrombytes�s!zBaseTest.test_tofrombytescCsAtj|j|j�}tj|j|�}|j||�dS)N)rrrzr`)rrfr/r	r	r
�test_fromarray�szBaseTest.test_fromarraycCsxtj|jd|j�}|j|tt|�itjd6��tj|j�}|jt|�d|j�dS)Nrrzarray('%s'))rrrzr`�eval�repr)rrfr	r	r
�	test_repr�s)zBaseTest.test_reprcCs*tj|jd|j�}t|�dS)Nr)rrrzr6)rrfr	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rrzr��smallerexample�
biggerexample)rrfZalZabr	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�badrJrJ)rrrzr`rvrr�__add__)rrfr/r	r	r
�test_add�s&-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�rJrJ)
rrrzr�r`rvrrr��__iadd__)rrfr/r	r	r
�	test_iadd�s% 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)Nrrrr�rJ)rrrzr`rr�__mul__)rrfr	r	r
�test_muls*&!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)Nrri�rr�rJrJ)rrrzr�r`rr�__imul__)rrfr/r	r	r
�	test_imul"s(




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)NrrrJrJrJrJrJ)	rrrzrrrurr�__getitem__�
IndexError)rrfr	r	r
�test_getitem?s(%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)NrrrJrJrJrJrJrJrJrJrJrJrJ)	rrrzrrrurr�__setitem__r�)rrfr	r	r
�test_setitemKs: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)NrrrJrJrJ)	rrrzr`rurr�__delitem__r�)rrfr	r	r
�test_delitemrs0####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�rJrJrJrJrJrJi���i���i���)rrrzr`)rrfr	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*�drrCrJ���������)
rNrrr*r�rJr�r�r�)rrrzr`r�)rrf�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�rJrJrJrJrJrJi���i���)	rrrzr`rrr��slicerv)rrfr/r	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�rrCrJr�������)
rNrrr*r�rJr�r�r�)rrrzr��reverser`)rr�r�r�r�rfr<r�r	r	r
�test_extended_set_del_slice+s


"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)	rzrrrrrtr`r�outside)rrzrfrr	r	r
�
test_index?s

&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)rzrrrr�countr`r�)rrzrfrr	r	r
�
test_countHs

&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)	rzrrrt�remover`rrr�)rrrzrf�posZexample2r	r	r
�test_removeQs
"
#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)NrrrrrrJrJ)
rrrr��poprzrrurrr`)rrfr	r	r
�test_pop_s(! * ; zBaseTest.test_popcCsktj|j|j�}|jt|jd�|j�|j|tj|j|jddd���dS)NrrrJ)rrrzrrr�r`)rrfr	r	r
�test_reversezs
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)NrrJrJrJrJ)rrrzrr�extendr`rv)rrfr/r	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
r9�sz;BaseTest.test_constructor_with_iterable_argument.<locals>.B)rrr�rzr`rrr�)rrfr/r�r9r	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�ryZcollect)rr�rfrBr	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�|�n|jttj|d�|j|j�|�|jttj|d�|j|j�|�|jttj|tdd�|�|j|j�|�|jttj|d�|j|j�|�|jttj|tdd��|j|j�|�dS)Nrrrr)rrrz�
memoryviewr�r`r�BufferErrorryr�r�r�r�r�r��fromunicode�	tounicode�operator�imul�setitemr��delitem)rrf�mZexpectedr	r	r
�test_buffer�s< %"zBaseTest.test_buffercCs`tj|j|j�}tj|�}|j|j�|j��d}|jtt	|�dS)N)
rrrz�weakref�proxyr`r�r�ReferenceErrorru)r�s�pr	r	r
�test_weakref�s
zBaseTest.test_weakref�getrefcountztest needs sys.getrefcount()cCs�x,td�D]}tjdtd��}q
Wtjd�}x,td�D]}tjdtd��}qKW|j|tjd��dS)Nr!r9rF)r�r�sysr
r`)rrAr/�rcr	r	r
�test_bug_782369�szBaseTest.test_bug_782369cCstddd�dS)Nr/rr)r)rr	r	r
�test_subclass_with_kwargs�sz"BaseTest.test_subclass_with_kwargscCs3tjdd�}|jt|�|jd�dS)Nr:s1234r)rr`rurw)rrfr	r	r
�test_create_from_bytes�szBaseTest.test_create_from_bytescCsYtj|j|j�}tjd�}|j�d|j}tj||||�dS)N�Pn2Pir)rrrzr�calcvobjsizer|rw�check_sizeof)rrf�basesizeZbuffer_sizer	r	r
�test_sizeof_with_buffer�sz BaseTest.test_sizeof_with_buffercCs8tj|j�}tjd�}tj|||�dS)Nr)rrrrr)rrfrr	r	r
�test_sizeof_without_buffersz#BaseTest.test_sizeof_without_buffercCs�|jdkr�|jt��}tj|jd�}WdQX|jdt|j��|jt��(}tj|jtjdd��}WdQX|jdt|j��n6tj|jd�}tj|jtjdd��}dS)Nr�foozcannot use a strzcannot use a unicode array)rrrrZassertInr6Z	exception)r�cmrfr	r	r
�test_initialize_with_unicodes'z%BaseTest.test_initialize_with_unicodeN);rrrrrrvrr{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	�unittestZ
skipUnless�hasattrrr
rrrZcpython_onlyrrrr	r	r	r
ro�sf	
!

$
!'"2Y			
#	rocs"eZdZ�fdd�Z�S)�
StringTestcsOt�j�tj|j|j�}|jt|jd|jdd��dS)Nrr)�superr�rrrzrrr�)rrf)�	__class__r	r
r�s
zStringTest.test_setitem)rrrr�r	r	)rr
rsrc@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)Nr/rru Âሴ� r.u	abcÿሴu Âሴ abcÿሴu="'a\b€ÿሴu+array('u', '\x00="\'a\\b\x80ÿ\x00\x01ሴ'))	rrrr�r�r`rw�sizeof_wcharr�)rrfrr	r	r
rn"s



	zUnicodeTest.test_unicodecCs^tdkrd}n
|jd�tjd|�}|jt|j�|jtt|�dS)Nrs����zspecific to 32-bit wchar_tr)r!r�rrrr�r6)rZinvalid_strrfr	r	r
�test_issue172236s	
zUnicodeTest.test_issue17223N)rrrrrzr�r�r6r�rxrnr"r	r	r	r
rsrc@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)Nrrrrrrr�i�i�rJr�r�i����i����rJrJi����i���i0���r�)rrr�r`)rrfr	r	r
�
test_extsliceDs52;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)Nrrrrrrr!i�rrrr iMr�l)rrr�r`)rrfr	r	r
�
test_delsliceRs%(+: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!rrrrrrr rrrr���rJ)rrr�r`r�)rrfr/r�Zinsr	r	r
�test_assignmentcs )=)=+zNumberTest.test_assignmentcCs�tj|jtd��}|jt|�ttd���tj|jdg�}|j|d|kd�|j|d|kd�dS)Nr!r+rTrrJ)rrr�r`r�)rrfr/r	r	r
�test_iterationcontainsus
"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rrr_r�)r�lower�upperrfr	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�r,r	r	r
r-�sz>NumberTest.test_subclassing.<locals>.ExaggeratingArray.__new__cSs
||_dS)N)r,)rrr�r,r	r	r
r
�sz?NumberTest.test_subclassing.<locals>.ExaggeratingArray.__init__cSstjj||�|jS)N)rr�r,)rrAr	r	r
r��szBNumberTest.test_subclassing.<locals>.ExaggeratingArray.__getitem__N)rrr�	__slots__r-r
r�r	r	r	r
�ExaggeratingArray�s	r0rrrr"rrZcolorZblue)rrrrr�AttributeError�setattr)rrr0rfr	r	r
�test_subclassing�s
	!zNumberTest.test_subclassingcCsAtjdtd��}tj|j|�}|j||�dS)Nr/r!)rr�rr`)rrfr/r	r	r
�test_frombytearray�szNumberTest.test_frombytearrayN)
rrrr$r%r'r(r+r3r4r	r	r	r
r#Bsr#c@saeZdZdddddgZdddddgZd
ddddgZdZdd	�Zd
S)�SignedNumberTestrrrr>�~�+�cCsntj|j�}dttd|jdd��}ttd|jdd��d}|j||�dS)NrrrrJ)rrr~�powrwr+)rrfr)r*r	r	r
�
test_overflow�s$$zSignedNumberTest.test_overflowNrJrJrJ)rrrrzr�r�r�r:r	r	r	r
r5�s
r5c@sveZdZddddddgZddddddgZddddddgZd	Zd
d�Zdd
�ZdS)�UnsignedNumberTestrrr(r8rr?�r7�cCsLtj|j�}d}ttd|jd��d}|j||�dS)Nrrrr)rrr~r9rwr+)rrfr)r*r	r	r
r:�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)NrrJ)�bytesrzrrr�r`r��reversed)rrrfr	r	r
�test_bytes_extend�s
 z$UnsignedNumberTest.test_bytes_extendN)	rrrrzr�r�r�r:r@r	r	r	r
r;�sr;c@seZdZdZdZdS)�ByteTestr/rN)rrrrrxr	r	r	r
rA�srAc@seZdZdZdZdS)�UnsignedByteTestr9rN)rrrrrxr	r	r	r
rB�srBc@seZdZdZdZdS)�	ShortTestr@rN)rrrrrxr	r	r	r
rC�srCc@seZdZdZdZdS)�UnsignedShortTestr:rN)rrrrrxr	r	r	r
rD�srDc@seZdZdZdZdS)�IntTestrArN)rrrrrxr	r	r	r
rE�srEc@seZdZdZdZdS)�UnsignedIntTestr;rN)rrrrrxr	r	r	r
rF�srFc@seZdZdZdZdS)�LongTestrBrN)rrrrrxr	r	r	r
rG�srGc@seZdZdZdZdS)�UnsignedLongTestr<rN)rrrrrxr	r	r	r
rH�srHzneed long long supportc@seZdZdZdZdS)�LongLongTest�qrN)rrrrrxr	r	r	r
rI�srIc@seZdZdZdZdS)�UnsignedLongLongTest�QrN)rrrrrxr	r	r	r
rK�srKc@smeZdZd
ddddgZdddddgZdddddgZdZdd	�Zd
d�ZdS)�FPTestgE@rrgj�@g _�Bg _�Br8cCs|j||�dS)N)ZassertAlmostEqual)rrprqr	r	r
rr�szFPTest.assertEntryEqualcCs�tj|j|j�}|jt|jd�|jdkr�tj|j|j�}|j�|jdkr�|j||�n|j|j	�|j	��|j�|j||�ndS)Nrrrrr)rrrr)
rrrzrrr�rwr`r�r�)rrfr/r	r	r
r�s

zFPTest.test_byteswapNgE�g _��gE�g _��gE�)	rrrrzr�r�r�rrr�r	r	r	r
rM�srMc@seZdZdZdZdS)�	FloatTestrGrN)rrrrrxr	r	r	r
rNsrNc@s(eZdZdZdZdd�ZdS)�
DoubleTestr3rcCs�ddlm}tjdd
gd�}y||dd9}Wntk
rSYnX|jd�tjddddg�}y||d	dWntk
r�YnX|jd�dS)Nr)�maxsizer3riz6Array of size > maxsize created - MemoryError expectedg�II�
�@g���S�!	@rrJrJ)rrPr�MemoryErrorZfail)rrPrfr/r	r	r
�test_alloc_overflows


zDoubleTest.test_alloc_overflowN)rrrrrxrRr	r	r	r
rOsrO�__main__)G�__doc__rZtestrrr�r��ioZmathr^rr�rrr5ZcalcsizeZhave_long_long�errorrwr!rrrsZTestCaserr7rKrLrMrNrOrPrQrRrSrTrUrVrWrXrYr[r\r]rhrirjrkr-rorrr#r5r;rArBrCrDrErFrGrHZskipIfrIrKrMrNrOr�mainr	r	r	r
�<module>s�



d���d(b