HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/__pycache__/test_iter.cpython-37.opt-2.pyc
B

��g~�@s�ddlZddlZddlmZmZmZmZddlmZddlZddl	Z
dddddd	d
ddd
dddddddddddddddddgZGdd �d �ZGd!d"�d"�Z
Gd#d$�d$�ZGd%d&�d&�ZGd'd(�d(�ZGd)d*�d*�ZGd+d,�d,ej�Zd-d.�Zed/kr�e�dS)0�N)�run_unittest�TESTFN�unlink�cpython_only)�check_free_after_iterating)rrr)rr�)rr�)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrrc@s$eZdZdd�Zdd�Zdd�ZdS)�BasicIterClasscCs||_d|_dS)Nr)�n�i)�selfr
�r
�*/usr/local/lib/python3.7/test/test_iter.py�__init__szBasicIterClass.__init__cCs"|j}||jkrt�|d|_|S)Nr)rr
�
StopIteration)r�resr
r
r�__next__s


zBasicIterClass.__next__cCs|S)Nr
)rr
r
r�__iter__#szBasicIterClass.__iter__N)�__name__�
__module__�__qualname__rrrr
r
r
rr	sr	c@seZdZdd�Zdd�ZdS)�IteratingSequenceClasscCs
||_dS)N)r
)rr
r
r
rr'szIteratingSequenceClass.__init__cCs
t|j�S)N)r	r
)rr
r
rr)szIteratingSequenceClass.__iter__N)rrrrrr
r
r
rr&src@seZdZdd�Zdd�ZdS)�
SequenceClasscCs
||_dS)N)r
)rr
r
r
rr-szSequenceClass.__init__cCs&d|kr|jkrnn|St�dS)Nr)r
�
IndexError)rrr
r
r�__getitem__/szSequenceClass.__getitem__N)rrrrrr
r
r
rr,src@seZdZdd�ZdS)�UnlimitedSequenceClasscCs|S)Nr
)rrr
r
rr6sz"UnlimitedSequenceClass.__getitem__N)rrrrr
r
r
rr5src@seZdZdS)�DefaultIterClassN)rrrr
r
r
rr9src@seZdZdd�ZdZdS)�NoIterClasscCs|S)Nr
)rrr
r
rr=szNoIterClass.__getitem__N)rrrrrr
r
r
rr<src@s�eZdZdudd�Zdvdd�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)dPdQ�Z*dRdS�Z+e,dTdU��Z-dVdW�Z.dXdY�Z/dZd[�Z0d\d]�Z1d^d_�Z2d`da�Z3dbdc�Z4ddde�Z5dfdg�Z6dhdi�Z7djdk�Z8e,dldm��Z9dndo�Z:dpdq�Z;drds�Z<dtS)w�TestCaseTcCsX|r|�||�g}x2yt|�}Wntk
r8PYnX|�|�qW|�||�dS)N)�check_pickle�nextr�append�assertEqual)r�it�seq�pickler�valr
r
r�check_iteratorFszTestCase.check_iteratorcCs@|r|�t|�|�g}x|D]}|�|�qW|�||�dS)N)r�iterr!r")r�exprr$r%rr&r
r
r�check_for_loopSs
zTestCase.check_for_loopc	Cs�x�ttjd�D]�}t�||�}t�|�}|�t|tjj	��|�
t|�|�t�|�}yt|�Wnt
k
rzwYnXt�||�}t�|�}|�
t|�|dd��qWdS)Nr)�ranger%�HIGHEST_PROTOCOL�dumps�loads�
assertTrue�
isinstance�collections�abc�Iteratorr"�listr r)rZitorgr$�proto�dr#r
r
rr\s


zTestCase.check_picklecCs |�ttd��ttd���dS)N�
)r'r(r+r4)rr
r
r�test_iter_basicpszTestCase.test_iter_basiccCs.ttd��}t|�}t|�}|�||k�dS)Nr7)r4r+r(r/)rr$r#Zit2r
r
r�test_iter_idempotencytszTestCase.test_iter_idempotencycCs |�ttd��ttd���dS)Nr7)r*r(r+r4)rr
r
r�test_iter_for_loop{szTestCase.test_iter_for_loopcCsbtd�}g}xDt|�D]8}x2t|�D]&}x t|�D]}|�|||f�q2Wq$WqW|�|t�dS)N�)r+r(r!r"�TRIPLETS)rr$rr�j�kr
r
r�test_iter_independenceszTestCase.test_iter_independencecs.td���fdd�t��D�}|�|t�dS)Nr;cs2g|]*}t��D]}t��D]}|||f�qqqSr
)r()�.0rr=r>)r$r
r�
<listcomp>�sz<TestCase.test_nested_comprehensions_iter.<locals>.<listcomp>)r+r(r"r<)rrr
)r$r�test_nested_comprehensions_iter�s
z(TestCase.test_nested_comprehensions_itercs*td���fdd��D�}|�|t�dS)Nr;cs*g|]"}�D]}�D]}|||f�qqqSr
r
)r@rr=r>)r$r
rrA�sz;TestCase.test_nested_comprehensions_for.<locals>.<listcomp>)r+r"r<)rrr
)r$r�test_nested_comprehensions_for�sz'TestCase.test_nested_comprehensions_forcCs|�td�ttd���dS)Nr7)r*rr4r+)rr
r
r�test_iter_class_for�szTestCase.test_iter_class_forcCs |�ttd��ttd���dS)Nr7)r'r(rr4r+)rr
r
r�test_iter_class_iter�szTestCase.test_iter_class_itercCs|�td�ttd���dS)Nr7)r*rr4r+)rr
r
r�test_seq_class_for�szTestCase.test_seq_class_forcCs |�ttd��ttd���dS)Nr7)r'r(rr4r+)rr
r
r�test_seq_class_iter�szTestCase.test_seq_class_itercCs�td�}�x�ttjd�D�]z}t|�}t�||f|�}t�|�\}}d|_|�t	|�t	|��|�
t|�ttd���t|�t�||f|�}t�|�\}}d|_|�t	|�t	|��|�
t|�ttdd���xtdd�D]}t|�q�Wt�||f|�}t�|�\}}d|_|�t	|�t	|��|�
t|�ttdd���|�
tt|�t�||f|�}t�|�\}}d|_|�t|tjj��|�
t|�g�qWdS)N�r�)rr+r%r,r(r-r.r
ZassertIs�typer"r4r �assertRaisesrr/r0r1r2r3)rZorigr5Zitorigr6r#r$rr
r
r�#test_mutating_seq_class_iter_pickle�s6z,TestCase.test_mutating_seq_class_iter_picklec
Csztd�}t|�}t|�}x|D]}t|�qWd|_|�t|�g�|�t|�ddg�|�t|�dddddddg�dS)	NrHrI�rrrr;�)rr(r r
r"r4)r�aZexhitZempit�xr
r
r�&test_mutating_seq_class_exhausted_iter�s
z/TestCase.test_mutating_seq_class_exhausted_itercCs$Gdd�dt�}|�tt|��dS)Nc@seZdZdd�ZdS)z5TestCase.test_new_style_iter_class.<locals>.IterClasscSs|S)Nr
)rr
r
rr�sz>TestCase.test_new_style_iter_class.<locals>.IterClass.__iter__N)rrrrr
r
r
r�	IterClass�srR)�objectrK�	TypeErrorr()rrRr
r
r�test_new_style_iter_class�sz"TestCase.test_new_style_iter_classcCs2Gdd�d�}|jt|�d�ttd��dd�dS)Nc@seZdZdd�Zdd�ZdS)z&TestCase.test_iter_callable.<locals>.CcSs
d|_dS)Nr)r)rr
r
rr�sz/TestCase.test_iter_callable.<locals>.C.__init__cSs |j}|d|_|dkrt�|S)Nr�d)rr)rrr
r
r�__call__�s

z/TestCase.test_iter_callable.<locals>.C.__call__N)rrrrrWr
r
r
r�C�srXr7F)r%)r'r(r4r+)rrXr
r
r�test_iter_callable�s	zTestCase.test_iter_callablecCs0dgfdd�}|jt|d�ttd��dd�dS)NrcSs|d}|d|d<|S)Nrrr
)�staterr
r
r�spam�sz)TestCase.test_iter_function.<locals>.spamr7F)r%)r'r(r4r+)rr[r
r
r�test_iter_function�szTestCase.test_iter_functioncCs0dgfdd�}|jt|d�ttd��dd�dS)NrcSs$|d}|dkrt�|d|d<|S)Nrr7r)r)rZrr
r
rr[�s
z.TestCase.test_iter_function_stop.<locals>.spam�r7F)r%)r'r(r4r+)rr[r
r
r�test_iter_function_stop�sz TestCase.test_iter_function_stopc	Csldgfdd�}g}y"xt|d�D]}|�|�q WWn(tk
r\|�|ttd���YnX|�d�dS)NrcSs$|d}|d|d<|dkr t�|S)Nrrr7)�RuntimeError)rZrr
r
rr[�s
z.TestCase.test_exception_function.<locals>.spamr]r7zshould have raised RuntimeError)r(r!r_r"r4r+�fail)rr[rrPr
r
r�test_exception_function�sz TestCase.test_exception_functionc	CslGdd�dt�}g}y x|d�D]}|�|�q WWn(tk
r\|�|ttd���YnX|�d�dS)Nc@seZdZdd�ZdS)z9TestCase.test_exception_sequence.<locals>.MySequenceClasscSs|dkrt�t�||�S)Nr7)r_rr)rrr
r
rrszETestCase.test_exception_sequence.<locals>.MySequenceClass.__getitem__N)rrrrr
r
r
r�MySequenceClass
srbr]r7zshould have raised RuntimeError)rr!r_r"r4r+r`)rrbrrPr
r
r�test_exception_sequencesz TestCase.test_exception_sequencecCs0Gdd�dt�}|j|d�ttd��dd�dS)Nc@seZdZdd�ZdS)z4TestCase.test_stop_sequence.<locals>.MySequenceClasscSs|dkrt�t�||�S)Nr7)rrr)rrr
r
rrsz@TestCase.test_stop_sequence.<locals>.MySequenceClass.__getitem__N)rrrrr
r
r
rrbsrbr]r7F)r%)rr*r4r+)rrbr
r
r�test_stop_sequenceszTestCase.test_stop_sequencecCs |�ttd��ttd���dS)Ni')r*r(r+r4)rr
r
r�test_iter_big_range%szTestCase.test_iter_big_rangecCs|�tg�g�dS)N)r*r()rr
r
r�test_iter_empty)szTestCase.test_iter_emptycCs|�td�ttd���dS)N)
rrrr;rNrHrMrI��	r7)r*r(r4r+)rr
r
r�test_iter_tuple-szTestCase.test_iter_tuplecCs |�ttd��ttd���dS)Nr7)r*r(r+r4)rr
r
r�test_iter_range1szTestCase.test_iter_rangecCs|�td�dddddg�dS)N�abcderO�b�cr6�e)r*r()rr
r
r�test_iter_string5szTestCase.test_iter_stringcCs6i}xtd�D]}d||<qW|�|t|����dS)Nr7)r+r*r4�keys)r�dictrr
r
r�test_iter_dict9szTestCase.test_iter_dictcCs�ttd�}z$xtd�D]}|�d|�qWWd|��Xttd�}z.|j|ddddd	gd
d�|j|gd
d�Wd|��ytt�Wntk
r�YnXXdS)N�wrHz%d
�rz0
z1
z2
z3
z4
F)r%)�openrr+�write�closer*r�OSError)r�frr
r
r�test_iter_file@s


