Your IP : 216.73.216.213


Current Path : /opt/alt/python34/lib64/python3.4/test/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/test/__pycache__/seq_tests.cpython-34.pyc

�
f fy7�@s dZddlZddlZddlZdd�ZGdd�d�ZGdd�d�ZGd	d
�d
�ZGdd�d�ZGd
d�d�Z	Gdd�d�Z
Gdd�d�Zddlm
Z
dd�ZGdd�de�ZGdd�de�ZGdd�dej�ZdS)z3
Tests common to tuple, list and UserList.UserList
�Nccsx|D]}|VqWdS)zRegular generatorN�)�seqn�irr�3/opt/alt/python34/lib64/python3.4/test/seq_tests.py�iterfuncs
rc@s.eZdZdZdd�Zdd�ZdS)�SequencezSequence using __getitem__cCs
||_dS)N)r)�selfrrrr�__init__szSequence.__init__cCs|j|S)N)r)rrrrr�__getitem__szSequence.__getitem__N)�__name__�
__module__�__qualname__�__doc__r	r
rrrrrsrc@s:eZdZdZdd�Zdd�Zdd�ZdS)	�IterFuncz Sequence using iterator protocolcCs||_d|_dS)Nr)rr)rrrrrr	s	zIterFunc.__init__cCs|S)Nr)rrrr�__iter__szIterFunc.__iter__cCsD|jt|j�kr!t�n|j|j}|jd7_|S)N�)r�lenr�
StopIteration)r�vrrr�__next__s
	zIterFunc.__next__N)rrr
rr	rrrrrrrsrc@s.eZdZdZdd�Zdd�ZdS)�IterGenz9Sequence using iterator protocol defined with a generatorcCs||_d|_dS)Nr)rr)rrrrrr	&s	zIterGen.__init__ccsx|jD]}|Vq
WdS)N)r)r�valrrrr)szIterGen.__iter__N)rrr
rr	rrrrrr$src@s.eZdZdZdd�Zdd�ZdS)�IterNextOnlyz Missing __getitem__ and __iter__cCs||_d|_dS)Nr)rr)rrrrrr	/s	zIterNextOnly.__init__cCsD|jt|j�kr!t�n|j|j}|jd7_|S)Nr)rrrr)rrrrrr2s
	zIterNextOnly.__next__N)rrr
