Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_iter.cpython-39.opt-2.pyc

a

��gҁ�@s�ddlZddlZddlmZmZmZddlmZmZmZddl	Z	ddl
Zgd�ZGdd�d�Z
Gdd�d�ZGd	d
�d
�ZGdd�d�ZGd
d�d�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�dej�Zedkr�e��dS)�N)�TESTFN�unlink�cpython_only)�check_free_after_iterating�	ALWAYS_EQ�NEVER_EQ))rrr)rr�)rr�)rrr)rrr�rrr	)rr	r)rr	r)rr	r	)rrr)rrr)rrr	)rrr)rrr)rrr	)rr	r)rr	r)rr	r	)r	rr)r	rr)r	rr	)r	rr)r	rr)r	rr	)r	r	r)r	r	r)r	r	r	c@s$eZdZdd�Zdd�Zdd�ZdS)�BasicIterClasscCs||_d|_dS�Nr)�n�i��selfr
�r�*/usr/local/lib/python3.9/test/test_iter.py�__init__szBasicIterClass.__init__cCs"|j}||jkrt�|d|_|S�Nr)rr
�
StopIteration�r�resrrr�__next__s


zBasicIterClass.__next__cCs|S�Nr�rrrr�__iter__#szBasicIterClass.__iter__N��__name__�
__module__�__qualname__rrrrrrrrsrc@seZdZdd�Zdd�ZdS)�IteratingSequenceClasscCs
||_dSr�r
rrrrr'szIteratingSequenceClass.__init__cCs
t|j�Sr)rr
rrrrr)szIteratingSequenceClass.__iter__N�rrrrrrrrrr &sr c@s$eZdZdd�Zdd�Zdd�ZdS)�IteratorProxyClasscCs
||_dSr�r�rrrrrr-szIteratorProxyClass.__init__cCs
t|j�Sr)�nextrrrrrr/szIteratorProxyClass.__next__cCs|Srrrrrrr1szIteratorProxyClass.__iter__Nrrrrrr#,sr#c@seZdZdd�Zdd�ZdS)�
SequenceClasscCs
||_dSrr!rrrrr5szSequenceClass.__init__cCs&d|kr|jkrnn|St�dSr)r
�
IndexErrorr%rrr�__getitem__7szSequenceClass.__getitem__N�rrrrr)rrrrr'4sr'c@seZdZdd�Zdd�ZdS)�SequenceProxyClasscCs
||_dSr��s)rr-rrrr>szSequenceProxyClass.__init__cCs
|j|Srr,r%rrrr)@szSequenceProxyClass.__getitem__Nr*rrrrr+=sr+c@seZdZdd�ZdS)�UnlimitedSequenceClasscCs|Srrr%rrrr)Dsz"UnlimitedSequenceClass.__getitem__N�rrrr)rrrrr.Csr.c@seZdZdS)�DefaultIterClassN)rrrrrrrr0Gsr0c@seZdZdd�ZdZdS)�NoIterClasscCs|Srrr%rrrr)KszNoIterClass.__getitem__N)rrrr)rrrrrr1Jsr1c@seZdZdd�ZdS)�BadIterableClasscCst�dSr)�ZeroDivisionErrorrrrrrPszBadIterableClass.__iter__N�rrrrrrrrr2Osr2c@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�TestCaseTcCsT|r|�||�g}zt|�}Wnty6YqDYn0|�|�q|�||�dSr)�check_pickler&r�append�assertEqual)r�it�seq�pickler�valrrr�check_iteratorXs
zTestCase.check_iteratorcCs<|r|�t|�|�g}|D]}|�|�q|�||�dSr)r6�iterr7r8)r�exprr:r;rr<rrr�check_for_loopeszTestCase.check_for_loopc	Cs�ttjd�D]�}t�||�}t�|�}|�t|tjj	��|�
t|�|�t�|�}zt|�Wnt
yxYqYn0t�||�}t�|�}|�
t|�|dd��qdSr)�ranger;�HIGHEST_PROTOCOL�dumps�loads�
assertTrue�
isinstance�collections�abc�Iteratorr8�listr&r)rZitorgr:�proto�dr9rrrr6ns