zTestCase.test_iter_filecCs<|�ttd��ttd���|�ttd��g�|�td�g�dddd�}|�t|�t|����|�ttt�|�ttd�ttd	�}z$xtd�D]}|�	d
|�q�WWd|�
�Xttd�}zD|�t|�dd
dddg�|�dd�|�t|�dd
dddg�Wd|�
�ytt�Wnt
k
�r4YnXXdS)NrHrr
rrr;)�one�two�three�*rsz%d
rtz0
z1
z2
z3
z4
)r"r4rr+rprKrTrurrvrw�seekrrx)rr6ryrr
r
r�test_builtin_listSs.



zTestCase.test_builtin_listcCs@|�ttd��d�|�ttd��d�|�tg�d�|�td�d�|�td�d�ddd	d
�}|�t|�t|����|�ttt�|�ttd�ttd�}z$xt	d�D]}|�
d
|�q�WWd|��Xttd�}z0|�t|�d�|�dd�|�t|�d�Wd|��yt
t�Wntk
�r8YnXXdS)NrH)rrrr;rNrr
r2)rOrlrmrrr;)r{r|r}r~rsz%d
rt)z0
z1
z2
z3
z4
)r"�tuplerrprKrTr4rurr+rvrwrrrx)rr6ryrr
r
r�test_builtin_tuplers2




