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_iter.cpython-34.pyc

�
f f�u�@s'ddlZddlZddlmZmZmZmZddlZddlZ	dddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfgZ
Gdd�d�ZGdd�d�ZGd	d
�d
�Z
Gdd�d�ZGd
d�dej�Zdd�Zedkr#e�ndS)�N)�run_unittest�TESTFN�unlink�cpython_only��c@s4eZdZdd�Zdd�Zdd�ZdS)�BasicIterClasscCs||_d|_dS)Nr)�n�i)�selfr	�r�3/opt/alt/python34/lib64/python3.4/test/test_iter.py�__init__s	zBasicIterClass.__init__cCs2|j}||jkr!t�n|d|_|S)Nr)r
r	�
StopIteration)r�resrrr
�__next__s
		
zBasicIterClass.__next__cCs|S)Nr)rrrr
�__iter__"szBasicIterClass.__iter__N)�__name__�
__module__�__qualname__rrrrrrr
rsrc@s(eZdZdd�Zdd�ZdS)�IteratingSequenceClasscCs
||_dS)N)r	)rr	rrr
r&szIteratingSequenceClass.__init__cCs
t|j�S)N)rr	)rrrr
r(szIteratingSequenceClass.__iter__N)rrrrrrrrr
r%src@s(eZdZdd�Zdd�ZdS)�
SequenceClasscCs
||_dS)N)r	)rr	rrr
r,szSequenceClass.__init__cCs-d|ko|jknr#|St�dS)Nr)r	�
IndexError)rr
rrr
�__getitem__.szSequenceClass.__getitem__N)rrrrrrrrr
r+src@seZdZdd�ZdS)�UnlimitedSequenceClasscCs|S)Nr)rr
rrr
r5sz"UnlimitedSequenceClass.__getitem__N)rrrrrrrr
r4src@s�eZdZddd�Zddd�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%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Zd<d=�Z d>d?�Z!d@dA�Z"dBdC�Z#dDdE�Z$dFdG�Z%dHdI�Z&dJdK�Z'dLdM�Z(dNdO�Z)e*dPdQ��Z+dRdS�Z,dTdU�Z-dVdW�Z.dXdY�Z/dZd[�Z0d\d]�Z1d^d_�Z2d`da�Z3dbdc�Z4ddde�Z5dfdg�Z6e*dhdi��Z7djdk�Z8dlS)m�TestCaseTcCsm|r|j||�ng}x7yt|�}Wntk
rGPYnX|j|�q"W|j||�dS)N)�check_pickle�nextr�append�assertEqual)r�it�seq�pickler�valrrr
�check_iterator=s
zTestCase.check_iteratorcCsW|r|jt|�|�ng}x|D]}|j|�q,W|j||�dS)N)r�iterrr)r�exprr!r"rr#rrr
�check_for_loopJs
zTestCase.check_for_loopcCs�x�ttjd�D]�}tj||�}tj|�}|jt|tjj	��|j
t|�|�tj|�}yt|�Wnt
k
r�wYnXtj||�}tj|�}|j
t|�|dd��qWdS)Nr)�ranger"ZHIGHEST_PROTOCOL�dumps�loads�
assertTrue�
isinstance�collections�abc�Iteratorr�listrr)rZitorgr!�proto�dr rrr
rSs
zTestCase.check_picklecCs,|jttd��ttd���dS)N�
)r$r%r(r0)rrrr
�test_iter_basicgszTestCase.test_iter_basiccCsAttd��}t|�}t|�}|j||k�dS)Nr3)r0r(r%r+)rr!r Zit2rrr
�test_iter_idempotencykszTestCase.test_iter_idempotencycCs,|jttd��ttd���dS)Nr3)r'r%r(r0)rrrr
�test_iter_for_looprszTestCase.test_iter_for_loopcCs�td�}g}xXt|�D]J}xAt|�D]3}x*t|�D]}|j|||f�qEWq2WqW|j|t�dS)N�)r(r%rr�TRIPLETS)rr!rr
�j�krrr
�test_iter_independencevs"zTestCase.test_iter_independencecs?td���fdd�t��D�}|j|t�dS)Nr7csEg|];}t��D](}t��D]}|||f�q&qqSr)r%)�.0r
r9r:)r!rr
�
<listcomp>�s	z<TestCase.test_nested_comprehensions_iter.<locals>.<listcomp>)r(r%rr8)rrr)r!r
�test_nested_comprehensions_iter�sz(TestCase.test_nested_comprehensions_itercs9td���fdd��D�}|j|t�dS)Nr7cs9g|]/}�D]"}�D]}|||f�qqqSrr)r<r
r9r:)r!rr
r=�s	z;TestCase.test_nested_comprehensions_for.<locals>.<listcomp>)r(rr8)rrr)r!r
�test_nested_comprehensions_for�sz'TestCase.test_nested_comprehensions_forcCs&|jtd�ttd���dS)Nr3)r'rr0r()rrrr
�test_iter_class_for�szTestCase.test_iter_class_forcCs,|jttd��ttd���dS)Nr3)r$r%rr0r()rrrr
�test_iter_class_iter�szTestCase.test_iter_class_itercCs&|jtd�ttd���dS)Nr3)r'rr0r()rrrr
�test_seq_class_for�szTestCase.test_seq_class_forcCs,|jttd��ttd���dS)Nr3)r$r%rr0r()rrrr
�test_seq_class_iter�szTestCase.test_seq_class_itercCs0Gdd�dt�}|jtt|��dS)Nc@seZdZdd�ZdS)z5TestCase.test_new_style_iter_class.<locals>.IterClasscSs|S)Nr)rrrr
r�sz>TestCase.test_new_style_iter_class.<locals>.IterClass.__iter__N)rrrrrrrr
�	IterClass�srD)�object�assertRaises�	TypeErrorr%)rrDrrr
�test_new_style_iter_class�sz"TestCase.test_new_style_iter_classcCsEGdd�d�}|jt|�d�ttd��dd�dS)Nc@s(eZdZdd�Zdd�ZdS)z&TestCase.test_iter_callable.<locals>.CcSs
d|_dS)Nr)r
)rrrr
r�sz/TestCase.test_iter_callable.<locals>.C.__init__cSs/|j}|d|_|dkr+t�n|S)Nr�d)r
r)rr
rrr
�__call__�s
	
	z/TestCase.test_iter_callable.<locals>.C.__call__N)rrrrrJrrrr
�C�srKr3r"F)r$r%r0r()rrKrrr
�test_iter_callable�s	zTestCase.test_iter_callablecCsAdgdd�}|jt|d�ttd��dd�dS)NrcSs|d}|d|d<|S)Nrrr)�stater
rrr
�spam�s
z)TestCase.test_iter_function.<locals>.spamr3r"F)r$r%r0r()rrNrrr
�test_iter_function�szTestCase.test_iter_functioncCsAdgdd�}|jt|d�ttd��dd�dS)NrcSs1|d}|dkrt�n|d|d<|S)Nrr3r)r)rMr
rrr
rN�s

	z.TestCase.test_iter_function_stop.<locals>.spam�r3r"F)r$r%r0r()rrNrrr
�test_iter_function_stop�sz TestCase.test_iter_function_stopcCs�dgdd�}g}y+x$t|d�D]}|j|�q+WWn.tk
rs|j|ttd���YnX|jd�dS)NrcSs1|d}|d|d<|dkr-t�n|S)Nrrr3)�RuntimeError)rMr
rrr
rN�s

	z.TestCase.test_exception_function.<locals>.spamrPr3zshould have raised RuntimeError)r%rrRrr0r(�fail)rrNr�xrrr
�test_exception_function�s
!z TestCase.test_exception_functioncCs�Gdd�dt�}g}y(x!|d�D]}|j|�q,WWn.tk
rt|j|ttd���YnX|jd�dS)Nc@seZdZdd�ZdS)z9TestCase.test_exception_sequence.<locals>.MySequenceClasscSs%|dkrt�ntj||�S)Nr3)rRrr)rr
rrr
r�s	zETestCase.test_exception_sequence.<locals>.MySequenceClass.__getitem__N)rrrrrrrr
�MySequenceClass�srVrPr3zshould have raised RuntimeError)rrrRrr0r(rS)rrVrrTrrr
�test_exception_sequence�s
!z TestCase.test_exception_sequencecCsBGdd�dt�}|j|d�ttd��dd�dS)Nc@seZdZdd�ZdS)z4TestCase.test_stop_sequence.<locals>.MySequenceClasscSs%|dkrt�ntj||�S)Nr3)rrr)rr
rrr
r�s	z@TestCase.test_stop_sequence.<locals>.MySequenceClass.__getitem__N)rrrrrrrr
rV�srVrPr3r"F)rr'r0r()rrVrrr
�test_stop_sequence�szTestCase.test_stop_sequencecCs,|jttd��ttd���dS)Ni')r'r%r(r0)rrrr
�test_iter_big_range�szTestCase.test_iter_big_rangecCs|jtg�g�dS)N)r'r%)rrrr
�test_iter_empty�szTestCase.test_iter_emptycCs&|jtd�ttd���dS)
Nrrrr7������	r3)
rrrr7r[r\r]r^r_r`)r'r%r0r()rrrr
�test_iter_tuple�szTestCase.test_iter_tuplecCs,|jttd��ttd���dS)Nr3)r'r%r(r0)rrrr
�test_iter_range�szTestCase.test_iter_rangecCs)|jtd�dddddg�dS)N�abcde�a�b�cr2�e)r'r%)rrrr
�test_iter_string�szTestCase.test_iter_stringcCsGi}xtd�D]}d||<qW|j|t|j���dS)Nr3)r(r'r0�keys)r�dictr
rrr
�test_iter_dictszTestCase.test_iter_dictcCs�ttd�}z,x%td�D]}|jd|�qWWd|j�Xttd�}z?|j|ddddd	gd
d�|j|gd
d�Wd|j�ytt�Wntk
r�YnXXdS)N�wr\z%d
�rz0
z1
z2
z3
z4
r"F)�openrr(�write�closer'r�OSError)r�fr
rrr
�test_iter_files%

zTestCase.test_iter_filecCs�|jttd��ttd���|jttd��g�|jtf�g�idd6dd6dd6}|jt|�t|j���|jttt�|jttd	�ttd
�}z,x%td�D]}|j	d|�q�WWd|j
�Xttd�}z^|jt|�d
ddddg�|jdd�|jt|�d
ddddg�Wd|j
�ytt�Wnt
k
r�YnXXdS)Nr\rr�oner�twor7�three�*rlz%d
rmz0
z1
z2
z3
z4
)rr0rr(rirFrGrnrrorp�seekrrq)rr2rrr
rrr
�test_builtin_lists.("%

zTestCase.test_builtin_listcCs�|jttd��d�|jttd��f�|jtg�f�|jtf�f�|jtd�d�idd6dd6dd
6}|jt|�t|j���|jttt�|jttd�ttd�}z,x%t	d�D]}|j
d|�q�WWd|j�Xttd�}z@|jt|�d�|jdd�|jt|�d�Wd|j�yt
t�Wntk
r�YnXXdS)Nr\rrrr7r[r.rdrerfrtrurvrwrlz%d
rm�0
�1
�2
�3
�4
)rrrr7r[)rdrerf)rzr{r|r}r~)rzr{r|r}r~)r�tuplerrirFrGr0rnrr(rorprxrrq)rr2rrr
rrr
�test_builtin_tuple:s2"

zTestCase.test_builtin_tuplecCs�|jttdtd���ttdd���|jttdtd���g�|jttdf��g�|jttdd��dddg�idd6d	d
6dd6}|jttd|��t|j���|jttdt�|jttdd
�Gdd�d�}|d�}|d�}Gdd�d�}|||gd�}|jttdd�|��|gd�|jttdd�t|���|gd�dS)Nr\rrr.rdrerfrtrrur7rvrwc@s(eZdZdd�Zdd�ZdS)z-TestCase.test_builtin_filter.<locals>.BooleancSs
||_dS)N)�truth)rr�rrr
risz6TestCase.test_builtin_filter.<locals>.Boolean.__init__cSs|jS)N)r�)rrrr
�__bool__ksz6TestCase.test_builtin_filter.<locals>.Boolean.__bool__N)rrrrr�rrrr
�Booleanhsr�TFc@s(eZdZdd�Zdd�ZdS)z)TestCase.test_builtin_filter.<locals>.SeqcWs
||_dS)N)�vals)r�argsrrr
rqsz2TestCase.test_builtin_filter.<locals>.Seq.__init__cSs Gdd�d�}||j�S)Nc@s4eZdZdd�Zdd�Zdd�ZdS)zCTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqItercSs||_d|_dS)Nr)r�r
)rr�rrr
rus	zLTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqIter.__init__cSs|S)Nr)rrrr
rxszLTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqIter.__iter__cSs@|j}|d|_|t|j�kr6|j|St�dS)Nr)r
�lenr�r)rr
rrr
rzs
	
zLTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqIter.__next__N)rrrrrrrrrr
�SeqItertsr�)r�)rr�rrr
rss
z2TestCase.test_builtin_filter.<locals>.Seq.__iter__N)rrrrrrrrr
�Seqpsr��cSs|S)Nr)rTrrr
�<lambda>�sz.TestCase.test_builtin_filter.<locals>.<lambda>cSs|S)Nr)rTrrr
r��s)	rr0�filterrr(rirFrGr%)rr2r�ZbTrueZbFalser�r!rrr
�test_builtin_filter[s %(+,zTestCase.test_builtin_filtercCs�|jttd��d�|jttd��d�|jtdd�d�|jtdd�d�idd6dd6d	d
6}|jt|�d�|jt|�d�|jt|j��d	�|jtt|j���d�ttd�}z+|jd�|jd
�|jd�Wd|j	�Xttd�}z@|jt|�d�|j
dd�|jt|�d
�Wd|j	�ytt�Wntk
r�YnXXdS)Nr\r[rr_rrtrrur7rvrlzmedium line
zxtra large line
zitty-bitty line
rm���r�r�)
r�maxr�min�valuesr%rnrrorprxrrq)rr2rrrrr
�test_builtin_max_min�s2"



zTestCase.test_builtin_max_mincs�|jttdd�td���ttdd���idd6dd6d	d
6�|jtt�dd����t�j���t�j�����fdd
�td	�D�}ttd�}z0x)td�D]}|j	d|d�q�WWd|j
�Xttd�}z5|jttt|��ttddd���Wd|j
�ytt�Wnt
k
r}YnXXdS)NcSs|dS)Nrr)rTrrr
r��sz+TestCase.test_builtin_map.<locals>.<lambda>r\rr]rtrrur7rvcSs|||fS)Nr)r:r2rrr
r��scsWg|]M}|t��kr(�|p+d||t��krJ�|pMdf�qS)N)r�)r<r
)r2�dkeysrr
r=�s	z-TestCase.test_builtin_map.<locals>.<listcomp>rlr3Zxy�
rm�)rr0�maprr(�itemsrirnrrorpr�rrq)r�expectedrrr
r)r2r�r
�test_builtin_map�s*$!5

zTestCase.test_builtin_mapcCs�|jtt��g�|jttg��g�|jttd%dg��d&d'g�|jttd�|jtttd�d�|jtttd�t�|jtttd���d(d)d*g�|jtttd���d+d,d-g�idd
6dd6dd6}|jt|j��tt||j	����Gd
d�d�}t
td�}z|jd�Wd|j
�Xt
td�}z;|jtt|d	�||d.���d0d2d4g�Wd|j
�ytt�Wntk
rYnXX|jtttd���dd�td�D��Gdd�d�}Gdd�d|�}Gdd �d |�}d!d"�}|jt|��d�|jt|��d#�|j||��|td���|j||��|td���|j||��|td���d$d�td�D�}x\|�|�|�fD]B}	x9|�|�|�fD]}
|j||	|
�|�qxWqYWdS)5NrrZabrdrer3rwr7rrtrurvc@s4eZdZdd�Zdd�Zdd�ZdS)z+TestCase.test_builtin_zip.<locals>.IntsFromcSs
||_dS)N)r
)r�startrrr
r�sz4TestCase.test_builtin_zip.<locals>.IntsFrom.__init__cSs|S)Nr)rrrr
r�sz4TestCase.test_builtin_zip.<locals>.IntsFrom.__iter__cSs|j}|d|_|S)Nr)r
)rr
rrr
r�s	
z4TestCase.test_builtin_zip.<locals>.IntsFrom.__next__N)rrrrrrrrrr
�IntsFrom�sr�rlz	a
bbb
cc
rmrI�a
�bbb
�c�cc
�br\cSsg|]}|f�qSrr)r<r
rrr
r=�s	z-TestCase.test_builtin_zip.<locals>.<listcomp>c@seZdZdd�ZdS)z.TestCase.test_builtin_zip.<locals>.NoGuessLen5cSs|dkrt�n|S)Nr\)r)rr
rrr
r�s	z:TestCase.test_builtin_zip.<locals>.NoGuessLen5.__getitem__N)rrrrrrrr
�NoGuessLen5�sr�c@seZdZdd�ZdS)z-TestCase.test_builtin_zip.<locals>.Guess3Len5cSsdS)Nr7r)rrrr
�__len__sz5TestCase.test_builtin_zip.<locals>.Guess3Len5.__len__N)rrrr�rrrr
�
Guess3Len5�sr�c@seZdZdd�ZdS)z.TestCase.test_builtin_zip.<locals>.Guess30Len5cSsdS)N�r)rrrr
r�sz6TestCase.test_builtin_zip.<locals>.Guess30Len5.__len__N)rrrr�rrrr
�Guess30Len5sr�cWstt|��S)N)r0�zip)r�rrr
�lzipsz'TestCase.test_builtin_zip.<locals>.lzipr�cSsg|]}||f�qSrr)r<r
rrr
r=s	)rr)rrd)rre)r)r)r)r)r)ri�������)rr�r����)rr�r����)rr�r�)rr0r�rFrGr(rrr�r�rnrrorprrqr�)rr2r�rrr�r�r�r�r�rT�yrrr
�test_builtin_zip�sT(1'

5%%%zTestCase.test_builtin_zipcCs�Gdd�d�}ttd�}z|jd�Wd|j�Xttd�}z)dj||��}|j|d	�Wd|j�ytt�Wntk
r�YnXXdS)Nc@s4eZdZdd�Zdd�Zdd�ZdS)z4TestCase.test_unicode_join_endcase.<locals>.OhPhooeycSst|�|_d|_dS)Nr)r%r r
)rr!rrr
rsz=TestCase.test_unicode_join_endcase.<locals>.OhPhooey.__init__cSs|S)Nr)rrrr
rsz=TestCase.test_unicode_join_endcase.<locals>.OhPhooey.__iter__cSs3|j}|d|_|dkr&dSt|j�S)Nrrzfooled you!)r
rr )rr
rrr
r!s
	
z=TestCase.test_unicode_join_endcase.<locals>.OhPhooey.__next__N)rrrrrrrrrr
�OhPhooeysr�rlza
zb
zc
rmz - za
 - b
 - fooled you! - c
za
b
za
b
c
)rnrrorp�joinrrrq)rr�rrZgotrrr
�test_unicode_join_endcases

z"TestCase.test_unicode_join_endcasecCsox�td�td�fD]p}x$td�D]}|j||�q,Wx@dddddgidd6d|f	D]}|j||�qoWqW|jtdd	��|jtd
d	��idd6dd
6dd6dd6}x4|D],}|j||�|j||j��q�Wx:|j�D],}|j||j��|j||�qWxR|j�D]D\}}|j||f|j��|j||f|j��q\Wt	t
d�}z|jd�Wd|j�Xt	t
d�}zYxRdD]J}|j
dd�|j||�|j
dd�|j|d|�q�WWd|j�ytt
�Wntk
riYnXXdS)Nr\r.rg�(\��5E@r7r[y(@cSs
ddkS)Nr7�rrrrr
r�Fsz-TestCase.test_in_and_not_in.<locals>.<lambda>cSs
dtkS)Nr7)r�rrrr
r�Gsrtrrurvy@y�?rlza
b
c
rmrr�r�)r7r[y@(�)rrr(ZassertInZassertNotInrFrGr�r�rnrrorprxrrq)rZsc5r
r2r:�vrr�chunkrrr
�test_in_and_not_in?sB/"
 


zTestCase.test_in_and_not_incCsddlm}|j|ddddddgd�d�|j|dd�d�|j|dd�d�|j|dd	�d�|jt|d
d�|jt|||�idd6dd6dd
6dd6}x'|D]}|j|||�d�q�W|j||j�d�d�|j||j�d�d�|j||j�d�d�ttd�}z|jd�Wd|j	�Xttd�}zHxAdD]9\}}|j
dd�|j|||d�|�q�WWd|j	�ytt�Wntk
rYnXXdS)Nr)�countOfrrr7r\�122325�2�6rwrtrurvy@y�?rlza
b
c
b
rmrdrerfr2r�)rrrr7rr\�rdr�rer�rfr�r2r)r�r�r�r�)
�operatorr�rrFrGr�rnrrorprxrrq)rr�r2r:rrZletter�countrrr
�test_countOfhs6+"
%

zTestCase.test_countOfcCs[ddlm}|j|ddddddgd�d�|j|dd�d�|j|dd�d�|j|dd�d�|jt|dd�|jt|dd�|j|dd	�d�|j|dd
�d�|jt|dd�|jt|dd�|jt|||�ttd
�}z|jd�Wd|j	�Xttd�}zqt
|�}|j||d�d�|j||d�d�|j||d�d�|jt||d�Wd|j	�ytt�Wntk
rYnXXt
d�}x-td�D]}|j|||�|�qW|jt||d�dS)Nr)�indexOfrrr7r\r]r�r��5r�rwrlz
a
b
c
d
e
rmzb
zd
ze
za
)rrrr7rr\)rrrr7rr\)rrrr7rr\)rrrr7rr\)rrrr7rr\r�)r�r�rrF�
ValueErrorrGrnrrorpr%rrqrr()rr�rrZfiterZiclassr
rrr
�test_indexOf�s@+

zTestCase.test_indexOfcs?ttd�}z�|jt|jd�|jt|jd�|jddg�|jd�|jidd6�|ji�Gdd	�d	��G�fd
d�d�}|j|dd��|j�tt�}dd�tdd�D�}|jt|�|�Wd|j�yt	t�Wnt
k
r9YnXXdS)Nrlrwz1
z2
�3
�4
z5
c@s4eZdZdd�Zdd�Zdd�ZdS)z*TestCase.test_writelines.<locals>.IteratorcSs"||_||_|j|_dS)N)r��finishr
)rr�r�rrr
r�s		z3TestCase.test_writelines.<locals>.Iterator.__init__cSsA|j|jkrt�nt|j�d}|jd7_|S)Nr�r)r
r�r�str)r�resultrrr
r�s
	z3TestCase.test_writelines.<locals>.Iterator.__next__cSs|S)Nr)rrrr
r�sz3TestCase.test_writelines.<locals>.Iterator.__iter__N)rrrrrrrrrr
r/�sr/cs.eZdZdd�Z�fdd�ZdS)z*TestCase.test_writelines.<locals>.WhatevercSs||_||_dS)N)r�r�)rr�r�rrr
r�s	z3TestCase.test_writelines.<locals>.Whatever.__init__cs�|j|j�S)N)r�r�)r)r/rr
r�sz3TestCase.test_writelines.<locals>.Whatever.__iter__N)rrrrrr)r/rr
�Whatever�sr�r]i�cSs g|]}t|�d�qS)r�)r�)r<r
rrr
r=�s	z,TestCase.test_writelines.<locals>.<listcomp>ri�)r�r�i�)rnrrFrG�
writelinesrpr(rr0rrq)rrrr�r�r)r/r
�test_writelines�s(




zTestCase.test_writelinesc5Cs,d\}}|j||fd�td�\}}}|j|||fd�ytd�\}}Wntk
rzYnX|jd�ytd�\}}}Wntk
r�YnX|jd�yt\}}}Wntk
r�YnX|jd�idd6dd6dd6j�\}}}|j|||fd�ttd�}d}z"x|D]}|j	|�qZWWd|j
�Xttd�}z,|\}}}|j|||f|�Wd|j
�ytt�Wntk
r�YnXXtd�id
d6\}}\}|j|||fd�dS)Nrrr7rzshould have raised ValueErrorzshould have raised TypeErrorrwrl�a
�bb
�ccc
rm�)rr)rr)rrr)rwrwrw)r�r�r�)rrrw)
rrr�rSr�rGr�rnrrorprrq)rrdrerfrr�lines�linerrr
�test_unpack_iter�sL





*


#zTestCase.test_unpack_itercCs�Gdd�dt�}|�}|j|jd�~|j|jd�|�|�|�g}|j|jd�yt|�\}}Wntk
r�YnX~|j|jd�dS)Nc@s.eZdZdZdd�Zdd�ZdS)z.TestCase.test_ref_counting_behavior.<locals>.CrcSs|jd7_tj|�S)Nr)r�rE�__new__)�clsrrr
r�"sz6TestCase.test_ref_counting_behavior.<locals>.C.__new__cSs1|j}|jdkst�|jd8_dS)Nrr)�	__class__r��AssertionError)rr�rrr
�__del__%s	z6TestCase.test_ref_counting_behavior.<locals>.C.__del__N)rrrr�r�r�rrrr
rK srKrrr7)rErr�r%r�)rrKrT�lrdrerrr
�test_ref_counting_behaviors		
z#TestCase.test_ref_counting_behaviorcCspttd��}t|�}|jt|�ttd���|jtdd��|jt|�g�dS)Nr\r3)r0r(r%r�extend)rrdrerrr
�test_sinkstate_list;s
"zTestCase.test_sinkstate_listcCsNd}t|�}|jt|�ttd���|jt|�g�dS)Nrrrr7r[r\)rrrr7r[)r%rr0r()rrdrerrr
�test_sinkstate_tupleCs"zTestCase.test_sinkstate_tuplecCsQd}t|�}|jt|�dddddg�|jt|�g�dS)Nrcrdrerfr2rg)r%rr0)rrdrerrr
�test_sinkstate_stringIs%zTestCase.test_sinkstate_stringcCs]td�}t|�}|jt|�ttd���d|_|jt|�g�dS)Nr\r3)rr%rr0r(r	)rrdrerrr
�test_sinkstate_sequenceOs
"	z TestCase.test_sinkstate_sequencecCs]dgdd�}t|d�}|jt|�ttd���|jt|�g�dS)NrcSs7|d}|d|d<|dkr3td��n|S)Nrrr3zshouldn't have gotten this far)r�)rMr
rrr
rNYs

z.TestCase.test_sinkstate_callable.<locals>.spamr\)r%rr0r()rrNrerrr
�test_sinkstate_callableWs"z TestCase.test_sinkstate_callablecCs�idd6dd6dd6dd6dd6}xpt|�|j�|j�|j�fD]D}t|�}|jtt|��d�|jt|�g�qTWdS)Nrrrr[r7r\)r%rir�r�rr�r0)rrdrerrr
�test_sinkstate_dictcs
)1zTestCase.test_sinkstate_dictcCsQdd�}|�}|jt|�ttd���|jt|�g�dS)Ncss xtd�D]}|Vq
WdS)Nr\)r()r
rrr
�genmsz*TestCase.test_sinkstate_yield.<locals>.genr\)rr0r()rr�rerrr
�test_sinkstate_yieldls	"zTestCase.test_sinkstate_yieldcCsTtd�}t|�}|jt|�ttd���|jt|�g�dS)Nr\)r(r%rr0)rrdrerrr
�test_sinkstate_rangets"zTestCase.test_sinkstate_rangecCsotd�}t|�}t|�}|jt|�tttd�td����|jt|�g�dS)Nr\)r(�	enumerater%rr0r�)rrdrgrerrr
�test_sinkstate_enumeratezs
1z!TestCase.test_sinkstate_enumeratecsMG�fdd�dt��yx��D]}q)WWntk
rHYnXdS)Ncs.eZdZdd�Z�fdd�ZdS)z'TestCase.test_3720.<locals>.BadIteratorcSs|S)Nr)rrrr
r�sz0TestCase.test_3720.<locals>.BadIterator.__iter__cs
�`dS)Nr)r)r)�BadIteratorrr
r�sz0TestCase.test_3720.<locals>.BadIterator.__next__N)rrrrrr)r�rr
r��sr�)rErG)rr
r)r�r
�	test_3720�s
zTestCase.test_3720cCsgdd�}dgd}x!td�D]}|jd�q&W|j|��|jt|�d�dS)Ncss xtd�D]}|Vq
WdS)Ni�)r()r
rrr
r��szITestCase.test_extending_list_with_iterator_does_not_segfault.<locals>.genri���i�)r(�popr�rr�)rr�Zlstr
rrr
�3test_extending_list_with_iterator_does_not_segfault�s
z<TestCase.test_extending_list_with_iterator_does_not_segfaultcCs�tt��}|jtjd�|jt|�tjd�|jt|�tjd�|jt��t|�WdQX|jt��t|�WdQXdS)Nrr)	r%r�__setstate__�sys�maxsizerrrF�
OverflowError)rr rrr
�test_iter_overflow�szTestCase.test_iter_overflowcCsLtt��}|jd�|jt|�d�|jt|�d�dS)Nrwrri���)r%rr�rr)rr rrr
�test_iter_neg_setstate�s
zTestCase.test_iter_neg_setstateN)9rrrr$r'rr4r5r6r;r>r?r@rArBrCrHrLrOrQrUrWrXrYrZrarbrhrkrsryr�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr
r:sj
	


	!- O*)#)55	rcCstt�dS)N)rrrrrr
�	test_main�sr��__main__)r�ZunittestZtest.supportrrrrr"Zcollections.abcr-r8rrrrrr�rrrrr
�<module>s0"$$$$$$$$*
	���}