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.10/test/__pycache__/test_iter.cpython-310.pyc
o

�i��@s&ddlZddlZddlmZddlmZmZddlmZmZm	Z	ddl
Z
ddlZddl
Z
ddlZddlZgd�ZGdd�d�ZGdd	�d	�ZGd
d�d�ZGdd
�d
�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�dej�Zedkr�e��dSdS)�N)�cpython_only)�TESTFN�unlink)�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@�$eZdZdd�Zdd�Zdd�ZdS)�BasicIterClasscC�||_d|_dS�Nr)�n�i��selfr�r�+/usr/local/lib/python3.10/test/test_iter.py�__init__�
zBasicIterClass.__init__cCs"|j}||jkr
t�|d|_|S�Nr)rr�
StopIteration�r�resrrr�__next__!s


zBasicIterClass.__next__cC�|S�Nr�rrrr�__iter__'�zBasicIterClass.__iter__N��__name__�
__module__�__qualname__rrrrrrrrsrc@�eZdZdd�Zdd�ZdS)�IteratingSequenceClasscC�
||_dSr�rrrrrr+�
zIteratingSequenceClass.__init__cC�
t|j�Sr)rrrrrrr-r)zIteratingSequenceClass.__iter__N�r"r#r$rrrrrrr&*�r&c@r)�IteratorProxyClasscCr'r�r�rrrrrr1r)zIteratorProxyClass.__init__cCr*r)�nextrrrrrr3r)zIteratorProxyClass.__next__cCrrrrrrrr5r zIteratorProxyClass.__iter__Nr!rrrrr-0sr-c@r%)�
SequenceClasscCr'rr(rrrrr9r)zSequenceClass.__init__cCs"d|kr|jkr|St�t�r)r�
IndexErrorr/rrr�__getitem__;s�zSequenceClass.__getitem__N�r"r#r$rr3rrrrr18r,r1c@r%)�SequenceProxyClasscCr'r��s)rr7rrrrBr)zSequenceProxyClass.__init__cCs
|j|Srr6r/rrrr3Dr)zSequenceProxyClass.__getitem__Nr4rrrrr5Ar,r5c@�eZdZdd�ZdS)�UnlimitedSequenceClasscC�|Srrr/rrrr3Hr z"UnlimitedSequenceClass.__getitem__N�r"r#r$r3rrrrr9G�r9c@seZdZdS)�DefaultIterClassN)r"r#r$rrrrr=Ksr=c@seZdZdd�ZdZdS)�NoIterClasscCr:rrr/rrrr3Or zNoIterClass.__getitem__N)r"r#r$r3rrrrrr>Nsr>c@r8)�BadIterableClasscC�t�r)�ZeroDivisionErrorrrrrrTr zBadIterableClass.__iter__N�r"r#r$rrrrrr?Sr<r?c@r%)�EmptyIterClasscC�dSrrrrrr�__len__Xr zEmptyIterClass.__len__cCr@r�rr/rrrr3Zr zEmptyIterClass.__getitem__N)r"r#r$rEr3rrrrrCWr,rCc@s�eZdZdydd�Zdydd�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+dTdU�Z,dVdW�Z-e.dXdY��Z/dZd[�Z0d\d]�Z1d^d_�Z2d`da�Z3dbdc�Z4ddde�Z5dfdg�Z6dhdi�Z7djdk�Z8dldm�Z9dndo�Z:e.dpdq��Z;drds�Z<dtdu�Z=dvdw�Z>dxS)z�TestCaseTcCsR|r|�||�g}	zt|�}Wn	tyYnw|�|�q|�||�dSr)�check_pickler0r�append�assertEqual)r�it�seq�pickler�valrrr�check_iteratorbs�
�zTestCase.check_iteratorcCs<|r
|�t|�|�g}|D]}|�|�q|�||�dSr)rH�iterrIrJ)r�exprrLrMrrNrrr�check_for_looposzTestCase.check_for_loopc	Cs�ttjd�D]K}t�||�}t�|�}|�t|tjj	��|�
t|�|�t�|�}zt|�Wn	t
y:Yqwt�||�}t�|�}|�
t|�|dd��qdSr)�rangerM�HIGHEST_PROTOCOL�dumps�loads�
assertTrue�
isinstance�collections�abc�IteratorrJ�listr0r)rZitorgrL�proto�drKrrrrHxs

