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_range.cpython-35.pyc



��Yf�`�@s�ddlZddlZddlZddlZddlZdd�Zdd�ZGdd�dej�Z	e
dkr�ej�dS)	�NccsL|||dkrH||||7}x||krG|V||7}q)WdS)Nr�)�start�stop�steprr�4/opt/alt/python35/lib64/python3.5/test/test_range.py�pyrange	s
rcCs+||||7}t|||||�S)N)r)rrrrrr�pyrange_reversedsrc@sWeZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zejjd&d'��Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�ZdS)6�	RangeTestNc
Cs�|dk	r0tj||�}tj||�}t�}tj||d|�}x�t|�D]�\}\}}	||	kr�q^q^||kr�|jdj|||	��q^|	|kr�|jdj|||��q^|jdj|||	|��q^WdS)N�	fillvaluez;{}: iterator ended unexpectedly at position {}; expected {}z/{}: unexpected excess element {} at position {}z4{}: wrong element at position {};expected {}, got {})�	itertools�islice�object�zip_longest�	enumerateZfail�format)
�selfZxsZys�test_id�limit�sentinelZpairs�i�x�yrrr�assert_iterators_equals 	z RangeTest.assert_iterators_equalcCs�|jttd��dddg�|jttdd��ddddg�|jttd��g�|jttd��g�|jttddd��dddg�|jttddd��ddddg�d}d	}d
}|jtt||d��||dg�|jtt|d|d��|d|dg�|jtt|d|d��|d|dg�tt|||��}|j||�|j||�|jt|�d�tt|||��}|j||�|j||�|jt|�d�tt|||��}|j||�|j||�|jt|�d�|jtt�|jttdddd�|jttddd�|jttddd�|jttddd�|jttddd
�|jttddd�|jttdd�|jttddd�|jttdt	j
t	j
d��d�tt	j
t	j
d�}|jt|�t	j
�dS)N�r�����
��d�2gg@g�?g}Ô%�I�Tg\�n��T�spam�*������r$������r&���)�assertEqual�list�range�assertIn�assertNotIn�len�assertRaises�	TypeError�
ValueError�sys�maxsize)r�a�b�c�seq�rrrr�
test_range-sH%++.-44,zRangeTest.test_rangecCs�td
dd�}|jt|�d�|jtt|��d�tddd�}|jt|�d�|jtt|��d�|j|�tddd�}|jt|�d�|jtt|��d�|j|�tddd�}|jt|�d�|jtt|��d�|j|�xUtd�tdd�tddd�gD])}|jt|�g�|j|�qbWtdtj�}tdtj�}td	tj�}|jtt||d��||dg�|jtt|d|d��|d|dg�|jtt|d|d��|d|dg�tt|||��}|j	||�|j
||�|jt|�d�|j|d|�|j|d ||�tt|||��}|j	||�|j
||�|jt|�d�|j|d|�|j|d!||�tt|||��}|j	||�|j
||�|jt|�d�|j|d|�|j|d"||�dS)#Nr�rrrrr rr!l F�x:^Vl F�x:^Vl
 F�x:^Vl F�x:^Vl
 F�x:^Vl F�x:^Vl F�x:^Vl F�x:^Vl
 F�x:^Vr$l F�x:^Vl
 F�x:^Vl F�x:^Vr$ll����ll����lr&r&r(r&r&r&)r+r)r.r*ZassertFalse�
assertTrue�intr2r3r,r-)rrr4r5r6r7rrr�test_large_operands]sX


-44zRangeTest.test_large_operandsc:Cs�dd�}tj}tj}||}t||�}|j||�|j||�|jtt|�|j|�|j	||�|�|j	|d|�tjd}|j	||||�|j	|||d�d||�|jt
��||dWdQRX|jt
��
||WdQRXd}dtj}||}t||�}|j||�|j||�|jtt|�|j|�|j	||�|�|j	|d|�tjd}|j	||||�|j	|||d�d||�|jt
��||dWdQRX|jt
��
||WdQRXd}tjd}dtj}d|||}t|||�}|j||�|j||�|jtt|�|j|�|j	||�|�|j	|d|�tjd}|j	|||||�|j	|||d�d|||�|jt
��||dWdQRX|jt
��
||WdQRXtjd}d}dtj}d|||}t|||�}|j||�|j||�|jtt|�|j|�|j	||�|�|j	|d|�tjd}|j	|||||�|j	|||d�d|||�|jt
��||dWdQRX|jt
��
||WdQRXdS)NcSsUyt|�}Wn>tk
rP|d|d}d|d|d|}YnX|S)Nrrr&)r.�
OverflowError)rZlengthrrrr�
_range_len�s
z.RangeTest.test_large_range.<locals>._range_lenrrrrr()r2r3r+r,r-r/r>r.r;r)�
IndexError)rr?r4r5Zexpected_lenr�idxr6rrr�test_large_range�s�
	


&



&



*



*zRangeTest.test_large_rangecCs�|jtt�|jttdddd�|jttddd�tdtj�}|jtt||dtd��|jttddd�|jttdd	d	�|jttdd
�|jttddd
�|jttd�|jttdd�|jttdd�|jttdd�|jttddd�|jttddd�|jttddd�|jttddd�|jttddd�|jttddd�|jttddd�dS)
Nrrrrrrg�?g}Ô%�I�Tg\�n��Tr"r#g)r/r0r+r1r<r2r3)rr4rrr�test_invalid_invocation�s(#z!RangeTest.test_invalid_invocationcs5td�}|j|jd�d�|j|jd�d�|jt|jd�tdd�}|j|jd�d�|j|jd�d�|jt|j�Gdd�dt��G�fdd�d�}td	�}|j�|j|��tdd�}|j|jd�d�|jtdd
d�jd	�d�|jtddd�jd�d�|jtd�jd�d�|jtd�jd�d�|jttddd�jd�|jtddd�jd!�d"�Gdd�dt�}|�}|jtd
�j|�d�dS)#Nrrrrc@seZdZdS)z$RangeTest.test_index.<locals>.BadExcN)�__name__�
__module__�__qualname__rrrr�BadExc
srGcs"eZdZ�fdd�ZdS)z$RangeTest.test_index.<locals>.BadCmpcs|dkr���dS)NrFr)r�other)rGrr�__eq__s	z+RangeTest.test_index.<locals>.BadCmp.__eq__N)rDrErFrIr)rGrr�BadCmpsrJrrrr:r �W�Vc@seZdZdd�ZdS)z)RangeTest.test_index.<locals>.AlwaysEqualcSsdS)NTr)rrHrrrrI%sz0RangeTest.test_index.<locals>.AlwaysEqual.__eq__N)rDrErFrIrrrr�AlwaysEqual$srMr(r(i����r$r%l F�x:^Vl F�x:^Vl F�x:^Vl�F�x:^Vl F�x:^Vl�F�x:^Vllllll)	r+r)�indexr/r1�countr0�	Exceptionr
)r�urJr4rM�always_equalr)rGr�
test_indexs.%%"%	zRangeTest.test_indexcCsndtj}d}Gdd�d�}|jtt||�||d���|g�|jtt||�||d���|g�Gdd�d�}|jtt|��Gdd	�d	�}|jtt|��|jtd
�d|d��td��|jt��tdd
�d|��WdQRX|jt��tdd
�d|��WdQRXdS)
Nrr#c@s(eZdZdd�Zdd�ZdS)z+RangeTest.test_user_index_method.<locals>.IcSst|�|_dS)N)r<�n)rrTrrr�__init__0sz4RangeTest.test_user_index_method.<locals>.I.__init__cSs|jS)N)rT)rrrr�	__index__2sz5RangeTest.test_user_index_method.<locals>.I.__index__N)rDrErFrUrVrrrr�I/srWrc@seZdZdd�ZdS)z,RangeTest.test_user_index_method.<locals>.IXcSs
t�dS)N)�RuntimeError)rrrrrV9sz6RangeTest.test_user_index_method.<locals>.IX.__index__N)rDrErFrVrrrr�IX8srYc@seZdZdd�ZdS)z,RangeTest.test_user_index_method.<locals>.INcSsdS)Nznot a numberr)rrrrrV?sz6RangeTest.test_user_index_method.<locals>.IN.__index__N)rDrErFrVrrrr�IN>srZrrr)r2r3r)r*r+r/rXr0)rZbignumZsmallnumrWrYrZrrr�test_user_index_method*s
22,!z RangeTest.test_user_index_methodcCs�|jtd�jd�d�|jtd�jd�d�|jtd�jd�d�|jtd�jd�d�|jtd�jd�d�|jttd�jd��t�|jttd�jd��t�|jtd
�jd�d�|jtd�jd�d�|jtd�jd�d�|jtddd�jd�d�|jtddd�jd�d�Gd	d
�d
t�}|�}|jtd�j|�d�|jttt	j
t	j
d��d�dS)Nrrrrrr:r rKc@seZdZdd�ZdS)z)RangeTest.test_count.<locals>.AlwaysEqualcSsdS)NTr)rrHrrrrI\sz0RangeTest.test_count.<locals>.AlwaysEqual.__eq__N)rDrErFrIrrrrrM[srMr&r&l F�x:^Vl F�x:^Vl F�x:^Vlllll)r)r+rO�assertIs�typer<rNr
r.r2r3)rrMrRrrr�
test_countMs %%%%	zRangeTest.test_countcCsa|jttd��d�|jttdd��d�|jttddd��d�dS)Nrzrange(0, 1)rzrange(1, 2)rzrange(1, 2, 3))r)�reprr+)rrrr�	test_reprcszRangeTest.test_reprcCs�dddddddg}x�ttjd�D]t}xk|D]c}|jd|d
|��Bt|�}|jttjtj||���t|��WdQRXq<Wq/WdS)N�
r��rr:rr�r�A�proto�test)ra)rrb���)rhrr&)r:rr&)rardrr()r(rr� l � )rirj)r+�pickle�HIGHEST_PROTOCOLZsubTestr)r*�loads�dumps)r�	testcasesrf�tr8rrr�
test_picklinghs
$zRangeTest.test_picklingcCs?dd
dddddg}xttjd�D]}x�|D]�}tt|��}}tt|��}tj||�}tj|�}|jt|�t|��|jt|�|�tj|�}yt	|�Wnt
k
r�w<YnXtj||�}tj|�}|jt|�|dd��q<Wq/WdS)Nrarrbrcrr:rrrdrre)ra)rrb���)rrrr&)r:rr&)rardrr()r(rr� l � )rsrt)r+rkrl�iterr*rnrmr)r]�next�
StopIteration)rrorfrp�itZitorg�data�drrr�test_iterator_picklingrs$

z RangeTest.test_iterator_picklingcCs�x�ttjd�D]�}tdd�}t|�}xt|�}|dkr8Pq8Wtj||�}tj|�}|jt|�g�|jt|�g�qWdS)	Nrrrel l l l l )	r+rkrlrurvrnrmr)r*)rrfr8rrz�i2rrr� test_exhausted_iterator_pickling�sz*RangeTest.test_exhausted_iterator_picklingcCs�x�ttjd�D]�}td�}t|�}xt|�}|dkr5Pq5Wtj||�}tj|�}|jt|�g�|jt|�g�qWdS)Nrr:�)	r+rkrlrurvrnrmr)r*)rrfr8rrzr|rrr�&test_large_exhausted_iterator_pickling�sz0RangeTest.test_large_exhausted_iterator_picklingcCs+|jt��tgdd�WdQRXdS)Nrr&)r/r0r+)rrrr�test_odd_bug�szRangeTest.test_odd_bugcCs|jdtd��|jdtd��|jdtd��Gdd�d�}|j|�td��Gdd	�d	�}|j|�td��|jt|��td��Gd
d�dt�}|j|d�td
��|j|d�ttd
���dS)Ng�?rTryc@seZdZdd�ZdS)z RangeTest.test_types.<locals>.C1cSsdS)NTr)rrHrrrrI�sz'RangeTest.test_types.<locals>.C1.__eq__N)rDrErFrIrrrr�C1�sr�c@s(eZdZdd�Zdd�ZdS)z RangeTest.test_types.<locals>.C2cSsdS)Nrr)rrrr�__int__�sz(RangeTest.test_types.<locals>.C2.__int__cSsdS)Nrr)rrrrrV�sz*RangeTest.test_types.<locals>.C2.__index__N)rDrErFr�rVrrrr�C2�sr�c@seZdZdd�ZdS)z RangeTest.test_types.<locals>.C3cSsdS)NTr)rrHrrrrI�sz'RangeTest.test_types.<locals>.C3.__eq__N)rDrErFrIrrrr�C3�sr�rbry�?)r,r+r-r<r*)rr�r�r�rrr�
test_types�szRangeTest.test_typescCs
tddd�}|jd|�|jd|�|jd|�|jd|�|jd|�|jd|�tdd
d�}|jd|�|jd|�|jd
|�|jd|�tddd�}|jd|�|jd|�|jd|�dS)Nr�err�cr r:r~�i��r&r&i��i��i��r(i��i��i��)r+r,r-)rr8rrr�test_strided_limits�s zRangeTest.test_strided_limitscCsotd�}|jd|�|jd|�tdd�}|jd|�|jd|�|jd|�dS)Nrrri����r&)r+r-)rr8rrr�
test_empty�szRangeTest.test_emptycs�dd�d
D���fdd��D�}x�|D]�\}}}t|||�}t|||�}dj|||�}|j|||dd	�tt|||��}t|||�}d
j|||�}|j|||dd	�q3WdS)NcSsMg|]C}||dd|d|fD]}dD]}||�q3q)qS)rrrr(r&)r(r&rrrr)�.0�M�baseZjigglerrr�
<listcomp>�s	#z2RangeTest.test_range_iterators.<locals>.<listcomp>r� �@c	s9g|]/}�D]"}d
D]}|||f�qqqS)r�?�rl���l��r(r&)r�r�r(r&rrr)r�r�endr)�limitsrrr��s	
zrange({}, {}, {})rr zreversed(range({}, {}, {}))��)r�r�)r+rrr�reversedr)r�test_rangesrr�rZiter1Ziter2rr)r�r�test_range_iterators�s	

zRangeTest.test_range_iteratorscCsWddl}tttd���}|jt��|dd�WdQRX|jt|�|jt|d�|jt|dd�|jt|dddd�x*|j|jgD]}||||�q�Wxm|jd|jdgD]Q}|jt||dd�|jt|d|d�|jt|dd|�q�W|jt	|ddd�dS)Nrr4r)
�	_testcapir]rur+r/r0ZLONG_MAXZLONG_MINr>r1)rr�Zrangeiter_typeZgood_valZbad_valrrr�test_range_iterator_invocation�s$!			z(RangeTest.test_range_iterator_invocationcs�d��fdd�}x�td�td�tddd�tddd
�ttjdtjd�gD]t�|dd	�|dd
�|dd	�|d
d�|dd�|ddd	�|dd�|ddd�qiWdS)Ncsdt|||�}�jt�|�t��|��jt�|�tt��|��dS)N)�slicer)r*r.)rrrr)r8rrr�checks$z#RangeTest.test_slice.<locals>.checkrrr�	r�rr:�r r$i��i��r&r&r&r$r&)r+r2r3)rr�r)r8rr�
test_slices	$





zRangeTest.test_slicecCstd�}|jd|�|jd|�|jd|�|jd|�|jd	|�|jd|�|jd|�tdd
d�}|jd|�|jd|�|jd|�|jd|�|jd|�|jd|�|jd|�tddd�}|jd|�|jd|�|jd|�|jd|�|jd
|�|jd|�|jd|�tddd�}|jd|�|jd|�|jd|�|jd|�|jd|�|jd|�|jd|�dS)Nrrrg@gffffff@�r�rr&r&r&r&r&r&r(r&)r+r,r-)rr8rrr�
test_contains*s@zRangeTest.test_containscCs�x�td�td�tddd�tddd�ttjdtjd�gD]5}|jtt|��t|�ddd��qQWdS)	Nrrrr�rr�r$r&)r+r2r3r)r*r�)rr8rrr�test_reverse_iterationLs	$z RangeTest.test_reverse_iterationcCs�ttddd�jd��}dddddddd
ddddddd	dd
dh}xH|D]@}x7|D]/}x&|dhD]}||||�q�WqqWqdWdS)Nrr�rr:rrr~rdr�r�r&r(r%i��i��i��i��i����)r+r��indices)rr8�valuesr�j�krrr�test_issue11845Us!

zRangeTest.test_issue11845cs�td�tdd�tddd�td�tdd�tddd�tddd�td�tddd�tddd�tddd�g�ttt�����fd	d
��D�}�fdd
��D�}|j||��fdd
��D�}|j|d
d
�|D��xG�D]?}x6�D].}||kr4|jt|�t|��q4Wq'W|jtd�fkd�|jftd�kd�|jtd�ddgkd�|jtddd�tddd��|jttddd��ttddd���|jtddd�tddd��|jtdd d!�td"d#d$��|jttd%d(d)��ttd*d+d,���|jtd-d.d/�td0d2d3��|jt	��td�td�kWdQRX|jt	��td�td�kWdQRX|jt	��td�td�kWdQRX|jt	��td�td�kWdQRXdS)4Nrrrr�rrrcs)g|]}�D]}||k�qqSrr)r�r4r5)r�rrr�gs	z-RangeTest.test_comparison.<locals>.<listcomp>cs)g|]}�D]}||k�qqSrr)r�r4r5)�test_tuplesrrr�hs	cs)g|]}�D]}||k�qqSrr)r�r4r5)r�rrr�ls	cSsg|]
}|�qSrr)r�rrrrr�ms	Fr ����r�r&ll�������lll�������lllll l@ll~������?ll l@ll l@ll~������?ll l@ll l@ll l@l@l)
r+r*�map�tupler)�hashr\ZassertNotEqualr/r0)rZ	ranges_eqZ	tuples_eqZ	ranges_ner4r5r)r�r�r�test_comparison^sJ$$'$

$"zRangeTest.test_comparisoncCs�|jtd�ddd�|jtd�ddd�|jtd�ddd�|jtddd�ddd�|jtddd�ddd�|jtddd�ddd�|jtddd	�ddd
�dS)Nrrrri����i����r&r&r$r$)�assert_attrsr+)rrrr�test_attributes�s"""zRangeTest.test_attributesc,Cs�|j|j|�|j|j|�|j|j|�|jt��d|_WdQRX|jt��d|_WdQRX|jt��d|_WdQRX|jt��|`WdQRX|jt��|`WdQRX|jt��|`WdQRXdS)Nrrr)r)rrrr/�AttributeError)rZrangeobjrrrrrrr��s

zRangeTest.assert_attrs) rDrErFrr9r=rBrCrSr[r^r`rqr{r}rr�r�r�r�r�rgZsupportZcpython_onlyr�r�r�r�r�r�r�r�rrrrr	s408U(#



"		5
r	�__main__)Ztest.supportrgZunittestr2rkrrrZTestCaser	rD�mainrrrr�<module>s	���