zTestCase.check_picklecCs |�ttd��ttd���dS�N�
)r=r>rArJrrrr�test_iter_basic�szTestCase.test_iter_basiccCs.ttd��}t|�}t|�}|�||u�dSrM)rJrAr>rE)rr:r9Zit2rrr�test_iter_idempotency�szTestCase.test_iter_idempotencycCs |�ttd��ttd���dSrM�r@r>rArJrrrr�test_iter_for_loop�szTestCase.test_iter_for_loopcCsVtd�}g}t|�D]0}t|�D]"}t|�D]}|�|||f�q,q q|�|t�dS�N�)rAr>r7r8�TRIPLETS)rr:rr�j�krrr�test_iter_independence�szTestCase.test_iter_independencecs.td���fdd�t��D�}|�|t�dS)NrTcs2g|]*}t��D]}t��D]}|||f�qqqSr)r>��.0rrVrW�r:rr�
<listcomp>�s�z<TestCase.test_nested_comprehensions_iter.<locals>.<listcomp>)rAr>r8rUrrr[r�test_nested_comprehensions_iter�s

�z(TestCase.test_nested_comprehensions_itercs*td���fdd��D�}|�|t�dS)NrTcs*g|]"}�D]}�D]}|||f�qqqSrrrYr[rrr\��z;TestCase.test_nested_comprehensions_for.<locals>.<listcomp>)rAr8rUrrr[r�test_nested_comprehensions_for�sz'TestCase.test_nested_comprehensions_forcCs|�td�ttd���dSrM)r@r rJrArrrr�test_iter_class_for�szTestCase.test_iter_class_forcCs |�ttd��ttd���dSrM)r=r>r rJrArrrr�test_iter_class_iter�szTestCase.test_iter_class_itercCs|�td�ttd���dSrM)r@r'rJrArrrr�test_seq_class_for�szTestCase.test_seq_class_forcCs |�ttd��ttd���dSrM)r=r>r'rJrArrrr�test_seq_class_iter�szTestCase.test_seq_class_itercCs�td�}ttjd�D�]v}t|�}t�||f|�}t�|�\}}d|_|�t	|�t	|��|�
t|�ttd���t|�t�||f|�}t�|�\}}d|_|�t	|�t	|��|�
t|�ttdd���tdd�D]}t|�q�t�||f|�}t�|�\}}d|_|�t	|�t	|��|�
t|�ttdd���|�
tt|�t�||f|�}t�|�\}}d|_|�t|tjj��|�
t|�g�qdS)N�r�)r'rAr;rBr>rCrDr
ZassertIs�typer8rJr&�assertRaisesrrErFrGrHrI)rZorigrKZitorigrLr9r:rrrr�#test_mutating_seq_class_iter_pickle�s6
z,TestCase.test_mutating_seq_class_iter_picklecCsltd�}t|�}t|�}|D]}t|�qd|_|�t|�g�|�t|�ddg�|�t|�gd��dS)Nrdre�)rrr	rT�rdri)r'r>r&r
r8rJ)r�aZexhitZempit�xrrr�&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|Srrrrrrr�sz>TestCase.test_new_style_iter_class.<locals>.IterClass.__iter__Nr4rrrr�	IterClass�srn)�objectrg�	TypeErrorr>)rrnrrr�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|_dSrr$rrrrr�sz/TestCase.test_iter_callable.<locals>.C.__init__cSs |j}|d|_|dkrt�|S)Nr�d)rr(r%rrr�__call__�s

z/TestCase.test_iter_callable.<locals>.C.__call__N)rrrrrsrrrr�C�srtrNF�r;�r=r>rJrA)rrtrrr�test_iter_callable�s	zTestCase.test_iter_callablecCs0dgfdd�}|jt|d�ttd��dd�dS)NrcSs|d}|d|d<|S)Nrrr��staterrrr�spam�sz)TestCase.test_iter_function.<locals>.spamrNFrurv�rrzrrr�test_iter_function�szTestCase.test_iter_functioncCs0dgfdd�}|jt|d�ttd��dd�dS)NrcSs$|d}|dkrt�|d|d<|S)NrrNr)rrxrrrrzs
z.TestCase.test_iter_function_stop.<locals>.spam�rNFrurvr{rrr�test_iter_function_stopsz TestCase.test_iter_function_stopc	Csfdgfdd�}g}zt|d�D]}|�|�qWn&tyV|�|ttd���Yn0|�d�dS)NrcSs$|d}|d|d<|dkr t�|S)NrrrN)�RuntimeErrorrxrrrrzs
z.TestCase.test_exception_function.<locals>.spamr}rN�should have raised RuntimeError)r>r7rr8rJrA�fail)rrzrrlrrr�test_exception_function
sz TestCase.test_exception_functionc	CsfGdd�dt�}g}z|d�D]}|�|�qWn&tyV|�|ttd���Yn0|�d�dS)Nc@seZdZdd�ZdS)z9TestCase.test_exception_sequence.<locals>.MySequenceClasscSs|dkrt�t�||�SrM)rr'r)r%rrrr) szETestCase.test_exception_sequence.<locals>.MySequenceClass.__getitem__Nr/rrrr�MySequenceClasssr�r}rNr�)r'r7rr8rJrAr�)rr�rrlrrr�test_exception_sequencesz TestCase.test_exception_sequencecCs0Gdd�dt�}|j|d�ttd��dd�dS)Nc@seZdZdd�ZdS)z4TestCase.test_stop_sequence.<locals>.MySequenceClasscSs|dkrt�t�||�SrM)rr'r)r%rrrr)0sz@TestCase.test_stop_sequence.<locals>.MySequenceClass.__getitem__Nr/rrrrr�/sr�r}rNFru)r'r@rJrA)rr�rrr�test_stop_sequence.szTestCase.test_stop_sequencecCs |�ttd��ttd���dS)Ni'rQrrrr�test_iter_big_range7szTestCase.test_iter_big_rangecCs|�tg�g�dSr�r@r>rrrr�test_iter_empty;szTestCase.test_iter_emptycCs|�td�ttd���dS)N)
rrr	rTrjrdrire��	rN)r@r>rJrArrrr�test_iter_tuple?szTestCase.test_iter_tuplecCs |�ttd��ttd���dSrMrQrrrr�test_iter_rangeCszTestCase.test_iter_rangecCs|�td�gd��dS�NZabcde)rk�b�crL�er�rrrr�test_iter_stringGszTestCase.test_iter_stringcCs2i}td�D]}d||<q|�|t|����dSrM)rAr@rJ�keys)r�dictrrrr�test_iter_dictKs
zTestCase.test_iter_dictcCs�ttd�}z(td�D]}|�d|�qW|��n
|��0ttd�}zP|j|gd�dd�|j|gdd�W|��ztt�Wq�ty�Yq�0n*|��ztt�Wnty�Yn00dS)N�wrd�%d
�r�z0
�1
�2
�3
�4
Fru)�openrrA�write�closer@r�OSError)r�frrrr�test_iter_fileRs&

