Your IP : 216.73.216.213


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



��Yf���@s_dZddlmZddlmZmZmZmZddlZddl	Z	ddl
Z
ddlZdZdZ
dZGdd	�d	�ZGd
d�deje�ZGdd
�d
eje�ZGdd�deje�ZGdd�dej�ZGdd�dej�Zdd�Zedkr[ee
j�dkrTeje
jd�e�dS)a�Bigmem tests - tests for the 32-bit boundary in containers.

These tests try to exercise the 32-bit boundary that is sometimes, if
rarely, exceeded in practice, but almost never tested.  They are really only
meaningful on 64-bit builds on machines with a *lot* of memory, but the
tests are always run, usually with very low memory limits to make sure the
tests themselves don't suffer from bitrot.  To run them for real, pass a
high memory limit to regrtest, with the -M option.
�)�support)�
bigmemtest�_1G�_2G�_4GN���c@s eZdZdd�Zededdd�dd��Zededd	�d
d��Zededd	�dd
��Zededdd	�dd��Z	ededd	�dd��Z
ededd	�dd��Zededd	�dd��Zededd	�dd��Z
ededd	�dd��Zededd	�dd��Zededd	�dd��Zededd	�dd��Zededd	�d d!��Zededd	�d"d#��Zededdd�d$d%��Zededdd	�d&d'��Zededdd�d(d)��Zededdd	�d*d+��Zededd	�d,d-��Zededd	�d.d/��Zededdd�d0d1��Zededdd�d2d3��Zededd4�d5d6��Zeded7dd	ed8�d9d:��Zededd4�d;d<��Zededd	�d=d>��Z ededd�d?d@��Z!dAdB�Z"dCdD�Z#ededd	�dEdF��Z$eded7dd	�dGdH��Z%ededIdd�dJdK��Z&ede'd	ddL�dMdN��Z(ede'd	ddL�dOdP��Z)ededIdd	�dQdR��Z*ededd	�dSdT��Z+ededdd	�dUdV��Z,ededdd�dWdX��Z-dYS)Z�BaseStrTestcCs�|j}|jd�}|d�||}|j�}|j|t|�d�|j��|j|j|d��|�dS)Nz abc def ghi�-)�from_latin1�
capitalize�assertEqual�len�lstrip)�self�size�_�SUBSTR�sZcaps�r�5/opt/alt/python35/lib64/python3.5/test/test_bigmem.py�_test_capitalizeHs	
zBaseStrTest._test_capitalizer�
�memusercCs�|jd�}|j|�}|jt|�|�t|�t|�d}}t|�drl|d7}|j|||�|�|j|j�|j��dS)Nz abc def ghirr)r�centerrr�strip)rrrrZlpadsizeZrpadsizerrr�test_centerQs
zBaseStrTest.test_centerrcCs�|j}|d�}|d�||}|j|j|d��|�||d�7}|j|j|d��|d�|j|j|d��d�|j|j|d��d�|j|j|d��d�dS)	Nz abc def ghi�.r� ��i�jr)rr�count)rrrrrrrr�
test_count\s	#zBaseStrTest.test_countcCs�|j}|d�}|d�||}|j|j|��|j|j|��|d�|}|j|j|��|j|j|d�|��|j|j|��dS)Nz abc def ghirz...�a)r�
assertTrue�endswith�assertFalse)rrrrr�s2rrr�
test_endswithhs	 zBaseStrTest.test_endswithcCs�|j}|d�|}d}|j|j�|k�~t||�\}}|d�|}|j|�}|jt|�||�|jt|j|d���d�dS)Nr�z       	rr)rr&�
expandtabs�divmodrrr)rrrr�tabsizeZslenZ	remainderrrr�test_expandtabsts	zBaseStrTest.test_expandtabscCs�|j}|d�}t|�}|d�j||d�||g�}|j|j|d��d�|j|j|�d�|j|j|d�|�||�|j|j|t|��||�|j|j|d��|j|d���|j|j|d�|�|||j|d���|j|j|d�|�|||j|d���|j|j|d��d	�dS)
Nz abc def ghi�rrrr!r"r���)rr�joinr�find)rrrr�sublenrrrr�	test_find�s	(&&.zBaseStrTest.test_findcCs�|j}|d�}t|�}|d�j||d�||g�}|j|j|d��d�|j|j|�d�|j|j|d�|�||�|j|j||�||�|j|j|d��|j|d���|j|j|d�|�|||j|d���|j|j|d�|�|||j|d���|jt|j|d��dS)Nz abc def ghir0rrrr!r")rrr2r�index�assertRaises�
ValueError)rrrrr4rrrr�
test_index�s	(& .zBaseStrTest.test_indexcCsc|j}|d�}|d�||}|j|j��||d�7}|j|j��dS)N�123456r%r)rr&�isalnumr()rrrrrrrr�test_isalnum�s	zBaseStrTest.test_isalnumcCsc|j}|d�}|d�||}|j|j��||d�7}|j|j��dS)NZzzzzzzzr%r)rr&�isalphar()rrrrrrrr�test_isalpha�s	zBaseStrTest.test_isalphacCsc|j}|d�}|d�||}|j|j��||d�7}|j|j��dS)Nr:�9�z)rr&�isdigitr()rrrrrrrr�test_isdigit�s	zBaseStrTest.test_isdigitcCs�|j}|djdd�td�D���}|t|�d}||}|j|j��||d�7}|j|j��dS)Nr0css-|]#}t|�j�st|�VqdS)N)�chr�isupper)�.0�crrr�	<genexpr>�sz+BaseStrTest.test_islower.<locals>.<genexpr>�r�A)rr2�rangerr&�islowerr()rrr�chars�repeatsrrrr�test_islower�s		
zBaseStrTest.test_islowercCsm|j}|d�}|t|�d}||}|j|j��||d�7}|j|j��dS)Nz 

	rr")rrr&�isspacer()rrrZ