�
�zTestCase.check_picklecC� |�ttd��ttd���dS�N�
)rOrPrSr\rrrr�test_iter_basic�� zTestCase.test_iter_basiccCs.ttd��}t|�}t|�}|�||u�dSr`)r\rSrPrW)rrLrKZit2rrr�test_iter_idempotency�szTestCase.test_iter_idempotencycCr_r`�rRrPrSr\rrrr�test_iter_for_loop�rczTestCase.test_iter_for_loopcCsVtd�}g}t|�D]}t|�D]}t|�D]
}|�|||f�qqq
|�|t�dS�N�)rSrPrIrJ�TRIPLETS)rrLrr�j�krrr�test_iter_independence�s��zTestCase.test_iter_independencecs.td���fdd�t��D�}|�|t�dS)Nrhcs2g|]}t��D]}t��D]}|||f�qqqSr)rP��.0rrjrk�rLrr�
<listcomp>�s���z<TestCase.test_nested_comprehensions_iter.<locals>.<listcomp>)rSrPrJrirrror�test_nested_comprehensions_iter�s

�z(TestCase.test_nested_comprehensions_itercs*td���fdd��D�}|�|t�dS)Nrhcs*g|]}�D]}�D]}|||f�q
qqSrrrmrorrrp�s*z;TestCase.test_nested_comprehensions_for.<locals>.<listcomp>)rSrJrirrror�test_nested_comprehensions_for�sz'TestCase.test_nested_comprehensions_forcC�|�td�ttd���dSr`)rRr&r\rSrrrr�test_iter_class_for��zTestCase.test_iter_class_forcC� |�ttd��ttd���dSr`)rOrPr&r\rSrrrr�test_iter_class_iter�rczTestCase.test_iter_class_itercCrsr`)rRr1r\rSrrrr�test_seq_class_for�ruzTestCase.test_seq_class_forcCrvr`)rOrPr1r\rSrrrr�test_seq_class_iter�rczTestCase.test_seq_class_itercCs�td�}ttjd�D]�}t|�}t�||f|�}t�|�\}}d|_|�t	|�t	|��|�
t|�ttd���t|�t�||f|�}t�|�\}}d|_|�t	|�t	|��|�
t|�ttdd���tdd�D]}t|�qkt�||f|�}t�|�\}}d|_|�t	|�t	|��|�
t|�ttdd���|�
tt|�t�||f|�}t�|�\}}d|_|�t|tjj��|�
t|�g�qdS)N�r�)r1rSrMrTrPrUrVrZassertIs�typerJr\r0�assertRaisesrrWrXrYrZr[)r�origr]Zitorigr^rKrLrrrr�#test_mutating_seq_class_iter_pickle�s8
�z,TestCase.test_mutating_seq_class_iter_picklecCsltd�}t|�}t|�}|D]}t|�qd|_|�t|�g�|�t|�ddg�|�t|�gd��dS)Nrzr{�)rrr	rh�rzr�)r1rPr0rrJr\)r�aZexhitZempit�xrrr�&test_mutating_seq_class_exhausted_iter�s
z/TestCase.test_mutating_seq_class_exhausted_itercsptj�ttd��d��fdd�	}t�ftd�ftd�fddd�dfg}znt�|d	�}|�	|d
��d	df�|�	|gd���d	gff�|�	|d
�d
t
td����tgff�|D]}|�	||��d	df�q[W���D] \}}t
�t���|=Wd�n1s�wY|�|<qodS���D] \}}t
�t���|=Wd�n1s�wY|�|<q�w)N)rP�reversedcsH|durt|�nt||�}Gdd�d�}�|=�|�|||�<|��S)Nc@r)zKTestCase.test_reduce_mutating_builtins_iter.<locals>.run.<locals>.CustomStrcS�||_||_dSr)�name�iterator)rr�r�rrrr�rzTTestCase.test_reduce_mutating_builtins_iter.<locals>.run.<locals>.CustomStr.__init__cSr*r)�hashr�rrrr�__hash__r)zTTestCase.test_reduce_mutating_builtins_iter.<locals>.run.<locals>.CustomStr.__hash__cSst|j�||jkSr)r\r�r�)r�otherrrr�__eq__s