�zTestCase.test_iter_filecCs\|�ttd��ttd���|�ttd��g�|�td�g�dddd�}|�t|�t|����|�ttt�|�ttd�ttd	�}z(td�D]}|�	d
|�q�W|�
�n
|�
�0ttd�}zb|�t|�gd��|�dd�|�t|�gd��W|�
�ztt�Wnt
�y(Yn0n,|�
�ztt�Wnt
�yTYn00dS)
Nrdrrrr	rT��one�two�three�*r�r�r�r�)r8rJr'rAr�rgrpr�rr�r��seekrr��rrLr�rrrr�test_builtin_listes:


��zTestCase.test_builtin_listcCsl|�ttd��d�|�ttd��d�|�tg�d�|�td�d�|�td�d�ddd	d
�}|�t|�t|����|�ttt�|�ttd�ttd�}z(t	d�D]}|�
d
|�q�W|��n
|��0ttd�}zZ|�t|�d�|�dd�|�t|�d�W|��zt
t�Wnt�y8Yn0n,|��zt
t�Wnt�ydYn00dS)Nrd�rrr	rTrjrrrH�rkr�r�rr	rTr�r�r�r�r�r�)r8�tupler'r�rgrprJr�rrAr�r�r�rr�r�rrr�test_builtin_tuple�s>