whitespacerMrrrr�test_isspace�s	
zBaseStrTest.test_isspacecCs�|j}|d�}|d�j|d�|d�||g�}|j|j��||d�7}|j|j��||d�7}|j|j��dS)Nr:r0rIr%ZaA)rr2r&�istitler()rrrrrrrr�test_istitle�s	.zBaseStrTest.test_istitlecCs�|j}|djdd�td�D���}|t|�d}||}|j|j��||d�7}|j|j��dS)Nr0css-|]#}t|�j�st|�VqdS)N)rCrK)rErFrrrrG�sz+BaseStrTest.test_isupper.<locals>.<genexpr>rHrr%)rr2rJrr&rDr()rrrrLrMrrrr�test_isupper�s		
zBaseStrTest.test_isuppercCs�|j}|d�|}|j|d�|d�g�}|j|j|d��d�|j|j|d��d�|j|j|d���|j|j|d���dS)	NrIZaaaaaZbbbbbr%��bZaaaaaAZAbbbbb)rr2rr#r&�
startswithr')rrrr�xrrr�	test_join�s	!zBaseStrTest.test_joincCsz|j}|d�}|j|�}|j|j||d���|jt|�|�|j|j�|j��dS)Nz abc def ghiz  )r�ljustr&rVrrr)rrrrrrrr�
test_ljust�s	 zBaseStrTest.test_ljustcCs^|j}|d�|}|j�}|jt|�|�|j|j|d��|�dS)NrIr%)r�lowerrrr#)rrrrrrr�
test_lower�s
	zBaseStrTest.test_lowercCs�|j}|d�}|j|�}|jt|�|�|j|j�|j��~|j|�}|jt|�|�t|ttf�r�|j�}|j	||k�dS)Nzabc def ghi)
r�rjustrrrrY�
isinstance�str�bytesr&)rrrrr�strippedrrr�test_lstrips	zBaseStrTest.test_lstripcCs�|j}|d�}|d�|}|j|d�|�}|jt|�|�|j|j|�|�|j||d�|d�}|jt|�|�|j|j|�d�|j|dd�|d��dS)Nr%rr	rz
      aaaai����)r�replacerrr#)rrrZreplacementrrrr�test_replaces	zBaseStrTest.test_replacecCs�|j}|d�}t|�}|d�j||d�||g�}|j|j|d��|||j|d���|j|j|�||�|j|j|d�d|�|j|d���|j|j|d||�d�|j|j|d��|||j|d���|j|j|d�d|�|j|d���|j|j|d�d||�|j|d���|j|j|d��d	�dS)
