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_deque.cpython-34.pyo

�
f f
e�@s�ddlmZddlZddlmZmZddlZddlZddlZddl	Z	ddl
mZddlZddl
Z
dZdd�ZGdd	�d	�ZGd
d�d�ZGdd
�d
ej�ZGdd�dej�ZGdd�de�ZGdd�de�ZGdd�dej�ZGdd�de�ZGdd�dej�ZdZied6Zddd�Zedkr�edd �ndS)!�)�dequeN)�support�	seq_tests)�StringIOi��ccst�dVdS)N�)�SyntaxError�rr�4/opt/alt/python34/lib64/python3.4/test/test_deque.py�failsr
c@seZdZdd�ZdS)�BadCmpcCs
t�dS)N)�RuntimeError)�self�otherrrr	�__eq__sz
BadCmp.__eq__N)�__name__�
__module__�__qualname__rrrrr	rsrc@s(eZdZdd�Zdd�ZdS)�	MutateCmpcCs||_||_dS)N)r�result)r
rrrrr	�__init__s	zMutateCmp.__init__cCs|jj�|jS)N)r�clearr)r
rrrr	rs
zMutateCmp.__eq__N)rrrrrrrrr	rsrc@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&e'j(Z(e'j)dIdJ��Z*dKS)L�	TestBasiccs�ttd
d����jtd��x$tdd�D]}�j|�q8Wx*ttdd��D]}�j|�qeW|jt��ttdd���|jt��d��fdd�td	�D�}|j|ttdd
���|jt��ttd
d����fdd�td	�D�}|j	�|j|ttdd���|jt��ttd
d���dS)Nii���i�riXcsg|]}�j��qSr)�popleft)�.0�i)�drr	�
<listcomp>*s	z)TestBasic.test_basics.<locals>.<listcomp>��2csg|]}�j��qSr)�pop)rr)rrr	r.s	�i��ix�i8���i8���i8���)
r�ranger�append�reversed�
appendleft�assertEqual�list�len�reverse)r
r�left�rightr)rr	�test_basics s%%
zTestBasic.test_basicscCs�|jttdd�|jttdd�ttd��}t|dd�}|jt|�g�|jt|�d�|jt|�dd	d
g�|j|ttd�d��|jd�|jt|�d	d
dg�|j	d�|jt|�dd	d
g�|j
ddg�|jt|�d
ddg�|jd	dg�|jt|�dd	d
g�ttd�dd�}|j|�tj
tj�ttjd
�}zO|jt|��|j�ttjd�}|j|j�t|��Wd|j�tj
tj�Xttd�dd�}|jt|�d�ttjd
�}zO|jt|��|j�ttjd�}|j|j�t|��Wd|j�tj
tj�XdS)N�abcr��
�maxlen�zdeque([7, 8, 9], maxlen=3)���	�r�w�rz%deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])������)�assertRaises�
ValueErrorr�iterr"r&r'�reprr#r%�extend�
extendleftr�unlink�TESTFN�open�write�str�close�read)r
�itr�forrr	�test_maxlen3sJ



 

 
zTestBasic.test_maxlencCs�ttd��}t|dd�|jt|�g�ttd��}tdd�}|j|�|jt|�g�ttd��}tdd�}|j|�|jt|�g�dS)N�dr0r)r<r"rr&r'r>r?)r
rGrrrr	�test_maxlen_zero]s

zTestBasic.test_maxlen_zeroc	Cs�|jt�jd�|jtd�jd�|jtddd�jd�|jtddd�jd�|jtddd�jd�|jt��td�}d|_WdQXdS)Nr-r0�r.rr/)r&rr0r:�AttributeError)r
rrrr	�test_maxlen_attributelszTestBasic.test_maxlen_attributecCs�xvdddddfD]]}t|�}t|�}x<dD]4}|j|j|�|j|�|||f�q=WqW|jt|j�|jt|jdd�Gd	d
�d
�}tdd|�dg�}|jt|jd�tdddg�}|jt|j|��Gdd
�d
�}|�}tddd|ddg�}||_|jt|jd�tdgd�}x't	t
|��D]}|jd�q�W|jd�|j|jd�d�|j|jd�d�dS)N�ZabracadabraZ
simsalabimi�r-Zabcdefghijklmnopqrstuvwxyzrr.c@seZdZdd�ZdS)z(TestBasic.test_count.<locals>.BadComparecSs
t�dS)N)�ArithmeticError)r
rrrr	rsz/TestBasic.test_count.<locals>.BadCompare.__eq__N)rrrrrrrr	�
BadCompare~srQr1c@seZdZdd�ZdS)z-TestBasic.test_count.<locals>.MutatingComparecSs|jj�dS)NT)rr )r
rrrr	r�s
z4TestBasic.test_count.<locals>.MutatingCompare.__eq__N)rrrrrrrr	�MutatingCompare�srRrL��rr8)r'rr&�countr:�	TypeErrorrPrrr"r(�rotate)r
�srZletterrQrR�mrrrr	�
test_countvs.
6		
zTestBasic.test_countcCs'td�}|j�x�|td�td�t�t|�gD]�}|j||kt|�t|�ko�t|�t|�k�|j||kt|�t|�ko�t|�t|�k�qAWttd
�}xE|D]=}x4|D],}|j||kt|�t|�k||f�|j||kt|�t|�k||f�|j||kt|�t|�k||f�|j||kt|�t|�k||f�|j||kt|�t|�k||f�|j||kt|�t|�k||f�q�Wq�WdS)N�xabcr-�abrO�a�b�ba�xba�cba)	rOr]r^r\r_zabcr`r[ra)rrr'r&�type�map)r
r�e�args�x�yrrr	�test_comparisons�s
1@E

11111zTestBasic.test_comparisonscCsxtd�}|jt|jd�|jd�|jt|�td��|j|�|jt|�td��dS)Nr]r�bcd�abcd�abcdabcd)rr:rVr>r&r')r
rrrr	�test_extend�s

zTestBasic.test_extendcCs\td�}|d7}|jt|�td��||7}|jt|�td��dS)Nr]rirjrk)rr&r')r
rrrr	�	test_iadd�s


zTestBasic.test_iaddcCs�td�}|jt|jd�|jd�|jt|�ttd���|j|�|jt|�td��t�}|jtd��|jt|�tttd����|jt|jt	��dS)Nr]rrirjZabcddcbai�)
rr:rVr?r&r'r$r"rr
)r
rrrr	�test_extendleft�s
"
	(zTestBasic.test_extendleftcCsd}tt|��}tt|��}x�t|�D]v}|j�|jd�tj�dkr�|j|�|j|�nx'tdt|�t|��D]}q�Wq7Wtd�}|j|dd�|j|dd�t�}|j	t
|jd�|j	t
|jd	�dS)
Nrrg�?rZsupermanrX�nr8r8)rr"r'rr �randomr#r(r&r:�
IndexError�__getitem__)r
ror�lr�jrrr	�test_getitem�s"


&	zTestBasic.test_getitemcCs�d}tt|��}x"t|�D]}d|||<q%W|jt|�dd�t|�D��t|�}x:td|dd�D]"}d|||<d|||<q�W|jt|�|�dS)	Nrr/cSsg|]}d|�qS)r/r)rrrrr	r�s	z*TestBasic.test_setitem.<locals>.<listcomp>rrr2r8)rr"r&r')r
rorrrsrrr	�test_setitem�s)zTestBasic.test_setitemcCs�d}tt|��}|jt|j|d�|jt|j|�x~t|�D]p}|jt|�||�tjt|�t|��}||}|j	||�||=|j
||�qVW|jt|�d�dS)Ni�rr)rr"r:rq�__delitem__r&r(rpZ	randrange�assertInZassertNotIn)r
rorrrt�valrrr	�test_delitem�s
zTestBasic.test_delitemcCs�d}dd�t|�D�}x�t|�D]�}t|d|��}|j�}|jt|�tt|d|����|j|d�|j�|jt|�|d|��q,W|jt|jd�dS)Ni�cSsg|]}tj��qSr)rp)rrrrr	r�s	z*TestBasic.test_reverse.<locals>.<listcomp>r)	r"rr)r&r'r$ZassertIsr:rV)r
ro�datarrr7rrr	�test_reverse�s,
$zTestBasic.test_reversecCs�td�}t|�}t|�}|jd�|jdj|�d�t|�}|jd
�|jdj|�d�|j�|jt|�|�x�t|d�D]�}t|�}t|�}|j|�x!t|�D]}|jd�q�W|jt|�t|��|j|�|jt|�|�|j||�|jt|�|�q�Wx�t|d�D]�}t|�}t|�}|j|�x!t|�D]}|jd�q�W|jt|�t|��|j|�|jt|�|�|j||�|jt|�|�qxWt|�}t|�}|jtd�|j}xttd�D]
}|�quW|jt|�t|��|jt	|jd�|jt	|jdd	�t�}|j�|j|t��dS)N�abcderrOZeabcdZbcdear1�rfr/r8r8)
�tupler(rrWr&�joinr"�BIGr:rV)r
rXrorrrdrtZdrrrr	�test_rotate�sX




		
zTestBasic.test_rotatecCs�td�}|jt|�d�|j�|jt|�d�|j�|jt|�d�|jt|j�|jt|�d�|jd�|jt|�d�|jd�|jt|�d�|j	�|jt|�d�dS)Nr\r.rr�cr)
rr&r(rr r:rqr#r%r)r
rrrr	�test_len1s




zTestBasic.test_lencCs3t�}|jt|j�|jt|j�dS)N)rr:rqr r)r
rrrr	�test_underflowAs	zTestBasic.test_underflowcCs�ttd��}|jt|�d�|j�|jt|�d�|jt|�g�|j�|jt|�g�dS)NrJr)rr"r&r(rr')r
rrrr	�
test_clearFs

zTestBasic.test_clearcCsWtd�}|jd�|j|td��|jd�|j|td��|jt|jd�|j|td��tddt�dg�}t|�}|jt|jd�x0t||�D]\}}|j||k�q�Wxbd
D]Z}td	g�}|j	t
||�dg�|jt|jd�|j|t��q�WdS)NZabcdefghcijr�Z
abdefghcijZ	abdefghijr]r^TFr\)TF)r�remover&r:r;rr�zip�
assertTruer>rrq)r
rrdrfrg�matchrrr	�test_removeOs"


zTestBasic.test_removecCsgttd��}tt|��}|jt|�t|��|j|�|jdt|��dS)Nrz...)rr"�evalr=r&r'r#rx)r
rrdrrr	�	test_reprgs

zTestBasic.test_reprcCs�ttd��}|j|�zttjtj�ttjd�}t|d|dd�|j�ttjd�}|j	|j
�t|��Wd|j�tjtj�XdS)Nrr6�file�endrOr7)rr"r#rr@rArB�printrEr&rFr=)r
rrHrrr	�
test_printns

 
zTestBasic.test_printcCs0|jttddd�|jttd�dS)Nr-r.r1r)r:rVr)r
rrr	�	test_init|szTestBasic.test_initcCs|jtttd��dS)Nr-)r:rV�hashr)r
rrr	�	test_hash�szTestBasic.test_hashcCs�x�dD]�}tt|��}|j|j}}xQt|t�D]@}||�|�}|||krB|j|||�qBqBW|jt|�ttt|t���qWdS)Nrrr.rJ��)rrr.rJr�)rr"r#rr�r&r')r
�sizerr#r rrfrrr	�#test_long_steadystate_queue_popleft�s

	z-TestBasic.test_long_steadystate_queue_popleftcCs�x�dD]�}ttt|���}|j|j}}xQt|t�D]@}||�|�}|||krH|j|||�qHqHW|jttt|���ttt|t���qWdS)Nrrr.rJ��)rrr.rJr�)rr$r"r%r r�r&r')r
r�rr#r rrfrrr	�$test_long_steadystate_queue_popright�s

	z.TestBasic.test_long_steadystate_queue_poprightcCs�t�}|j|j}}xtt�D]}||�q)Wx<tt�D].}|�}||krJ|j||�qJqJWdS)N)rr#rr"r�r&)r
rr#r rrfrrr	�test_big_queue_popleft�s		z TestBasic.test_big_queue_popleftcCs�t�}|j|j}}xtt�D]}||�q)Wx<tt�D].}|�}||krJ|j||�qJqJWdS)N)rr%r r"r�r&)r
rr#r rrfrrr	�test_big_queue_popright�s		z!TestBasic.test_big_queue_poprightcCs�t�}|j|j}}xtt�D]}||�q)WxBttt��D].}|�}||krP|j||�qPqPW|jt|�d�dS)Nr)rr#r r"r�r$r&r()r
rr#r rrfrrr	�test_big_stack_right�s		zTestBasic.test_big_stack_rightcCs�t�}|j|j}}xtt�D]}||�q)WxBttt��D].}|�}||krP|j||�qPqPW|jt|�d�dS)Nr)rr%rr"r�r$r&r()r
rr#r rrfrrr	�test_big_stack_left�s		zTestBasic.test_big_stack_leftcCsZttd��}t|�}|jt|�t|��|jt|�t|��dS)Nr)rr"�assertNotEqual�idr&r')r
rrdrrr	�test_roundtrip_iter_init�sz"TestBasic.test_roundtrip_iter_initcCs�ttd��}xtttjd�D]_}tj||�}tj|�}|jt|�t|��|jt	|�t	|��q&WdS)Nrr)
rr"�pickle�HIGHEST_PROTOCOL�dumps�loadsr�r�r&r')r
rrrXrdrrr	�test_pickle�szTestBasic.test_picklecCs�ttd��}x�ttjd�D]�}t|�}}tj||�}tj|�}|jt|�t|��|jt	|�t	|��tj|�}t
|�tj||�}|jt	|�t	|�dd��q&WdS)Nrr)rr"r�r�r<r�r�r&rbr'�next)r
r{�protorGZitorgrrrr	�test_iterator_pickle�s
zTestBasic.test_iterator_picklecCs�dg}t|g�}tj|�}|jt|�t|��d|d<|jt|�t|��|jt|�t|��dS)Nr/r5r)r�copy�deepcopyr&r'r�r�)r
�mutrrdrrr	�
test_deepcopy�s	
zTestBasic.test_deepcopycCs�dg}t|g�}tj|�}|jt|�t|��d|d<|jt|�t|��|jt|�t|��dS)Nr/r5r)rr�r&r'r�r�)r
r�rrdrrr	�	test_copy�s	
zTestBasic.test_copycCsOxHdtd�fD]4}|jttt|���tt|���qWdS)Nrji�)r"r&r'r$r)r
rXrrr	�
test_reversed�szTestBasic.test_reversedcCsGddl}t�}x+td�D]}|jd�|j�q"WdS)NrrJr)�gcrr"r#�collect)r
r�rrrrr	�test_gc_doesnt_blowup�s
	
zTestBasic.test_gc_doesnt_blowupcCs�Gdd�dt�}x�td�D]�}|�}tj|�}|dkrbt|dg�}ntt|dg��}t|�|_~~tj	�|j
|�dkd�q#WdS)Nc@seZdZdS)z,TestBasic.test_container_iterator.<locals>.CN)rrrrrrr	�C
sr�r.rrzCycle was not collected)�objectr"�weakref�refrr$r<rfr�r�r�)r
r�r�objr�Z	containerrrr	�test_container_iterators	
z!TestBasic.test_container_iteratorcCs�d}tjd�}tjd|�}|jtjt��|�|j}|t�||�|td�||�|td|d�||�|td|�|d|�|tdd|�|d|�dS)	N�>Z2P4nlPz2P%dPr]rr.�*�+)	rZcalcobjsize�structZcalcsizer&r��
__sizeof__r�check_sizeof)r
ZBLOCKLENZbasesizeZ	blocksizeZcheckrrr	�test_sizeofs	zTestBasic.test_sizeofN)+rrrr,rIrKrNrZrhrlrmrnrurvrzr|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�Zcpython_onlyr�rrrr	rsL*
!5	
				rc@s4eZdZdd�Zdd�Zdd�ZdS)�TestVariousIteratorArgscCs�x�ddtd�d	tddd�fD]�}x`tjtjtjtjtjtjfD]4}|jt	t
||���t	||���qYW|jtt
tj
|��|jtt
tj|��|jtt
tj|��q(WdS)
NZ123rOi��do�333333�?i�i�rS)r�r�)r"r�SequenceZIterFuncZIterGenZIterFuncStopZ	itermultiZiterfuncr&r'rr:rVZIterNextOnlyZ
IterNoNext�ZeroDivisionErrorZ
IterGenExc)r
rX�grrr	�test_constructor)s.2z(TestVariousIteratorArgs.test_constructorcCs9td�}t|�}|j�|jtt|�dS)NZabcdefg)rr<r r:rr�)r
rrGrrr	�test_iter_with_altered_data3s
z3TestVariousIteratorArgs.test_iter_with_altered_datacCs9t�}t|�}|jd�|jtt|�dS)Nr/)rr<r#r:rr�)r
rrGrrr	�!test_runtime_error_on_empty_deque9s	
z9TestVariousIteratorArgs.test_runtime_error_on_empty_dequeN)rrrr�r�r�rrrr	r�'s
r�c@seZdZdS)�DequeN)rrrrrrr	r�?sr�c@seZdZdd�ZdS)�DequeWithBadItercCs
t�dS)N)rV)r
rrr	�__iter__CszDequeWithBadIter.__iter__N)rrrr�rrrr	r�Bsr�c@s@eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestSubclasscs�ttd����jtd��x$tdd�D]}�j|�q5Wx*ttdd��D]}�j|�qbW|jt��ttd
d���|jt��d��fdd�td�D�}|j|ttdd	���|jt��ttd	d����fd
d�td�D�}|j	�|j|ttdd���|jt��ttd	d����j
�|jt��d�dS)N�ri�riXcsg|]}�j��qSr)r)rr)rrr	rRs	z,TestSubclass.test_basics.<locals>.<listcomp>rrcsg|]}�j��qSr)r )rr)rrr	rVs	r!i8���i8���i8���)r�r"rr#r$r%r&r'r(r)r)r
rr*r+r)rr	r,Hs"%%
%
zTestSubclass.test_basicscCsXtd�}|j�}|jt|�t|��|jt|�t|��t|�}|jt|�t|��|jt|�t|��x�ttjd�D]{}tj||�}tj	|�}|j
t|�t|��|jt|�t|��|jt|�t|��q�Wtddd�}|j�}|jt|�t|��|jt|�t|��t|�}|jt|�t|��|jt|�t|��x�ttjd�D]{}tj||�}tj	|�}|j
t|�t|��|jt|�t|��|jt|�t|��q�WdS)Nr-rr}r0rL)r��__copy__r&rbr'r"r�r�r�r�r�r�)r
rrdr�rXrrr	�test_copy_pickle^s4 zTestSubclass.test_copy_picklecCsTtd�}tj|�}|jt|�t|��d}|jtt|�dS)NZgallahad)rr��proxyr&rDr:�ReferenceError)r
r�prrr	�test_weakref�s
zTestSubclass.test_weakrefcCsNGdd�dt�}|dddg�}|dddg�}||kdS)	Nc@seZdZdd�ZdS)z-TestSubclass.test_strange_subclass.<locals>.XcSs
tg�S)N)r<)r
rrr	r��sz6TestSubclass.test_strange_subclass.<locals>.X.__iter__N)rrrr�rrrr	�X�sr�rr.r1rLrS�)r)r
r�Zd1Zd2rrr	�test_strange_subclass�sz"TestSubclass.test_strange_subclassN)rrrr,r�r�r�rrrr	r�Fs7r�c@seZdZddd�ZdS)�SubclassWithKwargsrcCstj|�dS)N)rr)r
�newargrrr	r�szSubclassWithKwargs.__init__N)rrrrrrrr	r��sr�c@seZdZdd�ZdS)�TestSubclassWithKwargscCstdd�dS)Nr�r)r�)r
rrr	�test_subclass_with_kwargs�sz0TestSubclassWithKwargs.test_subclass_with_kwargsN)rrrr�rrrr	r��sr�a�

Example from the Library Reference:  Doc/lib/libcollections.tex

>>> from collections import deque
>>> d = deque('ghi')                 # make a new deque with three items
>>> for elem in d:                   # iterate over the deque's elements
...     print(elem.upper())
G
H
I
>>> d.append('j')                    # add a new entry to the right side
>>> d.appendleft('f')                # add a new entry to the left side
>>> d                                # show the representation of the deque
deque(['f', 'g', 'h', 'i', 'j'])
>>> d.pop()                          # return and remove the rightmost item
'j'
>>> d.popleft()                      # return and remove the leftmost item
'f'
>>> list(d)                          # list the contents of the deque
['g', 'h', 'i']
>>> d[0]                             # peek at leftmost item
'g'
>>> d[-1]                            # peek at rightmost item
'i'
>>> list(reversed(d))                # list the contents of a deque in reverse
['i', 'h', 'g']
>>> 'h' in d                         # search the deque
True
>>> d.extend('jkl')                  # add multiple elements at once
>>> d
deque(['g', 'h', 'i', 'j', 'k', 'l'])
>>> d.rotate(1)                      # right rotation
>>> d
deque(['l', 'g', 'h', 'i', 'j', 'k'])
>>> d.rotate(-1)                     # left rotation
>>> d
deque(['g', 'h', 'i', 'j', 'k', 'l'])
>>> deque(reversed(d))               # make a new deque in reverse order
deque(['l', 'k', 'j', 'i', 'h', 'g'])
>>> d.clear()                        # empty the deque
>>> d.pop()                          # cannot pop from an empty deque
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in -toplevel-
    d.pop()