zTestCase.test_builtin_tuplecCs>|�ttdtd���ttdd���|�ttdtd���g�|�ttdd��g�|�ttdd��dddg�dd	d
d�}|�ttd|��t|����|�ttdt�|�ttdd�Gd
d�d�}|d�}|d�}Gdd�d�}|||gd�}|�ttdd�|��|gd�|�ttdd�t|���|gd�dS)NrHrrr
r2rOrlrmrr;)r{r|r}r~c@seZdZdd�Zdd�ZdS)z-TestCase.test_builtin_filter.<locals>.BooleancSs
||_dS)N)�truth)rr�r
r
rr�sz6TestCase.test_builtin_filter.<locals>.Boolean.__init__cSs|jS)N)r�)rr
r
r�__bool__�sz6TestCase.test_builtin_filter.<locals>.Boolean.__bool__N)rrrrr�r
r
r
r�Boolean�sr�TFc@seZdZdd�Zdd�ZdS)z)TestCase.test_builtin_filter.<locals>.SeqcWs
||_dS)N)�vals)r�argsr
r
rr�sz2TestCase.test_builtin_filter.<locals>.Seq.__init__cSsGdd�d�}||j�S)Nc@s$eZdZdd�Zdd�Zdd�ZdS)zCTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqItercSs||_d|_dS)Nr)r�r)rr�r
r
rr�szLTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqIter.__init__cSs|S)Nr
)rr
r
rr�szLTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqIter.__iter__cSs0|j}|d|_|t|j�kr(|j|St�dS)Nr)r�lenr�r)rrr
r
rr�s


zLTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqIter.__next__N)rrrrrrr
r
r
r�SeqIter�sr�)r�)rr�r
r
rr�s
z2TestCase.test_builtin_filter.<locals>.Seq.__iter__N)rrrrrr
r
r
r�Seq�sr��cSs|S)Nr
)rPr
r
r�<lambda>��z.TestCase.test_builtin_filter.<locals>.<lambda>cSs|S)Nr
)rPr
r
rr��r�)	r"r4�filterrr+rprKrTr()rr6r�ZbTrueZbFalser�r$r
r
r�test_builtin_filter�s  zTestCase.test_builtin_filtercCsJ|�ttd��d�|�ttd��d�|�tdd�d�|�tdd�d�dddd	�}|�t|�d
�|�t|�d�|�t|���d�|�tt|����d�ttd�}z"|�d
�|�d�|�d�Wd|�	�Xttd�}z0|�t|�d�|�
dd�|�t|�d�Wd|�	�ytt�Wntk
�rBYnXXdS)NrHrNrrg���rrr;)r{r|r}r|r{rszmedium line
zxtra large line
zitty-bitty line
rt)
r"�maxr�min�valuesr(rurrvrwrrrx)rr6ryr
r
r�test_builtin_max_min�s2




zTestCase.test_builtin_max_mincs |�ttdd�td���ttdd���dddd��|�tt�fd	d����t�����t�������fd
d�td�D�}ttd�}z(x"td
�D]}|�	d|d�q�WWd|�
�Xttd�}z&|�ttt|��ttddd���Wd|�
�ytt�Wnt
k
�rYnXXdS)NcSs|dS)Nrr
)rPr
r
rr��r�z+TestCase.test_builtin_map.<locals>.<lambda>rHrrMrr;)r{r|r}cSs|||fS)Nr
)r>r6r
r
rr��r�cs>g|]6}|t��kr�|pd||t��kr4�|p6df�qS)N)r�)r@r)r6�dkeysr
rrA�sz-TestCase.test_builtin_map.<locals>.<listcomp>rsr7Zxy�
rt�)r"r4�maprr+�itemsrprurrvrwr�rrx)r�expectedryrr
)r6r�r�test_builtin_map�s*