Nz abc def ghir0rrrr!r"rr1)rrr2r�rfind)rrrrr4rrrr�
test_rfind s	(64#64"zBaseStrTest.test_rfindcCs�|j}|d�}t|�}|d�j||d�||g�}|j|j|d��|||j|d���|j|j|�||�|j|j|d�d||d�|j|d���|j|j|d||�d�|j|j|d��|||j|d���|j|j|d�d|�|j|d���|j|j|d�d||�|j|d���|jt|j|d��dS)	Nz abc def ghir0rrrrr!r")rrr2r�rindexr7r8)rrrrr4rrrr�test_rindex0s 	(&#4"zBaseStrTest.test_rindexcCsz|j}|d�}|j|�}|j|j||d���|jt|�|�|j|j�|j��dS)Nz abc def ghiz  )rrYr&rVrrr)rrrrrrrr�
test_rjustCs	 zBaseStrTest.test_rjustcCs�|j}|d�}|j|�}|jt|�|�|j|j�|j��~|j|�}|jt|�|�t|ttf�r�|j�}|j	||k�dS)Nz abc def ghi)
rrYrr�rstripr]r^r_r`r&)rrrrrrarrr�test_rstripLs	zBaseStrTest.test_rstripg������@c	Cs|j}t|dd�}|d�|d�|}||}|j�}|jt|�|�|d�}x|D]}|j||�qvW~|j|d��}|jt|�|d�|d�|}x'td|�D]}|j||�q�WdS)Ng�?rr%rr)r�int�splitrr�filter)	rrr�	chunksizerr�l�expected�itemrrr�test_split_small^s	

zBaseStrTest.test_split_smallrTr+cCs�|j}|d�||d�}|j�}|jt|�|�|jt|�t|d�g��~|j|d��}|jt|�|d�|jt|�t|d�g��dS)Nz arr%r)rrmrr�set)rrrrrprrr�test_split_largexs	%zBaseStrTest.test_split_largec	Cs�|j}t|dd�d}|d�||d�|d�||d�}||d}|j�}|jt|�|d�|d�|}x|D]}|j||�q�WdS)Ng�?rr�
z
r	)rrl�
splitlinesrr)	rrrrorrrprqrrrrr�test_splitlines�s	2
zBaseStrTest.test_splitlinescCsy|j}|d�}|d�||}|j|j|��|j|j|d�|��|j|j|��dS)Nz abc def ghir)rr&rVr()rrrrrrrr�test_startswith�s	 zBaseStrTest.test_startswithcCs�|j}|d�}|j|�}|jt|�|�|j|j�|j��~|j|�}|jt|�|�|j|j�|j��dS)Nz   abc def ghi   )rr]rrrrY)rrrrrrrr�
test_strip�s	zBaseStrTest.test_stripcCs�|j}|d�}t|�}||d}||}|j�}|jt|�||�|j|d|d�|j�d�|j||dd�|j�d�dS)NuaBcDeFG12.'©rr )rr�swapcaser)rrrrr4rMrrrr�_test_swapcase�s	
(zBaseStrTest._test_swapcasecCs}|j}|d�}||t|�d}|j�}|j|j|dj���|j|j|j�d��dS)NZ
SpaaHAaaAahamrr )rr�titler&rVr'r[)rrrrrrrr�_test_title�s	 zBaseStrTest._test_titlecCs$|j}|d�}tjdd�}t|�}||d}||}|j|�}|jt|�||�|j|d|�|j|��|j||d�|j|��|j|j|d��d�|j|j|d��|d�|j|j|d��|d	�dS)
Nz
aZz.z.Aaz.s.aZs-!$rrr�!r@r )rr`�	maketransr�	translaterr#)rrrr�transr4rMrrrr�test_translate�s	
#$#zBaseStrTest.test_translatecCs^|j}|d�|}|j�}|jt|�|�|j|j|d��|�dS)Nr%rI)r�upperrrr#)rrrrrrr�
test_upper�s
	zBaseStrTest.test_upper�cCs�|j}|d�}|j|�}|j|j|d�|dd���|j|j|d���|jt|�|�|j|j|d��|t|��dS)Nz-568324723598234�0rz-0)r�zfillr&r'rVrrr#)rrrrrrrr�
test_zfill�s	*zBaseStrTest.test_zfillr cCsz|j}|d�|}|jt|�|�||}|jt|�|d�|j|j|d��|d�dS)Nrr)rrrr#)rrrrrrr�test_concat�s	
zBaseStrTest.test_concatcCsz|j}|d�|}|jt|�|�|d}|jt|�|d�|j|j|d��|d�dS)Nrr)rrrr#)rrrrrrr�test_repeat�s	
zBaseStrTest.test_repeatcCs7|j}|d�}t|�}|||}t|�d}|||}x�tdt|�||�D]�}|j|||d�|j||||�|�|j||||d�|ddd��|dkrj|j|||d|dd�||dd��qjW|j|t|�d|d
�|j|d|d�|j|t|�d|d�|j|||d�|j|t|�d�|d��|j|t|�dd�|dd��|j|dd�|dd��|j|t|�|d�|�|j||d�|�|jt|dd��t|��|jt|dt|�d	��t|�d	�|jt|d	d��t|�d�|jttj|t|��|jttj|t|�d�|jttj|t|�dd
>�dS)N�
0123456789�drrrr rr0rT����r�r1r1r1r1r1r1���)rrrJrr7�
IndexError�operator�getitem)rrrrr4rZstepsizer!rrr�test_slice_and_getitem�s8	#."""&.$$&4*#z"BaseStrTest.test_slice_and_getitemcCs�|j}|d�}|d�|d}|d�j|||g�}~|j||k�|j|d|k�|j|d�|k�|j|d�|k�||d�7}|j|d�|k�dS)Nr�rrr0r%)rr2r&r()rrrr�edgerrrr�
test_containss	zBaseStrTest.test_containscCs�|j}|d�|}|d�|}|j||k�~||d�}|j||k�~|d�|}|j||k�dS)Nrr%r)rr&r()rrr�s1r)rrr�test_compare"s	zBaseStrTest.test_comparecCsV|j}|d�|}t|�}~|d�|d}|j|t|��dS)N�r)r�hashZassertNotEqual)rrrr�h1rrr�	test_hash/s	zBaseStrTest.test_hashN).�__name__�
__module__�__qualname__rrrrr$r*r/r5r9r<r>rBrNrPrRrSrXrZr\rbrdrfrhrirkrs�ascii_char_sizerurxryrzr|r~r�r�r�rr�r�r�r�r�r�rrrrr
FsN	%!!%
!!!	!	!	!!
!!!
%	%%%
!!%	%!-!!	!!%%%%	%"!%
r
c@s�eZdZdd�Zdddd�Zdd�Zd	d
�Zedede	d
�dd��Z
edede	d
�dd��Zedede	d
�dd��Zededde
d�dd��Zededdde
e	d�dd��Zededdde
e	d�dd��Zededdde
e	d�d d!��Zededde
d�d"d#��Zeded$de
de	�d%d&��Zeded$de
d�d'd(��Zeded$de
d�d)d*��Zededddee	e
d�d+d,��Zededdde	de
d$�d-d.��Zedede
de	�d/d0��ZdS)1�StrTestcCs|S)Nr)rrrrrrAszStrTest.from_latin1rNc
CsM|dkr|}z-||}|jt|j|��|�Wdd}XdS)N)rr�encode)rr�encrF�expectedsizerrrr�basic_encode_testDs
#zStrTest.basic_encode_testcCs�i|_xztt�D]l}|jd�s.qtt|�|�}y
|j}Wntk
rgwYnXt||_||j|<qWdS)NZtest_)	�	_adjusted�dirr
rV�getattr�typer�AttributeErrorr�)r�name�methrrrr�setUpMs	


