Your IP : 216.73.216.52


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



��YfN8�@s0dZddlZddlZddlZddlmZdd�ZGdd�d�ZGdd	�d	�ZGd
d�d�Z	Gdd
�d
�Z
Gdd�d�ZGdd�d�ZGdd�d�Z
ddlmZdd�ZGdd�de�ZGdd�de�ZGdd�dej�ZdS)z3
Tests common to tuple, list and UserList.UserList
�N)�supportccsx|D]}|VqWdS)zRegular generatorN�)�seqn�irr�3/opt/alt/python35/lib64/python3.5/test/seq_tests.py�iterfuncs
rc@s.eZdZdZdd�Zdd�ZdS)�SequencezSequence using __getitem__cCs
||_dS)N)r)�selfrrrr�__init__szSequence.__init__cCs|j|S)N)r)r	rrrr�__getitem__szSequence.__getitem__N)�__name__�
__module__�__qualname__�__doc__r
rrrrrrsrc@s:eZdZdZdd�Zdd�Zdd�ZdS)	�IterFuncz Sequence using iterator protocolcCs||_d|_dS)Nr)rr)r	rrrrr
s	zIterFunc.__init__cCs|S)Nr)r	rrr�__iter__szIterFunc.__iter__cCsA|jt|j�krt�|j|j}|jd7_|S)N�)r�lenr�
StopIteration)r	�vrrr�__next__s
zIterFunc.__next__N)rr
rrr
rrrrrrrsrc@s.eZdZdZdd�Zdd�ZdS)�IterGenz9Sequence using iterator protocol defined with a generatorcCs||_d|_dS)Nr)rr)r	rrrrr
's	zIterGen.__init__ccsx|jD]}|Vq
WdS)N)r)r	�valrrrr*szIterGen.__iter__N)rr
rrr
rrrrrr%src@s.eZdZdZdd�Zdd�ZdS)�IterNextOnlyz Missing __getitem__ and __iter__cCs||_d|_dS)Nr)rr)r	rrrrr
0s	zIterNextOnly.__init__cCsA|jt|j�krt�|j|j}|jd7_|S)Nr)rrrr)r	rrrrr3s
zIterNextOnly.__next__N)rr
rrr
rrrrrr.src@s.eZdZdZdd�Zdd�ZdS)�
IterNoNextzIterator missing __next__()cCs||_d|_dS)Nr)rr)r	rrrrr
;s	zIterNoNext.__init__cCs|S)Nr)r	rrrr>szIterNoNext.__iter__N)rr
rrr
rrrrrr9src@s:eZdZdZdd�Zdd�Zdd�ZdS)	�
IterGenExczTest propagation of exceptionscCs||_d|_dS)Nr)rr)r	rrrrr
Cs	zIterGenExc.__init__cCs|S)Nr)r	rrrrFszIterGenExc.__iter__cCsdddS)N�rr)r	rrrrHszIterGenExc.__next__N)rr
rrr
rrrrrrrAsrc@s:eZdZdZdd�Zdd�Zdd�ZdS)	�IterFuncStopzTest immediate stopcCsdS)Nr)r	rrrrr
MszIterFuncStop.__init__cCs|S)Nr)r	rrrrOszIterFuncStop.__iter__cCs
t�dS)N)r)r	rrrrQszIterFuncStop.__next__N)rr
rrr
rrrrrrrKsr)�chaincCs+ttdd�ttt|�����S)z Test multiple tiers of iteratorscSs|S)Nr)�xrrr�<lambda>Wszitermulti.<locals>.<lambda>)r�maprrr)rrrr�	itermultiUsr"c@seZdZdd�ZdS)�
LyingTupleccs	dVdS)Nrr)r	rrrrZszLyingTuple.__iter__N)rr
rrrrrrr#Ysr#c@seZdZdd�ZdS)�	LyingListccs	dVdS)Nrr)r	rrrr^szLyingList.__iter__N)rr
rrrrrrr$]sr$c@seZdZdZdd�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'�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)r	Zinitseqrrrr
vsz7CommonTest.test_constructors.<locals>.OtherSeq.__init__cSs
t|j�S)N)rr&)r	rrr�__len__xsz6CommonTest.test_constructors.<locals>.OtherSeq.__len__cSs|j|S)N)r&)r	rrrrrzsz:CommonTest.test_constructors.<locals>.OtherSeq.__getitem__N)rr
rr
r'rrrrr�OtherSequs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+)r0)r)�	type2test�tuple�assertEqualr�rangerrrr"rr�assertRaises�	TypeErrorrr�ZeroDivisionErrorrr#r$)r	Zl0�l1�l2�uZu0�u1�u2�uuZuu0Zuu1Zuu2rr(�sZv0Zvv�grrr�test_constructorses<	.,%/ (zCommonTest.test_constructorscCs0|j|j��|j|jdg��dS)N�*)ZassertFalser1Z
assertTrue)r	rrr�
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)
Nrrr0r��
����rF���rF���)r1r4rr3�intr5�
IndexErrorr�
ValueError�slicer6)r	r:r�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)Nrrr0rrCi��d��rGrFi���i���rFrGrGrGrGrGrGi����i����i����i����rFrFi����rFi����)r1r3�pow)r	�lr:rMrrr�
test_getslice�s: &&#/,/,5/,&)),)#*&/6zCommonTest.test_getslicecCs�|jdddg�}x|D]}|j||�qWx8t|�dt|�dfD]}|j||�qZW|jt|j�dS)Nrrr0)r1�assertIn�min�max�assertNotInr5r6�__contains__)r	r:rrrr�
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)rr
rr\�__hash__rrrr�AllEq�sr^r)rXr1rU)r	r^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)rr
rrrrr�DoNotTestEq�sr`cs"eZdZ�fdd�ZdS)z4CommonTest.test_contains_order.<locals>.StopComparescs
��dS)Nr)r	r[)r`rrr\�sz;CommonTest.test_contains_order.<locals>.StopCompares.__eq__N)rr
rr\r)r`rr�StopCompares�srar)�	Exceptionr1rUr5rY)r	raZ
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)Nrrr0r)r3rr1)r	rrr�test_len�s"zCommonTest.test_lencCsH|jdddg�}|jt|�d�|jt|�d�dS)Nrrr0)r1r3rVrW)r	r:rrr�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)	Nrrr0rc@seZdZdS)z(CommonTest.test_addmul.<locals>.subclassN)rr
rrrrr�subclasssrfrFrF)r1r3ZassertIsNot)r	r;r<rfZu3rrr�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)
Nrrr0rrCr,ZspamZeggsZspameggs)r1r3)r	r:rrr�	test_iadds%+zCommonTest.test_iaddc	CsN|jddg�}|d9}|j||jddddddg��dS)Nrrr)r1r3)r	r:rrr�	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	�keyrrrr4sz;CommonTest.test_getitemoverwriteiter.<locals>.T.__getitem__N)rr
rrrrrr�T3srlrr0)rr0)r1r3�next�iter)r	rlrrr�test_getitemoverwriteiter1sz$CommonTest.test_getitemoverwriteitercCs�x�td�D]�}tt|��}xAtdd�D]0}|j|j||�|j|�|�q5W|j|j|�d|jg��|jt|�t|d��q
WdS)NrCrr,rrH���)r4r2r3r1�id)r	�mr>�nrrr�test_repeat8s.&zCommonTest.test_repeatcCsvddl}|jdkrr|jdg�}|d9}|jt|jd�t|d�rr|jt|jd�dS)	Nri���r0��__imul__iii)�sys�maxsizer1r5�MemoryError�__mul__�hasattrrv)r	rwrrrr�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)NrDrErrr0rr,rrGrFrH)r1r3rr5rJrLrKr6)r	rMrrr�test_subscriptIs..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)	Nrrr0rc@seZdZdS)z%CommonTest.test_count.<locals>.BadExcN)rr
rrrrr�BadExcasr~cs"eZdZ�fdd�ZdS)z%CommonTest.test_count.<locals>.BadCmpcs|dkr���dS)Nr0Fr)r	r[)r~rrr\es	z,CommonTest.test_count.<locals>.BadCmp.__eq__N)rr
rr\r)r~rr�BadCmpdsr)r1r3�countr5r6rb)r	rMrr)r~r�
test_countYszCommonTest.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)Nrrr0rDrrCc@seZdZdS)z%CommonTest.test_index.<locals>.BadExcN)rr
rrrrrr~}sr~cs"eZdZ�fdd�ZdS)z%CommonTest.test_index.<locals>.BadCmpcs|dkr���dS)Nr0Fr)r	r[)r~rrr\�s	z,CommonTest.test_index.<locals>.BadCmp.__eq__N)rr
rr\r)r~rrr�srrGrFrGi����i����rGrFrprGi����rHrHrGrprpi����)
r1r3�indexr5rKr�r6rbrwrx)r	r:rrMr)r~r�
test_indexls:!!-*zCommonTest.test_indexcCs�|jddddg�}xbttjd�D]M}tjtj||��}|j||�|jt|�t|��q/WdS)NrCr,��r)	r1r4�pickleZHIGHEST_PROTOCOL�loads�dumpsr3ZassertNotEqualrq)r	Zlst�protoZlst2rrr�test_pickle�s
zCommonTest.test_picklecCs0tj|t|j�tj|t|j�dS)N)rZcheck_free_after_iteratingrnr1�reversed)r	rrr�test_free_after_iterating�sz$CommonTest.test_free_after_iterating)rr
rr1r@rBrNrTrZr_rcrdrergrhrirortr|r}r�r�r�r�rrrrr%as*.$	
	*r%)rZunittestrwr�Ztestrrrrrrrrr�	itertoolsrr"r2r#�listr$ZTestCaser%rrrr�<module>s"