&zTestCase.test_builtin_mapcCs�|�tt��g�|�ttg��g�|�ttddg��ddg�|�ttd�|�tttd�d�|�tttd�t�|�tttd���dd	d
g�|�tttd���dd	d
g�dddd
�}|�t|���tt||�	����Gdd�d�}t
td�}z|�d�Wd|�
�Xt
td�}z*|�tt|d�||d���dddg�Wd|�
�ytt�Wntk
�rtYnXX|�tttd���dd�td�D��Gdd�d�}Gdd�d|�}Gdd �d |�}d!d"�}|�t|��d�|�t|��d#�|�||��|td���|�||��|td���|�||��|td���d$d�td�D�}xH|�|�|�fD]4}	x,|�|�|�fD]}
|�||	|
�|��q�W�qjWdS)%N)rrZab)rrO)rrlr7r~r;)r)r)rrr)r{r|r}c@s$eZdZdd�Zdd�Zdd�ZdS)z+TestCase.test_builtin_zip.<locals>.IntsFromcSs
||_dS)N)r)r�startr
r
rrsz4TestCase.test_builtin_zip.<locals>.IntsFrom.__init__cSs|S)Nr
)rr
r
rrsz4TestCase.test_builtin_zip.<locals>.IntsFrom.__iter__cSs|j}|d|_|S)Nr)r)rrr
r
rrs
z4TestCase.test_builtin_zip.<locals>.IntsFrom.__next__N)rrrrrrr
r
r
r�IntsFromsr�rsz	a
bbb
cc
rtri����)rza
i����)rzbbb
i����)rzcc
i����rHcSsg|]
}|f�qSr
r
)r@rr
r
rrA.sz-TestCase.test_builtin_zip.<locals>.<listcomp>c@seZdZdd�ZdS)z.TestCase.test_builtin_zip.<locals>.NoGuessLen5cSs|dkrt�|S)NrH)r)rrr
r
rr2sz:TestCase.test_builtin_zip.<locals>.NoGuessLen5.__getitem__N)rrrrr
r
r
r�NoGuessLen51sr�c@seZdZdd�ZdS)z-TestCase.test_builtin_zip.<locals>.Guess3Len5cSsdS)Nr;r
)rr
r
r�__len__8sz5TestCase.test_builtin_zip.<locals>.Guess3Len5.__len__N)rrrr�r
r
r
r�
Guess3Len57sr�c@seZdZdd�ZdS)z.TestCase.test_builtin_zip.<locals>.Guess30Len5cSsdS)N�r
)rr
r
rr�<sz6TestCase.test_builtin_zip.<locals>.Guess30Len5.__len__N)rrrr�r
r
r
r�Guess30Len5;sr�cWstt|��S)N)r4�zip)r�r
r
r�lzip?sz'TestCase.test_builtin_zip.<locals>.lzipr�cSsg|]}||f�qSr
r
)r@rr
r
rrAHs)r"r4r�rKrTr+rrr�r�rurrvrwrrxr�)rr6r�ryr�r�r�r�r�rP�yr
r
r�test_builtin_zip�sT"