z
StrTest.setUpcCs<x5|jj�D]$\}}|tt|�|�_qWdS)N)r��itemsr�r�r)rr�rrrr�tearDown\szStrTest.tearDownrrr cCs|j|�dS)N)r)rrrrr�test_capitalize`szStrTest.test_capitalizecCs|j|�dS)N)r~)rrrrr�
test_titledszStrTest.test_titlecCs|j|�dS)N)r|)rrrrr�
test_swapcasehszStrTest.test_swapcaserrcCs|j|d�S)Nzutf-8)r�)rrrrr�test_encodeoszStrTest.test_encode�cCs-y|j|d�SWntk
r(YnXdS)NZraw_unicode_escape)r��MemoryError)rrrrr�test_encode_raw_unicode_escapess
z&StrTest.test_encode_raw_unicode_escaperT�FcCs-y|j|d�SWntk
r(YnXdS)N�utf7)r�r�)rrrrr�test_encode_utf7zs
zStrTest.test_encode_utf7r	cCs;y"|j|ddd|d�SWntk
r6YnXdS)N�utf32r�r	)r�r�)rrrrr�test_encode_utf32�s"
zStrTest.test_encode_utf32cCs|j|ddd�S)N�asciirFrI)r�)rrrrr�test_encode_ascii�szStrTest.test_encode_asciircCsd|}d|f}|j||k�~d|f}|jt|�t|�d�|j|jd��|j|jd��~~|d}d|}dj|d|g�}~|d	}|jt|�|dd
�|j|jd�d
�|j|jd�|d�dS)Nrz%sz..%s..r	z..-z-..rr0z...r r)r&rrrVr'r2r#)rrrZsfr�rrr�test_format�s"


 


zStrTest.test_formatcCsd|}t|�}|jt|�|d�|j|dd�|j|dd�|j|jd�|�~|dd}d|}t|�}|jt|�|dd�|j|dd�|j|dd�|j|jd	�|�|j|jd
�|d�dS)
Nrrr�'rrTr�r	�\r�r1r1)�reprrrr#)rrrrrr�test_repr_small�s

zStrTest.test_repr_smallcCs�d|}t|�}|jt|�|dd�|j|dd�|j|d	d�|j|jd�|�|j|jd�|d�dS)
Nr�r	rrr�rr�r�r1)r�rrr#)rrrrrr�test_repr_large�s
zStrTest.test_repr_largec
Cs�d}||}z~xwttfD]i}||�}|jt|�dt||��d|�|j|jd�|dd��d}q WWdd}}XdS)Nu�rz\udcba'ri����)r�r�rrr&r')rr�charr�f�rrrr�test_unicode_repr�s
.#zStrTest.test_unicode_reprc
Cs�d}||}z~xwttfD]i}||�}|jt|�dt||��d|�|j|jd�|dd��d}q WWdd}}XdS)Nu𝲺rz\U0001dcba'�i�)r�r�rrr&r')rrr�rr�r�rrr�test_unicode_repr_wide�s
.#zStrTest.test_unicode_repr_widecCs`|j}|d�}t|d��|d�t|d��|d�t|d��|d�i}t|�}||d}||}|j|�}|jt|�||�|j|d|�|j|��|j||d�|j|��|j|j|d��d	�|j|j|d��|d�|j|j|d
��|d�dS)Nz
aZz.z.Aaz.rrr%r�Z�$rrr@r )r�ordrr�rr#)rrrrr�r4rMrrrrr��s	
#$#zStrTest.test_translate)r�r�r�rr�r�r�rr�ucs4_char_sizer�r�r�r�r�rr�r�r�r�r�r�r��ucs2_char_sizer�r�r�rrrrr�?s&	%%%)111)-))!5r�c@s�eZdZdd�Zededdde�dd��Zededd�d	d
��Zededd�dd��Z	ededd�d
d��Z
dS)�	BytesTestcCs
|jd�S)Nzlatin-1)r�)rrrrrr�szBytesTest.from_latin1rrrrcCs6|jd�|}|jt|jd��|�dS)Nrzutf-8)rrr�decode)rrrrrr�test_decodeszBytesTest.test_decodecCs|j|�dS)N)r)rrrrrr�szBytesTest.test_capitalizecCs|j|�dS)N)r~)rrrrrr�szBytesTest.test_titlecCs|j|�dS)N)r|)rrrrrr�szBytesTest.test_swapcaseN)r�r�r�rrrr�r�r�r�r�rrrrr��s
)!!r�c@s�eZdZdd�Zededdde�dd��Zededd�d	d
��Zededd�dd��Z	ededd�d
d��Z
dZdZdS)�
BytearrayTestcCst|jd��S)Nzlatin-1)�	bytearrayr�)rrrrrrszBytearrayTest.from_latin1rrrrcCs6|jd�|}|jt|jd��|�dS)Nrzutf-8)rrrr�)rrrrrrr�szBytearrayTest.test_decodecCs|j|�dS)N)r)rrrrrr�szBytearrayTest.test_capitalizecCs|j|�dS)N)r~)rrrrrr�"szBytearrayTest.test_titlecCs|j|�dS)N)r|)rrrrrr�&szBytearrayTest.test_swapcaseN)
r�r�r�rrrr�r�r�r�r�r�rurrrrr�s)!!!r�c@s5eZdZededdd�dd��Zdd�Zededddd	�d
d��Zededdd	�dd
��Zededddd/�dd��Z	ededdd�dd��Z
ededdd�dd��Zdd�Zededddd	�dd��Z
ededdd	�dd��Zededdd�dd ��Zededdd!�d"d#��Zeded$dd!�d%d&��Zd'd(�Zeded)dddd)e�d*d+��Zededddd)e�d,d-��Zd.S)0�	TupleTestrrr�cCsod|}d|}|j||k�~d|d}|j||k�~d|}|j||k�dS)Nr0r)r0)r0)r0)r)r&r()rr�t1�t2rrrr�8s