��zTestCase.test_builtin_tuplecCs<|�ttdtd���ttdd���|�ttdtd���g�|�ttdd��g�|�ttdd��gd��dddd	�}|�ttd|��t|����|�ttdt�|�ttdd
�Gdd�d�}|d
�}|d�}Gdd�d�}|||gd�}|�ttdd�|��|gd�|�ttdd�t|���|gd�dS)NrdrrrrHr�r	rTr�r�c@seZdZdd�Zdd�ZdS)z-TestCase.test_builtin_filter.<locals>.BooleancSs
||_dSr��truth)rr�rrrr�sz6TestCase.test_builtin_filter.<locals>.Boolean.__init__cSs|jSrr�rrrr�__bool__�sz6TestCase.test_builtin_filter.<locals>.Boolean.__bool__N)rrrrr�rrrr�Boolean�sr�TFc@seZdZdd�Zdd�ZdS)z)TestCase.test_builtin_filter.<locals>.SeqcWs
||_dSr��vals)r�argsrrrr�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|_dSr)r�r)rr�rrrr�szLTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqIter.__init__cSs|Srrrrrrr�szLTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqIter.__iter__cSs0|j}|d|_|t|j�kr(|j|St�dSr)r�lenr�rr%rrrr�s


zLTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqIter.__next__N�rrrrrrrrrr�SeqIter�sr�r�)rr�rrrr�s
z2TestCase.test_builtin_filter.<locals>.Seq.__iter__Nr"rrrr�Seq�sr��cSs|Srr�rlrrr�<lambda>�r^z.TestCase.test_builtin_filter.<locals>.<lambda>cSs|Srrr�rrrr��r^)	r8rJ�filterr'rAr�rgrpr>)rrLr�ZbTrueZbFalser�r:rrr�test_builtin_filter�s"� zTestCase.test_builtin_filtercCsz|�ttd��d�|�ttd��d�|�tdd�d�|�tdd�d�dddd	�}|�t|�d
�|�t|�d�|�t|���d�|�tt|����d�ttd�}z*|�d
�|�d�|�d�W|�	�n
|�	�0ttd�}zZ|�t|�d�|�
dd�|�t|�d�W|�	�ztt�Wnt�yFYn0n,|�	�ztt�Wnt�yrYn00dS)Nrdrjrr����rr	rTr�r�r�r�zmedium line
zxtra large line
zitty-bitty line
r�)
r8�maxr'�min�valuesr>r�rr�r�r�rr�)rrLr�rrr�test_builtin_max_min�s<