zRTestCase.test_reduce_mutating_builtins_iter.<locals>.run.<locals>.CustomStr.__eq__N)r"r#r$rr�r�rrrr�	CustomStr��r�)rP�
__reduce__)�builtin_name�item�sentinelrKr��Z
builtins_dictr~rr�run�s
z8TestCase.test_reduce_mutating_builtins_iter.<locals>.run�)�rr	rhcSrDrrrrrr�<lambda>sz=TestCase.test_reduce_mutating_builtins_iter.<locals>.<lambda>rrPZxyz)�r�r�)rr)�builtins�__dict__rPr�rC�bytes�	bytearray�	functools�partialrJr\rS�items�
contextlib�suppress�KeyError)rr��typesZrun_iter�case�key�funcrr�r�"test_reduce_mutating_builtins_iter�s>

����
��
�z+TestCase.test_reduce_mutating_builtins_itercCs$Gdd�dt�}|�tt|��dS)Nc@r8)z5TestCase.test_new_style_iter_class.<locals>.IterClasscSrrrrrrrr:r z>TestCase.test_new_style_iter_class.<locals>.IterClass.__iter__NrBrrrr�	IterClass9r<r�)�objectr}�	TypeErrorrP)rr�rrr�test_new_style_iter_class8sz"TestCase.test_new_style_iter_classcCs2Gdd�d�}|jt|�d�ttd��dd�dS)Nc@r%)z&TestCase.test_iter_callable.<locals>.CcSs
d|_dSrr.rrrrrAr)z/TestCase.test_iter_callable.<locals>.C.__init__cSs |j}|d|_|dkrt�|S)Nr�d)rr2r/rrr�__call__Cs

z/TestCase.test_iter_callable.<locals>.C.__call__N)r"r#r$rr�rrrr�C@r,r�raF�rM�rOrPr\rS)rr�rrr�test_iter_callable?s$	zTestCase.test_iter_callablecCs0dgfdd�}|jt|d�ttd��dd�dS)NrcSs|d}|d|d<|S�Nrrr��staterrrr�spamMsz)TestCase.test_iter_function.<locals>.spamraFr�r��rr�rrr�test_iter_functionLs"zTestCase.test_iter_functioncCs0dgfdd�}|jt|d�ttd��dd�dS)NrcSs$|d}|dkr
t�|d|d<|S)NrrarrFr�rrrr�Us
z.TestCase.test_iter_function_stop.<locals>.spam�raFr�r�r�rrr�test_iter_function_stopTs"z TestCase.test_iter_function_stopcsnd�d�dd������fdd��d�_t����_|�t��t�j�Wd�dS1s0wYdS)Nrr	cSst|�dS)z2Exhaust an iterator without raising StopIteration.N)r\)r�rrr�exhaustdszLTestCase.test_iter_function_concealing_reentrant_exhaustion.<locals>.exhaustcs�jr�Sd�_��j��S)NT)�is_recursive_callr�r�ZHAS_MOREZNO_MOREr�r�rrr�hs