zTupleTest.test_comparecCsKff|}|jt|�|�||}|jt|�|d�dS)Nr)rr)rr�trrr�basic_concat_testIs

zTupleTest.basic_concat_test�cCs
|j|�S)N)r�)rrrrr�test_concat_smallOszTupleTest.test_concat_smallcCs
|j|�S)N)r�)rrrrr�test_concat_largeSszTupleTest.test_concat_largerTrr+cCsad|}|jt|�|d�|jd|k�|jd|k�|jd|k�dS)	Nrrr r	rTr)rrr r	rT)rrr r	rT)rrr&r()rrr�rrrr�Ws

zTupleTest.test_containscCsDd|}t|�}~d|d}|j|t|�k�dS)Nrr)r)r)r�r()rrr�r�r�rrrr�_s

zTupleTest.test_hashcCs{d|}|jt|�|�|j|d	d�|j|dd�|j||dd�|jttj||�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j||dd�d�|j||d|�d�|j||d|d�d�|j|||�f�|j|||d�f�dS)NrrTr��r�rr	)Nr1)N)NNNNNr�)N)NNNNN)N)NNNNNi��i��)N)NNNNN)N)NNNNN)N)NNNNN)N)NNNN)rrr7r�r�r�)rrr�rrr�test_index_and_slicegs
"zTupleTest.test_index_and_slicecCsHd|}|jt|�|�|d}|jt|�|d�dS)Nr0r)r0)rr)rrr�rrr�basic_test_repeatzs

zTupleTest.basic_test_repeatcCs
|j|�S)N)r�)rrrrr�test_repeat_small�szTupleTest.test_repeat_smallcCs
|j|�S)N)r�)rrrrr�test_repeat_large�szTupleTest.test_repeat_largerr�cCs
|j|�S)N)r�)rrrrr�test_repeat_large_2�szTupleTest.test_repeat_large_2�	cCs}|jd�ytt|��}Wntk
r7YnBXd}x(|D] }|j||�|d7}qEW|j||�dS)Nz:test needs much more memory than advertised, see issue5438rr)�skipTest�tuplerJr�r)rrr�r#rrrrr�test_from_2G_generator�s


z TupleTest.test_from_2G_generatorr�cCs}|jd�yWtt|��}d}x(|D] }|j||�|d7}q/W|j||�Wntk
rxYnXdS)Nz:test needs much more memory than advertised, see issue5438rr)r�r�rJrr�)rrr�r#rrrrr�test_from_almost_2G_generator�s


z'TupleTest.test_from_almost_2G_generatorcCs�d|}t|�}|jt|�|d�|j|dd�d�|j|dd�d�|j|jd�|�dS)	Nrr rTz(0, 0z0, 0)r�)rr�)r�rrr#)rrr�rrrr�basic_test_repr�s
zTupleTest.basic_test_reprr cCs
|j|�S)N)r�)rrrrrr��szTupleTest.test_repr_smallcCs
|j|�S)N)r�)rrrrrr��szTupleTest.test_repr_largeN�()r�r�r�rrr�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�rrrrr�-s %)%)%%)%%%%	1r�c@seZdZededdd�dd��Zdd�Zededddd	�d
d��Zededdd	�dd
��Zdd�Z	ededddd	�dd��Z
ededdd	�dd��ZededdddI�dd��Zededdd�dd��Z
ededdd�dd��Zdd�Zededddd	�dd ��Zededdd	�d!d"��Zd#d$�Zededddd�d%d&��Zededdd�d'd(��Zd)d*�Zeded+dddd+e�d,d-��Zededddd+e�d.d/��Zededd0�d1d2��ZededdddJ�d3d4��Zd5d6�Zededddd�d7d8��Zededdd�d9d:��ZededdddK�d;d<��Zededdd0�d=d>��Zededd?ddL�d@dA��Z ededdd�dBdC��Z!ededdddM�dDdE��Z"ededdddN�dFdG��Z#dHS)O�ListTestrrrr�cCs{dg|}dg|}|j||k�~dg|d}|j||k�~dg|}|j||k�dS)Nr0rr)r&r()rr�l1�l2rrrr��s


zListTest.test_comparecCsKgg|}|jt|�|�||}|jt|�|d�dS)Nr)rr)rrrprrr�basic_test_concat�s

zListTest.basic_test_concatr�cCs
|j|�S)N)r�)rrrrrr��szListTest.test_concat_smallcCs
|j|�S)N)r�)rrrrrr��szListTest.test_concat_largecCsvtjg|}||7}|jt|�|d�|j|d|dk�|j||d||dk�dS)Nrrrr1)�sys�stdoutrrr&)rrrprrr�basic_test_inplace_concat�s

z"ListTest.basic_test_inplace_concatcCs
|j|�S)N)r�)rrrrr�test_inplace_concat_small�sz"ListTest.test_inplace_concat_smallcCs
|j|�S)N)r�)rrrrr�test_inplace_concat_large�sz"ListTest.test_inplace_concat_largerTrr+cCsdddddg|}|jt|�|d�|jd|k�|jdddddg|k�|jd|k�dS)Nrrr r	rTr)rrr&r()rrrprrrr��s
"zListTest.test_containscCs$dg|}|jtt|�dS)Nr)r7�	TypeErrorr�)rrrprrrr��s
zListTest.test_hashc	Csdg|}|jt|�|�|j|dd�|j|dd�|j||dd�|jttj||�|j|dd�dgd�|j|dd�dgd�|j|dd�dgd�|j|d
d�dgd�|j||dd�dgd�|j||d|�dgd�|j||d|d�dgd�|j|||�g�|j|||d�g�d||d<|jt|�|�|j|dd�dddg�|j|jd�d�|jttj||d�|jt|�|�dddddg||d	d�<|d8}|jt|�|�|j|dd�dddddddg�dddddg|dd	�<|d8}|jt|�|�|j|dd	�dddddddg�||d=|d8}|jt|�|�|j|dd�|dd�=|d8}|jt|�|�|j|dd�|d
=|d8}|jt|�|�|j|d
d�|dd�=|d8}|jt|�|�|j|d
d�dS)NrrTr�r�r�rr	r �rr1r�i��i��r�i����r1���r1)rrr7r�r�r�r#�setitem)rrrprrrr��sZ
!!!!%%)##
/
/





zListTest.test_index_and_slicecCsbg|}|j|�dg|}|jt|�|�|d}|jt|�|d�dS)Nr0r)r(rr)rrrprrrr�3s



zListTest.basic_test_repeatcCs
|j|�S)N)r�)rrrrrr�;szListTest.test_repeat_smallcCs
|j|�S)N)r�)rrrrrr�?szListTest.test_repeat_largecCs�dg}||9}|jt|�|�|j|d|dk�~dg|}|d9}|jt|�|d�|j||d|dk�dS)Nr0rrrr1r1)rrr&)rrrprrr�basic_test_inplace_repeatCs	