rr	rrrrrr-src@s.eZdZdZdd�Zdd�ZdS)�
IterNoNextzIterator missing __next__()cCs||_d|_dS)Nr)rr)rrrrrr	:s	zIterNoNext.__init__cCs|S)Nr)rrrrr=szIterNoNext.__iter__N)rrr
rr	rrrrrr8src@s:eZdZdZdd�Zdd�Zdd�ZdS)	�
IterGenExczTest propagation of exceptionscCs||_d|_dS)Nr)rr)rrrrrr	Bs	zIterGenExc.__init__cCs|S)Nr)rrrrrEszIterGenExc.__iter__cCsdddS)N�rr)rrrrrGszIterGenExc.__next__N)rrr
rr	rrrrrrr@src@s:eZdZdZdd�Zdd�Zdd�ZdS)	�IterFuncStopzTest immediate stopcCsdS)Nr)rrrrrr	LszIterFuncStop.__init__cCs|S)Nr)rrrrrNszIterFuncStop.__iter__cCs
t�dS)N)r)rrrrrPszIterFuncStop.__next__N)rrr
rr	rrrrrrrJsr)�chaincCs+ttdd�ttt|�����S)z Test multiple tiers of iteratorscSs|S)Nr)�xrrr�<lambda>Vszitermulti.<locals>.<lambda>)r�maprrr)rrrr�	itermultiTsr!c@seZdZdd�ZdS)�
LyingTupleccs	dVdS)Nrr)rrrrrYszLyingTuple.__iter__N)rrr
rrrrrr"Xsr"c@seZdZdd�ZdS)�	LyingListccs	dVdS)Nrr)rrrrr]szLyingList.__iter__N)rrr
rrrrrr#\sr#c@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�ZdS)(�
CommonTestNcCs�g}dg}ddg}|j�}|j|�}|j|�}|j|�}|j|�}|j|�}	|j|�}
|j|�}|jt|��}Gdd�d�}
|
|�}|j|�}|jt|�t|��d}|j|�}|jt|�t|��xddtd�dtddd
�fD]�}xEttttt	fD].}|j|j||��|j|��qdW|j|jt
|��|j��|j|jdd�dD��|jd��|jt|jt
|��|jt|jt|��|jt|jt|��qHW|j|jtd��|jd��|j|jtdg��|jdg��dS)Nrrc@s4eZdZdd�Zdd�Zdd�ZdS)z.CommonTest.test_constructors.<locals>.OtherSeqcSs
||_dS)N)�_OtherSeq__data)rZinitseqrrrr	usz7CommonTest.test_constructors.<locals>.OtherSeq.__init__cSs
t|j�S)N)rr%)rrrr�__len__wsz6CommonTest.test_constructors.<locals>.OtherSeq.__len__cSs|j|S)N)r%)rrrrrr
ysz:CommonTest.test_constructors.<locals>.OtherSeq.__getitem__N)rrr
r	r&r
rrrr�OtherSeqtsr'zthis is also a sequenceZ123�i��do�333333�?i�i��css|]}|VqdS)Nr)�.0�crrr�	<genexpr>�sz/CommonTest.test_constructors.<locals>.<genexpr>�)r)r*)r/)r)�	type2test�tuple�assertEqualr�rangerrrr!rr�assertRaises�	TypeErrorrr�ZeroDivisionErrorrr"r#)rZl0�l1�l2�uZu0�u1�u2�uuZuu0Zuu1Zuu2rr'�sZv0Zvv�grrr�test_constructorsds<	.,%/ (zCommonTest.test_constructorscCs0|j|j��|j|jdg��dS)N�*)ZassertFalser0Z
assertTrue)rrrr�
test_truth�szCommonTest.test_truthcCs|jdddddg�}xHtt|��D]4}|j|||�|j|t|�|�q1Wx`tt|�d�D]H}|j||t|�|�|j|t|�t|�|�q�W|jt|jt|�d�|jt|jt|��|jt|jt	ddd��|j�}|jt|jd�|jt|jd	�|jt
|j�|jddg�}|j|dd�|j|dd�|j|d
d�|j|dd�|jt|jd�|jt|jd�dS)
Nrrr/r��
����rE���rE���)r0r3rr2�intr4�
IndexErrorr
�
ValueError�slicer5)rr9r�arrr�test_getitem�s*(!"zCommonTest.test_getitemcCsZdddddg}|j|�}|j|dd�|j��|j|dd�|jdg��|j|d
d�|jdg��|j|dd�|�|j|dd
�|jg��|j|dd�|�|j|dd�|jddddg��|j|dd�|jdddg��|j|dd�|�|j|ddd�|jdddg��|j|ddd�|jddg��|j|ddd�|jdddddg��|j|ddd�|jdddg��|j|ddd�|jddg��|j|ddd�|jg��|j|ddd�|jdg��|j|ddd�|jdg��|j|ddd�|jddg��|j|ddd�|jdg��|j|dd�|jg��|j|dd�|�|j|ddd�|ddd��|j|ddd�|jg��|j|ddd�|jdddg��|jdddddg�}|j|tdd�d�|jdddg��|j|dtdd	��|jddg��dS)Nrrr/rrBi��d��rFrEi���i���rErFrFrFrFrFrFi����i����i����i����rErEi����rEi����)r0r2�pow)r�lr9rLrrr�
test_getslice�s: &&#/,/,5/,&)),)#*&/6zCommonTest.test_getslicecCs�|jdddg�}x|D]}|j||�qWx8t|�dt|�dfD]}|j||�qZW|jt|j�dS)Nrrr/)r0�assertIn�min�max�assertNotInr4r5�__contains__)rr9rrrr�
test_contains�s
'zCommonTest.test_containscCsRGdd�d�}|j|�|jg��|j|�|jdg��dS)Nc@s"eZdZdd�ZdZdS)z,CommonTest.test_contains_fake.<locals>.AllEqcSsdS)NTr)r�otherrrr�__eq__�sz3CommonTest.test_contains_fake.<locals>.AllEq.__eq__N)rrr
r[�__hash__rrrr�AllEq�sr]r)rWr0rT)rr]rrr�test_contains_fake�szCommonTest.test_contains_fakecs�Gdd�dt��G�fdd�d�}|jd|�g�}|jd|�|j|�dg�}|j�|jd�dS)Nc@seZdZdS)z3CommonTest.test_contains_order.<locals>.DoNotTestEqN)rrr
rrrr�DoNotTestEq�sr_cs"eZdZ�fdd�ZdS)z4CommonTest.test_contains_order.<locals>.StopComparescs
��dS)Nr)rrZ)r_rrr[�sz;CommonTest.test_contains_order.<locals>.StopCompares.__eq__N)rrr
r[r)r_rr�StopCompares�sr`r)�	Exceptionr0rTr4rX)rr`Z
checkfirstZ	checklastr)r_r�test_contains_order�szCommonTest.test_contains_ordercCs�|jt|j��d�|jt|jg��d�|jt|jdg��d�|jt|jdddg��d�dS)Nrrr/r)r2rr0)rrrr�test_len�s"zCommonTest.test_lencCsH|jdddg�}|jt|�d�|jt|�d�dS)Nrrr/)r0r2rUrV)rr9rrr�test_minmax�szCommonTest.test_minmaxcCsQ|jdg�}|jddg�}|j|||j��|j||j�|�|j||jdg�|�|j|jdg�||jddg��|j|j�|d�|j|j�d|�|j|j�|d�|j|j�d|�|j||d�|j|d|�|j||d�|j|d|�|j|||d�|j||d|�|j|||d�|j||d|�|j||||d�|j|||d|�Gdd�d|j�}|ddg�}|j||d�|j||d�dS)	Nrrr/rc@seZdZdS)z(CommonTest.test_addmul.<locals>.subclassN)rrr
rrrr�subclasssrerErE)r0r2ZassertIsNot)rr:r;reZu3rrr�test_addmuls0 /zCommonTest.test_addmulc	Cs|jddg�}||j�7}|j||jddg��||jddg�7}|j||jddddg��||jddg�7}|j||jddddddg��|jd�}||jd�7}|j||jd	��dS)
Nrrr/rrBr+ZspamZeggsZspameggs)r0r2)rr9rrr�	test_iadds%+zCommonTest.test_iaddc	CsN|jddg�}|d9}|j||jddddddg��dS)Nrrr)r0r2)rr9rrr�	test_imul+s
zCommonTest.test_imulcCs?Gdd�d|j�}|jtt|d���d�dS)Nc@seZdZdd�ZdS)z/CommonTest.test_getitemoverwriteiter.<locals>.TcSst|�dS)Nz!!!)�str)r�keyrrrr
3sz;CommonTest.test_getitemoverwriteiter.<locals>.T.__getitem__N)rrr
r
rrrr�T2srkrr/)rr/)r0r2�next�iter)rrkrrr�test_getitemoverwriteiter0sz$CommonTest.test_getitemoverwriteitercCs�x�td�D]�}tt|��}xAtdd�D]0}|j|j||�|j|�|�q5W|j|j|�d|jg��|jt|�t|d��q
WdS)NrBrr+rrG���)r3r1r2r0�id)r�mr=�nrrr�test_repeat7s.&zCommonTest.test_repeatcCs|ddl}|jdkrx|jdg�}|d9}|jt|jd�t|d�rx|jt|jd�qxndS)	Nri���r/��__imul__iii)�sys�maxsizer0r4�MemoryError�__mul__�hasattrru)rrvrrrr�test_bigrepeat?s
zCommonTest.test_bigrepeatcCs�|jddg�}|j|jd�d�|j|jd�d�|j|jd	�d�|j|jd
�d�|jt|jd�|jt|jd�|j|jtdd��|jdg��|j|jtdd��|jdg��|j|jtdd��|jddg��|j|jtdd��|jddg��|j|jtdd��|jg��|jt|jtddd��|jt|jd�dS)NrCrDrrr/rr+rrFrErG)r0r2r
r4rIrKrJr5)rrLrrr�test_subscriptHs..11+"zCommonTest.test_subscriptcs�|jdddg�d}|j|jd�d�|j|jd�d�|j|jd�d�|jt|j�Gdd�dt��G�fdd�d�}|j�|j|��dS)	Nrrr/rc@seZdZdS)z%CommonTest.test_count.<locals>.BadExcN)rrr
rrrr�BadExc`sr}cs"eZdZ�fdd�ZdS)z%CommonTest.test_count.<locals>.BadCmpcs|dkr���ndS)Nr/Fr)rrZ)r}rrr[dsz,CommonTest.test_count.<locals>.BadCmp.__eq__N)rrr
r[r)r}rr�BadCmpcsr~)r0r2�countr4r5ra)rrLr~r)r}r�
test_countXszCommonTest.test_countcs0|jddg�}|j|jd�d�|j|jd�d�|jt|jd�|jddddddg�}|j|jd�d�|j|jd�d�|j|jdd�d�|j|jd
d�d�|j|jdd�d�|j|jddd�d�|jt|jddd�|jt|j�Gdd�dt��G�fd	d
�d
�}|jddddg�}|j�|j|��|jddddddg�}|j|jd�d�|j|jdd�d�|j|jdd�d�|j|jdd�d�|j|jdd�d�|j|jdd�d�|j|jddd�d�|j|jddd�d�|j|jddtj	dtj	�d�|jt|jddtj	dtj	�|jt|jddd�dS)Nrrr/rCrrBc@seZdZdS)z%CommonTest.test_index.<locals>.BadExcN)rrr
rrrrr}|sr}cs"eZdZ�fdd�ZdS)z%CommonTest.test_index.<locals>.BadCmpcs|dkr���ndS)Nr/Fr)rrZ)r}rrr[�sz,CommonTest.test_index.<locals>.BadCmp.__eq__N)rrr
r[r)r}rrr~sr~rFrErFi����i����rFrErorFi����rGrGrFroroi����)
r0r2�indexr4rJrr5rarvrw)rr9r~rLr)r}r�
test_indexks:!!-*zCommonTest.test_indexcCs�|jddddg�}xbttjd�D]M}tjtj||��}|j||�|jt|�t|��q/WdS)NrBr+��r)	r0r3�pickleZHIGHEST_PROTOCOL�loads�dumpsr2ZassertNotEqualrp)rZlst�protoZlst2rrr�test_pickle�s
zCommonTest.test_pickle)rrr
r0r?rArMrSrYr^rbrcrdrfrgrhrnrsr{r|r�r�r�rrrrr$`s(.$	
	*r$)rZunittestrvr�rrrrrrrr�	itertoolsrr!r1r"�listr#ZTestCaser$rrrr�<module>s