IndexError: pop from an empty deque

>>> d.extendleft('abc')              # extendleft() reverses the input order
>>> d
deque(['c', 'b', 'a'])



>>> def delete_nth(d, n):
...     d.rotate(-n)
...     d.popleft()
...     d.rotate(n)
...
>>> d = deque('abcdef')
>>> delete_nth(d, 2)   # remove the entry at d[2]
>>> d
deque(['a', 'b', 'd', 'e', 'f'])



>>> def roundrobin(*iterables):
...     pending = deque(iter(i) for i in iterables)
...     while pending:
...         task = pending.popleft()
...         try:
...             yield next(task)
...         except StopIteration:
...             continue
...         pending.append(task)
...

>>> for value in roundrobin('abc', 'd', 'efgh'):
...     print(value)
...
a
d
e
b
f
c
g
h


>>> def maketree(iterable):
...     d = deque(iterable)
...     while len(d) > 1:
...         pair = [d.popleft(), d.popleft()]
...         d.append(pair)
...     return list(d)
...
>>> print(maketree('abcdefgh'))
[[[['a', 'b'], ['c', 'd']], [['e', 'f'], ['g', 'h']]]]

�
libreftestcCs�ddl}ttttf}tj|�|r�t|d�r�ddl}dgd}xAt	t
|��D]-}tj|�|j�|j�||<qlWt
|�nddlm}tj||�dS)Nr�gettotalrefcountrS)�
test_deque)�sysrr�r�r�rZrun_unittest�hasattrr�r"r(r�r�r��testr�Zrun_doctest)�verboser�Ztest_classesr�Zcountsrr�rrr	�	test_mains 	




r��__main__r�T)�collectionsrZunittestr�rrr�r�r�r��iorrpr�r�r
rrZTestCaserr�r�r�r�r�r�r�Z__test__r�rrrrr	�<module>s6��`i