�zTestCase.test_builtin_max_mincsL|�ttdd�td���ttdd���dddd��|�tt�fd	d����t�����t�������fd
d�td�D�}ttd�}z,td
�D]}|�	d|d�q�W|�
�n
|�
�0ttd�}zP|�ttt|��ttddd���W|�
�ztt�Wnt
�yYn0n,|�
�ztt�Wnt
�yDYn00dS)NcSs|dSrrr�rrrr��r^z+TestCase.test_builtin_map.<locals>.<lambda>rdrrir	rTr�cSs|||fSrr)rWrLrrrr��r^cs>g|]6}|t��kr�|pd||t��kr4�|p6df�qSr)r��rZr�rLZdkeysrrr\�s
��z-TestCase.test_builtin_map.<locals>.<listcomp>r�rNZxy�
r��)r8rJ�mapr'rA�itemsr�r�rr�r�r�rr�)r�expectedr�rrr�r�test_builtin_map�s:�
��

$�zTestCase.test_builtin_mapcCs�|�tt��g�|�ttg��g�|�ttddg��ddg�|�ttd�|�tttd�d�|�tttd�t�|�tttd���gd��|�tttd���gd��d	d
dd�}|�t|���tt||�	����Gdd
�d
�}t
td�}z|�d�W|�
�n
|�
�0t
td�}zR|�tt|d�||d���gd��W|�
�ztt�Wnt�yrYn0n,|�
�ztt�Wnt�y�Yn00|�tttd���dd�td�D��Gdd�d�}Gdd�d|�}Gdd�d|�}dd�}|�t|��d�|�t|��d�|�||��|td���|�||��|td���|�||��|td���d d�td�D�}|�|�|�fD]0}	|�|�|�fD]}
|�||	|
�|��q��q�dS)!N�rr	�ab)rrk)r	r�rNr�rT)�r)r)r	rr	r�c@s$eZdZdd�Zdd�Zdd�ZdS)z+TestCase.test_builtin_zip.<locals>.IntsFromcSs
||_dSrr$)r�startrrrr#sz4TestCase.test_builtin_zip.<locals>.IntsFrom.__init__cSs|Srrrrrrr&sz4TestCase.test_builtin_zip.<locals>.IntsFrom.__iter__cSs|j}|d|_|Srr$r%rrrr)s
z4TestCase.test_builtin_zip.<locals>.IntsFrom.__next__Nr�rrrr�IntsFrom"sr�r�z	a
bbb
cc
r�r���))r�a
r�)rzbbb
i����)r	zcc
i����rdcSsg|]
}|f�qSrrr�rrrr\@r^z-TestCase.test_builtin_zip.<locals>.<listcomp>c@seZdZdd�ZdS)z.TestCase.test_builtin_zip.<locals>.NoGuessLen5cSs|dkrt�|S�Nrd)r(r%rrrr)Dsz:TestCase.test_builtin_zip.<locals>.NoGuessLen5.__getitem__Nr/rrrr�NoGuessLen5Csr�c@seZdZdd�ZdS)z-TestCase.test_builtin_zip.<locals>.Guess3Len5cSsdSrSrrrrr�__len__Jsz5TestCase.test_builtin_zip.<locals>.Guess3Len5.__len__N�rrrr�rrrr�
Guess3Len5Isr�c@seZdZdd�ZdS)z.TestCase.test_builtin_zip.<locals>.Guess30Len5cSsdS)N�rrrrrr�Nsz6TestCase.test_builtin_zip.<locals>.Guess30Len5.__len__Nr�rrrr�Guess30Len5Msr�cWstt|��Sr)rJ�zip)r�rrr�lzipQsz'TestCase.test_builtin_zip.<locals>.lzipr�cSsg|]}||f�qSrrr�rrrr\Zr^)r8rJr�rgrprAr r'r�r�r�rr�r�rr�r�)rrLr�r�r�r�r�r�r�rl�yrrr�test_builtin_zips`��"

��&zTestCase.test_builtin_zipcCs�Gdd�d�}ttd�}z|�d�W|��n
|��0ttd�}zFd�||��}|�|d�W|��ztt�Wq�ty�Yq�0n*|��ztt�Wnty�Yn00dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z4TestCase.test_unicode_join_endcase.<locals>.OhPhooeycSst|�|_d|_dSr)r>r9r)rr:rrrrds
z=TestCase.test_unicode_join_endcase.<locals>.OhPhooey.__init__cSs|Srrrrrrrhsz=TestCase.test_unicode_join_endcase.<locals>.OhPhooey.__iter__cSs&|j}|d|_|dkrdSt|j�S)Nrr	zfooled you!)rr&r9r%rrrrks

z=TestCase.test_unicode_join_endcase.<locals>.OhPhooey.__next__Nr�rrrr�OhPhooeycsr�r��a
b
c
r�z - za
 - b
 - fooled you! - c
)r�rr�r��joinr8rr�)rr�r�Zgotrrr�test_unicode_join_endcase_s&

�z"TestCase.test_unicode_join_endcasecCsxtd�td�fD]J}td�D]}|�||�qdddddgddid|f	D]}|�||�qHq|�tttdg���|�ttdg��|�tttt	g���|�ttt	g��|�t	tttg���|�t	ttg��|�
tdd	��|�
td
d	��|�
tdd	��ddd
dd�}|D]"}|�||�|�||�
���q|�
�D]"}|�||�
��|�||��qB|��D]2\}}|�||f|���|�||f|����qnttd�}z|�d�W|��n
|��0ttd�}zndD]:}|�dd�|�||�|�dd�|�|d|��q�W|��ztt�Wnt�yDYn0n,|��ztt�Wnt�ypYn00dS)NrdrHr�g�(\��5E@)rTrjry@(�cSsddvS)NrT�rrrrrr��r^z-TestCase.test_in_and_not_in.<locals>.<lambda>cSsdtvSrS)r�rrrrr��r^cSs
dt�vSrS)r2rrrrr��r^r	rT�@�r�r�r���?r�r�r�rr�)r r'rAZassertInZassertNotInrr#r>r+rrgrpr3r�r�r�rr�r�r�rr�)rZsc5rrLrW�vr��chunkrrr�test_in_and_not_in�sZ

�zTestCase.test_in_and_not_incCs�ddlm}|�|gd�d�d�|�|dd�d�|�|dd�d�|�|dd�d�|�t|d	d
�|�t|||�ddddd�}|D]}|�|||�d
�q�|�||��d�d�|�||��d�d
�|�||��d
�d�ttd�}z|�d�W|�	�n
|�	�0ttd�}z`dD],\}}|�
dd�|�|||d�|��q W|�	�ztt�Wnt�yxYn0n,|�	�ztt�Wnt�y�Yn00dS)Nr)�countOf�rr	r	rTr	rdr	rT�122325�2�6r�rr�r�r�r�za
b
c
b
r�))rkr)r�r	)r�r)rLrr�)
�operatorr�r8rgrpr�r�rr�r�r�rr�)rr�rLrWr�Zletter�countrrr�test_countOf�s@