z"ListTest.basic_test_inplace_repeatcCs
|j|�S)N)r�)rrrrr�test_inplace_repeat_smallOsz"ListTest.test_inplace_repeat_smallcCs
|j|�S)N)r�)rrrrr�test_inplace_repeat_largeSsz"ListTest.test_inplace_repeat_largecCs�dg|}t|�}|jt|�|d�|j|dd�d�|j|dd�d�|j|jd�|�dS)Nrr rTz[0, 0z0, 0]r�r�)r�rrr#)rrrprrrrr�Ws
zListTest.basic_test_reprr cCs
|j|�S)N)r�)rrrrrr�`szListTest.test_repr_smallcCs
|j|�S)N)r�)rrrrrr�dszListTest.test_repr_larger�cCstt�g|}|jt��|jt|�|d�|j|d|dk�|j|d|dk�dS)Nrr rr�r�r�r1)�object�appendrrr&r()rrrprrr�test_appendjs
zListTest.test_appendcCsOdddddg|}|j|jd�|�|j|jd�d�dS)Nrrr r	rT�1r)rr#)rrrprrrr$rszListTest.test_countcCsvtg|}|j|�|jt|�|d�|j|d|dk�|j||d||dk�dS)Nrrrr1)r��extendrrr&)rrrprrr�basic_test_extendxs


zListTest.basic_test_extendcCs
|j|�S)N)r�)rrrrr�test_extend_smallszListTest.test_extend_smallcCs
|j|�S)N)r�)rrrrr�test_extend_large�szListTest.test_extend_largecCs�dddddg|}|d9}|j|jd�d�|j|jd|d�|d�|j|jd|d|�|d�|jt|jd|d|�|jt|jd�dS)Nrrr r	rTrr�)rr6r7r8)rrrprrrr9�s
$' zListTest.test_indexcCs9dg|}|j|dd�|d7}|jt|�|�|j|dd�dddg�|j|dd�|d7}|jt|�|�|j|dd�dddg�|jdd�|d7}|jt|�|�|j|dd�dddg�|j||dd�dddg�dS)	Ng�?rrIr �B�Cr�r�)�insertrr)rrrprrr�test_insert�s

#
#
#zListTest.test_insertr	cCs[dddddg|}|d9}|jt|�|�|j�}|d8}|jt|�|�|j|d�|j|d
d�ddg�|jd	�}|d8}|jt|�|�|j|d�|j|dd�ddg�|j|d�}|d8}|jt|�|�|j|d�|j|dd�ddg�dS)Nr%rUrF�d�erTrrrr�r�)rr�pop)rrrprrrrr�test_pop�s$

 
 
zListTest.test_popcCs�dg|}|jt|�|�|jd�|d8}|jt|�|�|jd�|d7}|jt|�|�|j|dd�ddg�|jd�|d8}|jt|�|�|j|dd�ddg�dS)NrrrTrr�r�)rr�remover�)rrrprrr�test_remove�s




 

zListTest.test_removecCs�dddddg|}|j�|jt|�|d�|j|dd�dddddg�|j|dd�dddddg�dS)Nrrr r	rTr�)�reverserr)rrrprrr�test_reverse�s

)zListTest.test_reversecCs�dddddg|}|j�|jt|�|d�|j|jd�|�|j|dd�dgd�|j|dd�dgd�dS)Nrrr r	rTri����)�sortrrr#)rrrprrr�	test_sort�s
!zListTest.test_sortNr�r�r�r�r�r�)$r�r�r�rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r$r�rrr9rr	rr
rrrrrr��s<%)%)%)%%8)%)%	1-!))%)%)%)r�cCstjttttt�dS)N)rZrun_unittestr�r�r�r�r�rrrr�	test_main�sr�__main__)�__doc__ZtestrZtest.supportrrrrZunittestr�r��	functoolsr�r�r�r
ZTestCaser�r�r�r�r�rr�r�argvZset_memlimitrrrr�<module>	s,"0�����*