&zTestCase.test_builtin_zipcCs�Gdd�d�}ttd�}z|�d�Wd|��Xttd�}zd�||��}|�|d�Wd|��ytt�Wntk
r�YnXXdS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z4TestCase.test_unicode_join_endcase.<locals>.OhPhooeycSst|�|_d|_dS)Nr)r(r#r)rr$r
r
rrRs
z=TestCase.test_unicode_join_endcase.<locals>.OhPhooey.__init__cSs|S)Nr
)rr
r
rrVsz=TestCase.test_unicode_join_endcase.<locals>.OhPhooey.__iter__cSs&|j}|d|_|dkrdSt|j�S)Nrrzfooled you!)rr r#)rrr
r
rrYs

z=TestCase.test_unicode_join_endcase.<locals>.OhPhooey.__next__N)rrrrrrr
r
r
r�OhPhooeyQsr�rsza
b
c
rtz - za
 - b
 - fooled you! - c
)rurrvrw�joinr"rrx)rr�ryZgotr
r
r�test_unicode_join_endcaseMs


z"TestCase.test_unicode_join_endcasecCs�xftd�td�fD]R}xtd�D]}|�||�q Wx.dddddgddid|f	D]}|�||�qPWqW|�tdd	��|�td
d	��dddd
d�}x(|D] }|�||�|�||���q�Wx,|��D] }|�||���|�||�q�Wx<|��D]0\}}|�||f|���|�||f|���q�Wt	t
d�}z|�d�Wd|��Xt	t
d�}zHxBdD]:}|�
dd�|�||�|�
dd�|�|d|��qbWWd|��ytt
�Wntk
�r�YnXXdS)NrHr2r�g�(\��5E@)r;rNry@(�cSsddkS)Nr;�r
r
r
r
rr�~r�z-TestCase.test_in_and_not_in.<locals>.<lambda>cSsdtkS)Nr;)r�r
r
r
rr�r�rr;y@)r{r|r}y�?rsza
b
c
rtrr�)rrr+ZassertInZassertNotInrKrTr�r�rurrvrwrrrx)rZsc5rr6r>�vry�chunkr
r
r�test_in_and_not_inwsB 




zTestCase.test_in_and_not_incCs�ddlm}|�|ddddddgd�d�|�|dd�d�|�|dd	�d�|�|dd
�d�|�t|dd�|�t|||�ddddd
�}x|D]}|�|||�d�q�W|�||��d�d�|�||��d�d�|�||��d�d�ttd�}z|�d�Wd|�	�Xttd�}z:x4dD],\}}|�
dd�|�|||d�|��q&WWd|�	�ytt�Wntk
�r�YnXXdS)Nr)�countOfrrr;rH)rrrr;rrH�122325�2�6r~y@)r{r|r}y�?y�?rsza
b
c
b
rt))rOr)rlr)rmr)r6rr�)
�operatorr�r"rKrTr�rurrvrwrrrx)rr�r6r>ryZletter�countr
r
r�test_countOf�s6



 zTestCase.test_countOfcCs�ddlm}|�|ddddddgd�d�|�|dd�d�|�|dd�d�|�|dd�d�|�t|dd�|�t|dd�|�|d	d
�d�|�|d	d�d�|�t|d	d�|�t|d
d�|�t|||�ttd�}z|�d�Wd|�	�Xttd�}zRt
|�}|�||d�d�|�||d�d�|�||d�d�|�t||d�Wd|�	�ytt�Wntk
�r�YnXXt
d�}x$td�D]}|�|||�|��q�W|�t||d�dS)Nr)�indexOfrrr;rH)rrrr;rrHrMr�r��5r�r~rsz
a
b
c
d
e
rtzb
zd
ze
za
r�)r�r�r"rK�
ValueErrorrTrurrvrwr(rrxrr+)rr�ryZfiterZiclassrr
r
r�test_indexOf�s@


zTestCase.test_indexOfcs�ttd�}z�|�t|jd�|�t|jd�|�ddg�|�d�|�ddi�|�i�Gdd�d��G�fd	d
�d
�}|�|dd��|��tt�}d
d�tdd�D�}|�t|�|�Wd|��yt	t�Wnt
k
r�YnXXdS)Nrsr~z1
z2
)z3
z4
z5
c@s$eZdZdd�Zdd�Zdd�ZdS)z*TestCase.test_writelines.<locals>.IteratorcSs||_||_|j|_dS)N)r��finishr)rr�r�r
r
rr�sz3TestCase.test_writelines.<locals>.Iterator.__init__cSs0|j|jkrt�t|j�d}|jd7_|S)Nr�r)rr�r�str)r�resultr
r
rr�s
z3TestCase.test_writelines.<locals>.Iterator.__next__cSs|S)Nr
)rr
r
rrsz3TestCase.test_writelines.<locals>.Iterator.__iter__N)rrrrrrr
r
r
rr3�sr3cs eZdZdd�Z�fdd�ZdS)z*TestCase.test_writelines.<locals>.WhatevercSs||_||_dS)N)r�r�)rr�r�r
r
rr
sz3TestCase.test_writelines.<locals>.Whatever.__init__cs�|j|j�S)N)r�r�)r)r3r
rrsz3TestCase.test_writelines.<locals>.Whatever.__iter__N)rrrrrr
)r3r
r�Whatever	sr�rMi�cSsg|]}t|�d�qS)r�)r�)r@rr
r
rrAsz,TestCase.test_writelines.<locals>.<listcomp>r)rurrKrT�
writelinesrwr+r"r4rrx)rryr�r�r
)r3r�test_writelines�s(


zTestCase.test_writelinescCs�d\}}|�||fd�td�\}}}|�|||fd�ytd�\}}Wntk
r\YnX|�d�ytd�\}}}Wntk
r�YnX|�d�yt\}}}Wntk
r�YnX|�d�dddd���\}}}|�|||fd	�ttd
�}d}zx|D]}|�	|��qWWd|�
�Xttd�}z |\}}}|�|||f|�Wd|�
�ytt�Wntk
�r~YnXXtd�dd
i\}}\}|�|||fd�dS)N)rrr;)rrrzshould have raised ValueErrorrzshould have raised TypeErrorr~)rrr;)r~r~r~rs)za
zbb
zccc
rt�)rrr~)
r"rr�r`r�rTr�rurrvrwrrx)rrOrlrmry�lines�liner
r
r�test_unpack_iter!sL