�zTestCase.test_countOfcCs�ddlm}|�|gd�d�d�|�|dd�d�|�|dd�d�|�|dd�d�|�t|dd�|�t|dd�|�|d	d
�d�|�|d	d�d�|�t|d	d�|�t|d
d�|�t|||�|�t|t�d�tt	d�}z|�
d�W|��n
|��0tt	d�}z|t|�}|�||d�d�|�||d�d�|�||d�d�|�t||d�W|��zt
t	�Wnt�y�Yn0n,|��zt
t	�Wnt�y�Yn00td�}td�D]}|�|||�|��q�|�t||d�dS)Nr)�indexOfr�rr	rTrdrir�r��5r�r�r�z
a
b
c
d
e
r�zb
zd
ze
r�r�)r�r�r8rg�
ValueErrorrpr3r2r�rr�r�r>rr�r rA)rr�r�ZfiterZiclassrrrr�test_indexOf�sL

�zTestCase.test_indexOfcsttd�}z�|�t|jd�|�t|jd�|�ddg�|�d�|�ddi�|�i�Gdd�d��G�fd	d
�d
�}|�|dd��|��tt�}d
d�tdd�D�}|�t|�|�W|��zt	t�Wnt
y�Yn0n,|��zt	t�Wnt
�yYn00dS)Nr�r�r�r�)r�r�z5
c@s$eZdZdd�Zdd�Zdd�ZdS)z*TestCase.test_writelines.<locals>.IteratorcSs||_||_|j|_dSr)r��finishr�rr�r�rrrrsz3TestCase.test_writelines.<locals>.Iterator.__init__cSs0|j|jkrt�t|j�d}|jd7_|S)Nr�r)rr�r�str)r�resultrrrrs
z3TestCase.test_writelines.<locals>.Iterator.__next__cSs|Srrrrrrr!sz3TestCase.test_writelines.<locals>.Iterator.__iter__NrrrrrrIsrIcs eZdZdd�Z�fdd�ZdS)z*TestCase.test_writelines.<locals>.WhatevercSs||_||_dSr�r�r�r�rrrr%sz3TestCase.test_writelines.<locals>.Whatever.__init__cs�|j|j�Srr�r�rIrrr)sz3TestCase.test_writelines.<locals>.Whatever.__iter__Nr"rr�rr�Whatever$sr�rii�cSsg|]}t|�d�qS)r�)r�r�rrrr\0r^z,TestCase.test_writelines.<locals>.<listcomp>r)r�rrgrp�
writelinesr�rAr8rJrr�)rr�r�r�rr�r�test_writeliness2