zITestCase.test_iter_function_concealing_reentrant_exhaustion.<locals>.spamF)r�rPr�r}rr0rrr�r�2test_iter_function_concealing_reentrant_exhaustion]s	"�z;TestCase.test_iter_function_concealing_reentrant_exhaustionc	Cshdgfdd�}g}zt|d�D]}|�|�qWnty,|�|ttd���YdSw|�d�dS)NrcSs$|d}|d|d<|dkrt�|S)Nrrra)�RuntimeErrorr�rrrr�xs
z.TestCase.test_exception_function.<locals>.spamr�ra�should have raised RuntimeError)rPrIr�rJr\rS�fail)rr�rr�rrr�test_exception_functionws��z TestCase.test_exception_functionc	CshGdd�dt�}g}z|d�D]}|�|�qWnty,|�|ttd���YdSw|�d�dS)Nc@r8)z9TestCase.test_exception_sequence.<locals>.MySequenceClasscS�|dkrt�t�||�Sr`)r�r1r3r/rrrr3��zETestCase.test_exception_sequence.<locals>.MySequenceClass.__getitem__Nr;rrrr�MySequenceClass�r<r�r�rar�)r1rIr�rJr\rSr�)rr�rr�rrr�test_exception_sequence�s��z TestCase.test_exception_sequencecCs0Gdd�dt�}|j|d�ttd��dd�dS)Nc@r8)z4TestCase.test_stop_sequence.<locals>.MySequenceClasscSr�r`)rr1r3r/rrrr3�r�z@TestCase.test_stop_sequence.<locals>.MySequenceClass.__getitem__Nr;rrrrr��r<r�r�raFr�)r1rRr\rS)rr�rrr�test_stop_sequence�s zTestCase.test_stop_sequencecCr_)Ni'rerrrr�test_iter_big_range�rczTestCase.test_iter_big_rangecCs|�tg�g�dSr�rRrPrrrr�test_iter_empty�szTestCase.test_iter_emptycCs|�td�ttd���dS)N)
rrr	rhr�rzr�r{r��	ra)rRrPr\rSrrrr�test_iter_tuple�ruzTestCase.test_iter_tuplecCr_r`rerrrr�test_iter_range�rczTestCase.test_iter_rangecCs|�td�gd��dS�NZabcde)r��b�cr^�er�rrrr�test_iter_string�szTestCase.test_iter_stringcCs2i}td�D]}d||<q|�|t|����dSr`)rSrRr\�keys)r�dictrrrr�test_iter_dict�s
zTestCase.test_iter_dictcCs�ttddd�}ztd�D]	}|�d|�qW|��n|��wttddd�}z)|j|gd�dd	�|j|gdd	�W|��ztt�WdStyQYdSw|��ztt�WwtyeYww)
N�w�utf-8��encodingrz�%d
�r�z0
�1
�2
�3
�4
Fr�)�openrrS�write�closerRr�OSError)r�frrrr�test_iter_file�s,����zTestCase.test_iter_filecCs\|�ttd��ttd���|�ttd��g�|�td�g�dddd�}|�t|�t|����|�ttt�|�ttd�ttd	d
d�}ztd�D]	}|�	d|�qLW|�
�n|�
�wttd
d
d�}z1|�t|�gd��|�dd�|�t|�gd��W|�
�ztt�WdSt
y�YdSw|�
�ztt�Wwt
y�Yww)Nrzrrrr	rh��one�two�three�*r�r�r�r�r�r�)rJr\r1rSr�r}r�r�rr�r��seekrr��rr^r�rrrr�test_builtin_list�s@�
����zTestCase.test_builtin_listcCsl|�ttd��d�|�ttd��d�|�tg�d�|�td�d�|�td�d�ddd	d
�}|�t|�t|����|�ttt�|�ttd�ttdd
d�}zt	d�D]	}|�
d|�qXW|��n|��wttdd
d�}z-|�t|�d�|�dd�|�t|�d�W|��zt
t�WdSty�YdSw|��zt
t�Wwty�Yww)Nrz�rrr	rhr�rrrZ�r�r�r�rr	rhr�r�r�r�r�r�r�r�)rJ�tupler1r�r}r�r\r�rrSr�r�r�rr�r�rrr�test_builtin_tuple�sD�
����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)NrzrrrrZr�r	rhr�r�c@r%)z-TestCase.test_builtin_filter.<locals>.BooleancSr'r��truth)rr�rrrrr)z6TestCase.test_builtin_filter.<locals>.Boolean.__init__cSs|jSrr�rrrr�__bool__sz6TestCase.test_builtin_filter.<locals>.Boolean.__bool__N)r"r#r$rr�rrrr�Booleanr,r�TFc@r%)z)TestCase.test_builtin_filter.<locals>.SeqcWr'r��vals)r�argsrrrr%r)z2TestCase.test_builtin_filter.<locals>.Seq.__init__cSsGdd�d�}||j�S)Nc@r)zCTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqItercSr
r)r�r)rr�rrrr)rzLTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqIter.__init__cSrrrrrrrr,r zLTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqIter.__iter__cSs,|j}|d|_|t|j�kr|j|St�r)r�lenr�rr/rrrr.s


zLTestCase.test_builtin_filter.<locals>.Seq.__iter__.<locals>.SeqIter.__next__N�r"r#r$rrrrrrr�SeqIter(r�r�r�)rr�rrrr's

z2TestCase.test_builtin_filter.<locals>.Seq.__iter__Nr+rrrr�Seq$r,r��cS�|Srr�r�rrrr�8�z.TestCase.test_builtin_filter.<locals>.<lambda>cSr�rrr�rrrr�9r)	rJr\�filterr1rSr�r}r�rP)rr^r�ZbTrueZbFalser�rLrrr�test_builtin_filters"� (zTestCase.test_builtin_filtercCsz|�ttd��d�|�ttd��d�|�tdd�d�|�tdd�d�dddd	�}|�t|�d
�|�t|�d�|�t|���d�|�tt|����d�ttdd
d�}z|�d�|�d�|�d�W|�	�n|�	�wttdd
d�}z-|�t|�d�|�
dd�|�t|�d�W|�	�ztt�WdSty�YdSw|�	�ztt�Wwty�Yww)Nrzr�rr����rr	rhr�r�r�r�r�r�zmedium line
zxtra large line
zitty-bitty line
r�)
rJ�maxr1�min�valuesrPr�rr�r�r�rr�)rr^r�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d
d�}ztd�D]}|�	d|d�qKW|�
�n|�
�wttdd
d�}z(|�ttt|��ttddd���W|�
�ztt�WdSt
y�YdSw|�
�ztt�Wwt
y�Yww)NcSs|dSrrr�rrrr�]�z+TestCase.test_builtin_map.<locals>.<lambda>rzrr�r	rhr�cSs|||fSrr)rkr^rrrr�ascs>g|]}|t��kr�|pd||t��kr�|pdf�qSr)r��rnr�r^Zdkeysrrrpds��z-TestCase.test_builtin_map.<locals>.<listcomp>r�r�r�raZxy�
r��)rJr\�mapr1rSr�r�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
tddd�}z|�d�W|�
�n|�
�wt
tddd�}z'|�tt|d�||d���gd��W|�
�ztt�Wnty�Ynw|�
�ztt�Wwty�Yww|�tttd���dd�td�D��Gdd�d�}Gdd�d|�}Gdd�d|�}dd �}|�t|��d�|�t|��d!�|�||��|td���|�||��|td���|�||��|td���d"d�td�D�}|�|�|�fD]}	|�|�|�fD]}
|�||	|
�|��qS�qIdS)#N�rr	�ab)rr�)r	r�rar�rh)�r)r)r	rr	r�c@r)z+TestCase.test_builtin_zip.<locals>.IntsFromcSr'rr.)r�startrrrr�r)z4TestCase.test_builtin_zip.<locals>.IntsFrom.__init__cSrrrrrrrr�r z4TestCase.test_builtin_zip.<locals>.IntsFrom.__iter__cSs|j}|d|_|Srr.r/rrrr�s
z4TestCase.test_builtin_zip.<locals>.IntsFrom.__next__Nr�rrrr�IntsFrom�srr�r�r�z	a
bbb
cc
r�r���))r�a
r)rzbbb
i����)r	zcc
i����rzcSsg|]}|f�qSrrr	rrrrp�sz-TestCase.test_builtin_zip.<locals>.<listcomp>c@r8)z.TestCase.test_builtin_zip.<locals>.NoGuessLen5cSs|dkrt�|S�Nrz)r2r/rrrr3�sz:TestCase.test_builtin_zip.<locals>.NoGuessLen5.__getitem__Nr;rrrr�NoGuessLen5�r<rc@r8)z-TestCase.test_builtin_zip.<locals>.Guess3Len5cSrDrgrrrrrrE�r z5TestCase.test_builtin_zip.<locals>.Guess3Len5.__len__N�r"r#r$rErrrr�
Guess3Len5�r<rc@r8)z.TestCase.test_builtin_zip.<locals>.Guess30Len5cSrD)N�rrrrrrE�r z6TestCase.test_builtin_zip.<locals>.Guess30Len5.__len__Nrrrrr�Guess30Len5�r<rcWstt|��Sr)r\�zip)r�rrr�lzip�sz'TestCase.test_builtin_zip.<locals>.lziprcSsg|]}||f�qSrrr	rrrrp�s)rJr\rr}r�rSr&r1r�rr�rr�r�rr�r�)rr^rr�rrrrrr��yrrr�test_builtin_zipzsh��"����&��zTestCase.test_builtin_zipcCs�Gdd�d�}ttddd�}z|�d�W|��n|��wttddd�}z$d�||��}|�|d	�W|��ztt�WdStyJYdSw|��ztt�Wwty^Yww)
Nc@r)z4TestCase.test_unicode_join_endcase.<locals>.OhPhooeycSst|�|_d|_dSr)rPrKr)rrLrrrr�s

z=TestCase.test_unicode_join_endcase.<locals>.OhPhooey.__init__cSrrrrrrrr�r z=TestCase.test_unicode_join_endcase.<locals>.OhPhooey.__iter__cSs&|j}|d|_|dkrdSt|j�S)Nrr	zfooled you!)rr0rKr/rrrr�s


z=TestCase.test_unicode_join_endcase.<locals>.OhPhooey.__next__Nr�rrrr�OhPhooey�sr!r�r�r��a
b
c
r�z - za
 - b
 - fooled you! - c
)r�rr�r��joinrJrr�)rr!r�Zgotrrr�test_unicode_join_endcase�s*���z"TestCase.test_unicode_join_endcasecCsttd�td�fD]%}td�D]}|�||�qdddddgddid|f	D]}|�||�q$q|�tttdg���|�ttdg��|�tttt	g���|�ttt	g��|�t	tttg���|�t	ttg��|�
tdd	��|�
td
d	��|�
tdd	��ddd
dd�}|D]}|�||�|�||�
��q�|�
�D]}|�||�
��|�||�q�|��D]\}}|�||f|���|�||f|���q�ttddd�}z|�d�W|��n|��wttddd�}z7dD]}|�dd�|�||�|�dd�|�|d|�q�W|��ztt�WdSt�y$YdSw|��ztt�Wwt�y9Yww)NrzrZrg�(\��5E@)rhr�ry@(�cSsddvS)Nrh�rrrrrr�rz-TestCase.test_in_and_not_in.<locals>.<lambda>cSsdtvSrg)r
rrrrr�rcSs
dt�vSrg)r?rrrrr�s
r	rh�@�r�r�r���?r�r�r�r"r�rr)r&r1rSZassertInZassertNotInrr-rPr5rr}r�rArr�r�rr�r�r�rr�)rZsc5rr^rk�vr��chunkrrr�test_in_and_not_in�sb�����zTestCase.test_in_and_not_incCs�ddlm}|�|gd�d�d�|�|dd�d�|�|dd�d�|�|dd�d�|�t|d	d
�|�t|||�ddddd�}|D]}|�|||�d
�qE|�||��d�d�|�||��d�d
�|�||��d
�d�ttddd�}z|�d�W|�	�n|�	�wttddd�}z/dD]\}}|�
dd�|�|||d�|�q�W|�	�ztt�WdSty�YdSw|�	�ztt�Wwty�Yww)Nr)�countOf�rr	r	rhr	rzr	rh�122325�2�6r�rr&r'r(r�r�r�za
b
c
b
r�))r�r)r�r	)r�r)r^rr)
�operatorr,rJr}r�rr�rr�r�r�rr�)rr,r^rkr�Zletter�countrrr�test_countOf$sF����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	ddd�}z|�
d�W|��n|��wtt	ddd�}z<t|�}|�||d�d�|�||d�d�|�||d�d�|�t||d�W|��zt
t	�Wnty�Ynw|��zt
t	�Wwty�Ywwtd�}td�D]}|�|||�|�q�|�t||d�dS)Nr)�indexOfr-rr	rhrzr�r.r/�5r0r�r�r�r�z
a
b
c
d
e
r�zb
zd
ze
rr)r1r4rJr}�
ValueErrorr�rAr?r�rr�r�rPrr�r&rS)rr4r�ZfiterZiclassrrrr�test_indexOfGsP���zTestCase.test_indexOfcsttddd�}zs|�t|jd�|�t|jd�|�ddg�|�d�|�ddi�|�i�Gd	d
�d
��G�fdd�d�}|�|d
d��|��ttdd�}dd�tdd�D�}|�t|�|�W|��zt	t�WdSt
yzYdSw|��zt	t�Wwt
y�Yww)Nr�r�r�r�r�r�)r�r�z5
c@r)z*TestCase.test_writelines.<locals>.IteratorcSs||_||_|j|_dSr)r�finishr�rrr8rrrrsz3TestCase.test_writelines.<locals>.Iterator.__init__cSs0|j|jkrt�t|j�d}|jd7_|S)Nrr)rr8r�str)r�resultrrrr�s
z3TestCase.test_writelines.<locals>.Iterator.__next__cSrrrrrrrr�r z3TestCase.test_writelines.<locals>.Iterator.__iter__Nr!rrrrr[~sr[c� eZdZdd�Z�fdd�ZdS)z*TestCase.test_writelines.<locals>.WhatevercSr�r�rr8r9rrrr�rz3TestCase.test_writelines.<locals>.Whatever.__init__cs�|j|j�Srr=r�r[rrr�sz3TestCase.test_writelines.<locals>.Whatever.__iter__Nr+rr>rr�Whatever�sr?r�i�cSsg|]}t|�d�qS)r)r:r	rrrrp�sz,TestCase.test_writelines.<locals>.<listcomp>r)r�rr}r��
writelinesr�rSrJr\rr�)rr�r?rrr>r�test_writelinesqs6

���zTestCase.test_writelinescCs�d\}}|�||fd�td�\}}}|�|||fd�ztd�\}}Wn	ty-Ynw|�d�z	td�\}}}Wn	tyEYnw|�d�zt\}}}Wn	ty[Ynw|�d�dddd���\}}}|�|||fd	�ttd
dd�}d
}z|D]}|�	|�q�W|�
�n|�
�wttddd�}z#|\}}}|�|||f|�W|�
�ztt�Wnty�Ynw|�
�ztt�Wwty�Ywwtd�ddi\}}\}|�|||fd�dS)Nrrhr
zshould have raised ValueErrorr	zshould have raised TypeErrorr�r�)r�r�r�r�r�r�)rzbb
zccc
r��)rrr�)
rJr&r6r�r�r�rr�rr�r�rr�)rr�r�r�r��lines�linerrr�test_unpack_iter�sb�
�
�
�
���zTestCase.test_unpack_itercCs�Gdd�dt�}|�}|�|jd�~|�|jd�|�|�|�g}|�|jd�zt|�\}}Wn	ty:Ynw~|�|jd�dS)Nc@s eZdZdZdd�Zdd�ZdS)z.TestCase.test_ref_counting_behavior.<locals>.CrcSs|jd7_t�|�Sr)r2r��__new__)�clsrrrrF�s
z6TestCase.test_ref_counting_behavior.<locals>.C.__new__cSs&|j}|jdks
J�|jd8_dSr�)�	__class__r2)rrGrrr�__del__�sz6TestCase.test_ref_counting_behavior.<locals>.C.__del__N)r"r#r$r2rFrIrrrrr��sr�rrrh)r�rJr2rPr6)rr�r��lr�r�rrr�test_ref_counting_behavior�s	�z#TestCase.test_ref_counting_behaviorcCsPttd��}t|�}|�t|�ttd���|�tdd��|�t|�g�dS�Nrzra)r\rSrPrJ�extend�rr�r�rrr�test_sinkstate_list�s
zTestCase.test_sinkstate_listcCs8d}t|�}|�t|�ttd���|�t|�g�dS)Nr�rz�rPrJr\rSrNrrr�test_sinkstate_tupleszTestCase.test_sinkstate_tuplecCs4d}t|�}|�t|�gd��|�t|�g�dSr�)rPrJr\rNrrr�test_sinkstate_stringszTestCase.test_sinkstate_stringcCsBtd�}t|�}|�t|�ttd���d|_|�t|�g�dSrL)r1rPrJr\rSrrNrrr�test_sinkstate_sequences
z TestCase.test_sinkstate_sequencecCsDdgfdd�}t|d�}|�t|�ttd���|�t|�g�dS)NrcSs(|d}|d|d<|dkrtd��|S)Nrrrazshouldn't have gotten this far)�AssertionErrorr�rrrr�s
z.TestCase.test_sinkstate_callable.<locals>.spamrzrP)rr�r�rrr�test_sinkstate_callables
z TestCase.test_sinkstate_callablecCsbdddddd�}t|�|��|��|��fD]}t|�}|�tt|��d�|�t|�g�qdS)Nrr	rr�rh)rr	rr�rhrz)rPr�r�rrJr�r\rNrrr�test_sinkstate_dict s �zTestCase.test_sinkstate_dictcCs:dd�}|�}|�t|�ttd���|�t|�g�dS)Ncs��td�D]}|VqdSr�rSr.rrr�gen*���z*TestCase.test_sinkstate_yield.<locals>.genrz)rJr\rS)rrYr�rrr�test_sinkstate_yield)szTestCase.test_sinkstate_yieldcCs<td�}t|�}|�t|�ttd���|�t|�g�dSr)rSrPrJr\rNrrr�test_sinkstate_range1szTestCase.test_sinkstate_rangecCsNtd�}t|�}t|�}|�t|�tttd�td����|�t|�g�dSr)rS�	enumeraterPrJr\r)rr�r�r�rrr�test_sinkstate_enumerate7s
"z!TestCase.test_sinkstate_enumeratecs<G�fdd�dt��z	��D]}qWdStyYdSw)Ncr<)z'TestCase.test_3720.<locals>.BadIteratorcSrrrrrrrrAr z0TestCase.test_3720.<locals>.BadIterator.__iter__cs�`dSr)rr��BadIteratorrrrCsz0TestCase.test_3720.<locals>.BadIterator.__next__N)r"r#r$rrrr_rrr`@sr`)r�r�r/rr_r�	test_3720>s
��zTestCase.test_3720cCsJdd�}dgd}td�D]}|�d�q
|�|��|�t|�d�dS)NcsrW)N��rXr.rrrrYSrZzITestCase.test_extending_list_with_iterator_does_not_segfault.<locals>.genrrb��i�)rS�poprMrJr�)rrYZlstrrrr�3test_extending_list_with_iterator_does_not_segfaultMs
z<TestCase.test_extending_list_with_iterator_does_not_segfaultcCs�tt��}|�tjd�|�t|�tjd�|�t|�tjd�|�t��t|�Wd�n1s7wY|�t��
t|�Wd�dS1sQwYdS)Nr	r)	rPr9�__setstate__�sys�maxsizerJr0r}�
OverflowError�rrKrrr�test_iter_overflow\s

�
"�zTestCase.test_iter_overflowcCs8tt��}|�d�|�t|�d�|�t|�d�dS)Ni���rr)rPr9rfrJr0rjrrr�test_iter_neg_setstatejs

zTestCase.test_iter_neg_setstatecCst|ttd�dS)Nr)rrPr1rrrr�test_free_after_iteratingpsz"TestCase.test_free_after_iteratingcCs2ttfD]
}|�tt|��q|�ttt��dSr)r=r>r}r�rPrAr?)r�typrrr�test_error_itersszTestCase.test_error_iterN)T)?r"r#r$rOrRrHrbrdrfrlrqrrrtrwrxryrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr r$r+r3r7rArErrKrOrQrRrSrUrVr[r\r^rarerkrlrmrorrrrrG_s|


	
$H
		!- O*1#*55
	

rG�__main__)rgZunittestZtest.supportrZtest.support.os_helperrrrrrrM�collections.abcrYr�r�r�rirr&r-r1r5r9r=r>r?rCrGr"�mainrrrr�<module>sB
	"