zTestCase.test_unpack_itercCs�Gdd�dt�}|�}|�|jd�~|�|jd�|�|�|�g}|�|jd�yt|�\}}Wntk
rvYnX~|�|jd�dS)Nc@s eZdZdZdd�Zdd�ZdS)z.TestCase.test_ref_counting_behavior.<locals>.CrcSs|jd7_t�|�S)Nr)r�rS�__new__)�clsr
r
rr�Zsz6TestCase.test_ref_counting_behavior.<locals>.C.__new__cSs|j}|jd8_dS)Nr)�	__class__r�)rr�r
r
r�__del__]sz6TestCase.test_ref_counting_behavior.<locals>.C.__del__N)rrrr�r�r�r
r
r
rrXXsrXrrr;)rSr"r�r(r�)rrXrP�lrOrlr
r
r�test_ref_counting_behaviorVs	z#TestCase.test_ref_counting_behaviorcCsPttd��}t|�}|�t|�ttd���|�tdd��|�t|�g�dS)NrHr7)r4r+r(r"�extend)rrOrlr
r
r�test_sinkstate_listss
zTestCase.test_sinkstate_listcCs8d}t|�}|�t|�ttd���|�t|�g�dS)N)rrrr;rNrH)r(r"r4r+)rrOrlr
r
r�test_sinkstate_tuple{szTestCase.test_sinkstate_tuplecCs:d}t|�}|�t|�dddddg�|�t|�g�dS)NrkrOrlrmr6rn)r(r"r4)rrOrlr
r
r�test_sinkstate_string�szTestCase.test_sinkstate_stringcCsBtd�}t|�}|�t|�ttd���d|_|�t|�g�dS)NrHr7)rr(r"r4r+r
)rrOrlr
r
r�test_sinkstate_sequence�s
z TestCase.test_sinkstate_sequencecCsDdgfdd�}t|d�}|�t|�ttd���|�t|�g�dS)NrcSs(|d}|d|d<|dkr$td��|S)Nrrr7zshouldn't have gotten this far)�AssertionError)rZrr
r
rr[�s
z.TestCase.test_sinkstate_callable.<locals>.spamrH)r(r"r4r+)rr[rlr
r
r�test_sinkstate_callable�s
z TestCase.test_sinkstate_callablecCsfdddddd�}xPt|�|��|��|��fD]0}t|�}|�tt|��d�|�t|�g�q.WdS)NrrrrNr;)rrrrNr;rH)r(rpr�r�r"r�r4)rrOrlr
r
r�test_sinkstate_dict�s
"zTestCase.test_sinkstate_dictcCs:dd�}|�}|�t|�ttd���|�t|�g�dS)Ncssxtd�D]
}|Vq
WdS)NrH)r+)rr
r
r�gen�sz*TestCase.test_sinkstate_yield.<locals>.genrH)r"r4r+)rr�rlr
r
r�test_sinkstate_yield�szTestCase.test_sinkstate_yieldcCs<td�}t|�}|�t|�ttd���|�t|�g�dS)NrH)r+r(r"r4)rrOrlr
r
r�test_sinkstate_range�szTestCase.test_sinkstate_rangecCsNtd�}t|�}t|�}|�t|�tttd�td����|�t|�g�dS)NrH)r+�	enumerater(r"r4r�)rrOrnrlr
r
r�test_sinkstate_enumerate�s
"z!TestCase.test_sinkstate_enumeratecsBG�fdd�dt��yx��D]}qWWntk
r<YnXdS)Ncs eZdZdd�Z�fdd�ZdS)z'TestCase.test_3720.<locals>.BadIteratorcSs|S)Nr
)rr
r
rr�sz0TestCase.test_3720.<locals>.BadIterator.__iter__cs�`dS)Nr)r)r)�BadIteratorr
rr�sz0TestCase.test_3720.<locals>.BadIterator.__next__N)rrrrrr
)r�r
rr��sr�)rSrT)rrr
)r�r�	test_3720�szTestCase.test_3720cCsNdd�}dgd}xtd�D]}|�d�qW|�|��|�t|�d�dS)Ncssxtd�D]
}|Vq
WdS)Ni�)r+)rr
r
rr��szITestCase.test_extending_list_with_iterator_does_not_segfault.<locals>.genri���i�)r+�popr�r"r�)rr�Zlstrr
r
r�3test_extending_list_with_iterator_does_not_segfault�s
z<TestCase.test_extending_list_with_iterator_does_not_segfaultc	Cs�tt��}|�tjd�|�t|�tjd�|�t|�tjd�|�t��t|�WdQRX|�t��t|�WdQRXdS)Nrr)	r(r�__setstate__�sys�maxsizer"r rK�
OverflowError)rr#r
r
r�test_iter_overflow�s
zTestCase.test_iter_overflowcCs8tt��}|�d�|�t|�d�|�t|�d�dS)Ni���rr)r(rr�r"r )rr#r
r
r�test_iter_neg_setstate�s

zTestCase.test_iter_neg_setstatecCst|ttd�dS)N)r)rr(r)rr
r
r�test_free_after_iterating�sz"TestCase.test_free_after_iteratingcCs&x ttfD]}|�tt|��q
WdS)N)rrrKrTr()r�typr
r
r�test_error_iter�szTestCase.test_error_iterN)T)T)=rrrr'r*rr8r9r:r?rBrCrDrErFrGrLrQrUrYr\r^rarcrdrerfrirjrorrrzr�r�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
rrCsr

	
$

	!- O*)#)55	rcCstt�dS)N)rrr
r
r
r�	test_main�sr��__main__)r�ZunittestZtest.supportrrrrrr%Zcollections.abcr1r<r	rrrrrrr�rr
r
r
r�<module>s>

	7