�zTestCase.test_writelinescCs�d\}}|�||fd�td�\}}}|�|||fd�ztd�\}}WntyZYn0|�d�ztd�\}}}Wnty�Yn0|�d�zt\}}}Wnty�Yn0|�d�dddd���\}}}|�|||fd	�ttd
�}d}z |D]}|�	|�q�W|�
�n
|�
�0ttd�}zJ|\}}}|�|||f|�W|�
�ztt�Wnt�yvYn0n,|�
�ztt�Wnt�y�Yn00td�dd
i\}}\}|�|||fd�dS)Nr�rTr
zshould have raised ValueErrorr	zshould have raised TypeErrorr�)rr	rT)r�r�r�r�)r�zbb
zccc
r��)rrr�)
r8r r�r�r�rpr�r�rr�r�rr�)rrkr�r�r��lines�linerrr�test_unpack_iter<sV





�zTestCase.test_unpack_itercCs�Gdd�dt�}|�}|�|jd�~|�|jd�|�|�|�g}|�|jd�zt|�\}}WntytYn0~|�|jd�dS)Nc@s eZdZdZdd�Zdd�ZdS)z.TestCase.test_ref_counting_behavior.<locals>.CrcSs|jd7_t�|�Sr)r�ro�__new__)�clsrrrrusz6TestCase.test_ref_counting_behavior.<locals>.C.__new__cSs|j}|jd8_dSr)�	__class__r�)rrrrr�__del__xsz6TestCase.test_ref_counting_behavior.<locals>.C.__del__N)rrrr�rrrrrrrtssrtrrrT)ror8r�r>r�)rrtrl�lrkr�rrr�test_ref_counting_behaviorqs	z#TestCase.test_ref_counting_behaviorcCsPttd��}t|�}|�t|�ttd���|�tdd��|�t|�g�dS�NrdrN)rJrAr>r8�extend�rrkr�rrr�test_sinkstate_list�s
zTestCase.test_sinkstate_listcCs8d}t|�}|�t|�ttd���|�t|�g�dS)Nr�rd�r>r8rJrAr
rrr�test_sinkstate_tuple�szTestCase.test_sinkstate_tuplecCs4d}t|�}|�t|�gd��|�t|�g�dSr�)r>r8rJr
rrr�test_sinkstate_string�szTestCase.test_sinkstate_stringcCsBtd�}t|�}|�t|�ttd���d|_|�t|�g�dSr)r'r>r8rJrAr
r
rrr�test_sinkstate_sequence�s
z TestCase.test_sinkstate_sequencecCsDdgfdd�}t|d�}|�t|�ttd���|�t|�g�dS)NrcSs(|d}|d|d<|dkr$td��|S)NrrrNzshouldn't have gotten this far)�AssertionErrorrxrrrrz�s
z.TestCase.test_sinkstate_callable.<locals>.spamrdr)rrzr�rrr�test_sinkstate_callable�s
z TestCase.test_sinkstate_callablecCsbdddddd�}t|�|��|��|��fD]0}t|�}|�tt|��d�|�t|�g�q,dS)Nrr	rrjrT)rr	rrjrTrd)r>r�r�r�r8r�rJr
rrr�test_sinkstate_dict�s
 zTestCase.test_sinkstate_dictcCs:dd�}|�}|�t|�ttd���|�t|�g�dS)Ncsstd�D]
}|VqdSr��rAr$rrr�gen�sz*TestCase.test_sinkstate_yield.<locals>.genrd)r8rJrA)rrr�rrr�test_sinkstate_yield�szTestCase.test_sinkstate_yieldcCs<td�}t|�}|�t|�ttd���|�t|�g�dSr�)rAr>r8rJr
rrr�test_sinkstate_range�szTestCase.test_sinkstate_rangecCsNtd�}t|�}t|�}|�t|�tttd�td����|�t|�g�dSr�)rA�	enumerater>r8rJr�)rrkr�r�rrr�test_sinkstate_enumerate�s
"z!TestCase.test_sinkstate_enumeratecs<G�fdd�dt��z��D]}qWnty6Yn0dS)Ncs eZdZdd�Z�fdd�ZdS)z'TestCase.test_3720.<locals>.BadIteratorcSs|Srrrrrrr�sz0TestCase.test_3720.<locals>.BadIterator.__iter__cs�`dSr)rr��BadIteratorrrr�sz0TestCase.test_3720.<locals>.BadIterator.__next__N)rrrrrrrrrr�sr)rorpr%rrr�	test_3720�s
zTestCase.test_3720cCsJdd�}dgd}td�D]}|�d�q|�|��|�t|�d�dS)Ncsstd�D]
}|VqdS)N��rr$rrrr�szITestCase.test_extending_list_with_iterator_does_not_segfault.<locals>.genrr��i�)rA�popr	r8r�)rrZlstrrrr�3test_extending_list_with_iterator_does_not_segfault�s
z<TestCase.test_extending_list_with_iterator_does_not_segfaultcCs�tt��}|�tjd�|�t|�tjd�|�t|�tjd�|�t��t|�Wd�n1sn0Y|�t��t|�Wd�n1s�0YdS)Nr	r)	r>r.�__setstate__�sys�maxsizer8r&rg�
OverflowError�rr9rrr�test_iter_overflow�s
&zTestCase.test_iter_overflowcCs8tt��}|�d�|�t|�d�|�t|�d�dS)Ni���rr)r>r.r r8r&r$rrr�test_iter_neg_setstates

zTestCase.test_iter_neg_setstatecCst|ttd�dS)Nr�)rr>r'rrrr�test_free_after_iteratingsz"TestCase.test_free_after_iteratingcCs2ttfD]}|�tt|��q|�ttt��dSr)r0r1rgrpr>r3r2)r�typrrr�test_error_iter	szTestCase.test_error_iterN)T)T)=rrrr=r@r6rOrPrRrXr]r_r`rarbrcrhrmrqrwr|r~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr
rrrrrrrrrr%r&r'r)rrrrr5Usv

	
$

	!- O*1#*55
	

r5�__main__)r!ZunittestZtest.supportrrrrrrr;�collections.abcrGrUrr r#r'r+r.r0r1r2r5r�mainrrrr�<module>s2
	A

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists