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_collections.cpython-37.opt-1.pyc
B

��gp>�@s:dZddlZddlZddlZddlZddlZddlZddlmZm	Z	ddl
Z
ddlZddlZddl
mZddlZddlZddlmZmZmZmZddlmZmZmZddlmZddlmZdd	lmZmZdd
lmZmZmZddlm Z m!Z!m"Z"m#Z#m$Z$ddlm%Z%m&Z&m'Z'm(Z(dd
lm)Z)m*Z*ddlm+Z+m,Z,m-Z-m.Z.m/Z/ddlm0Z0m1Z1ddlm2Z2Gdd�dej3�Z4Gdd�dej3�Z5edd�Z6Gdd�dej3�Z7Gdd�dej3�Z8dd�Z9Gdd�de8�Z:Gdd �d e*�Z;Gd!d"�d"e8�Z<Gd#d$�d$e�Z=Gd%d&�d&e�Z>Gd'd(�d(ej3�Z?d.d)d*�Z@eAd+k�r6e@d,d-�dS)/zUnit tests for collections.py.�N)�choice�	randrange)�support)�
namedtuple�Counter�OrderedDict�_count_elements)�UserDict�
UserString�UserList)�ChainMap)�deque)�	Awaitable�	Coroutine)�
AsyncIterator�
AsyncIterable�AsyncGenerator)�Hashable�Iterable�Iterator�	Generator�
Reversible)�Sized�	Container�Callable�
Collection)�Set�
MutableSet)�Mapping�MutableMapping�KeysView�	ItemsView�
ValuesView)�Sequence�MutableSequence)�
ByteStringc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�TestUserObjectscCs0|�tt|��tt|��dj|j|jd��dS)Nz&{a} should have all the methods of {b})�a�b)ZassertGreaterEqual�set�dir�format�__name__)�selfr'r(�r.�1/usr/local/lib/python3.7/test/test_collections.py�_superset_test s

zTestUserObjects._superset_testcCsn|��}|�|j|j�|�|j|j�dg|_t�|�}|�|j|j�|�|j|j�|�|j|j�dS)Ni�)�copy�assertIsNot�data�assertEqual�test�assertIs)r-�objZobj_copyr.r.r/�
_copy_test*s
zTestUserObjects._copy_testcCs|�tt�dS)N)r0r
�str)r-r.r.r/�test_str_protocol7sz!TestUserObjects.test_str_protocolcCs|�tt�dS)N)r0r�list)r-r.r.r/�test_list_protocol:sz"TestUserObjects.test_list_protocolcCs|�tt�dS)N)r0r	�dict)r-r.r.r/�test_dict_protocol=sz"TestUserObjects.test_dict_protocolcCst�}|�d�|�|�dS)N�{)r�appendr8)r-r7r.r.r/�test_list_copy@s
zTestUserObjects.test_list_copycCst�}d|d<|�|�dS)N�abcr?)r	r8)r-r7r.r.r/�test_dict_copyEszTestUserObjects.test_dict_copyN)
r,�
__module__�__qualname__r0r8r:r<r>rArCr.r.r.r/r&s

r&c@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�TestChainMapcCs�t�}d|d<d|d<|��}d|d<d|d<|�|jddd�ddd	�g�|�|��tdddd
����|�t|�d�xdD]}|�||�q�Wx4tdddd
d���D]\}}|�|�|d
�|�q�W|d=|�|jddiddd	�g�|�|��tdddd
����|�t|�d�xdD]}|�||��q Wx6tdddd
d���D]\}}|�|�|d
�|��qLW|�t	|�t
|�jdt
|�jdg�x�|��t�|�fD]�}|�||�|�|j|j�|�
||�|�
|jd|jd�x8t|jdd�|jdd��D]\}}|�||��qW�q�Wx~ttjd�D]l}	t�t�||	��}|�||�|�|j|j�|�
||�x*t|j|j�D]\}}|�
|||��q�W�q>Wxtt�|�tt	|��gD]Z}|�||�|�|j|j�|�
||�x*t|j|j�D]\}}|�
|||��qW�q�W|��}
d|
d<|�|
jddiddiddd	�g�|�|
jjddiddd	�g�|�|
dd�|�|
jdd�dS)N�r'�r(���c)r(rK)r'r()r'r(rK�rB�d)r'r(rK�zz({'c': 30}, {'a': 1, 'b': 2})z({'c': 30}, {'b': 2, 'a': 1})r�)r�	new_childr4�maps�itemsr=�len�assertIn�get�repr�typer,r1r2�zipr6�range�pickle�HIGHEST_PROTOCOL�loads�dumps�deepcopy�eval�parents)r-rK�d�key�k�v�eZm1Zm2�proto�fr.r.r/�test_basicsQsf


(
"zTestChainMap.test_basicscCsPddd�}ddd�}t||�}|��}|�|�|�t|���t|����dS)NZbachZ	rembrandt)Zmusic�artzvan goghZcarmen)riZopera)rr1�updater4r;rR)r-ZbaselineZadjustments�cmZcombinedr.r.r/�
test_ordering�s



zTestChainMap.test_orderingcCs2|�t�jig�|�tddi�jddig�dS)NrGrH)r4rrQ)r-r.r.r/�test_constructor�szTestChainMap.test_constructorcCsH|�t��|�tii��|�tddii��|�tiddi��dS)NrGrH)�assertFalser�
assertTrue)r-r.r.r/�	test_bool�szTestChainMap.test_boolc	Cs Gdd�dt�}|tddd�tddd��}x0tdddd	d
���D]\}}|�|||�q@Wx4tddddd
���D]\}}|�|�|d�|�qrWx0tdddd
d
���D]\}}|�||k|�q�W|�|�dd�d|�|�|�dd�d�|�|��d�|�t��|��WdQRXdS)Nc@seZdZdd�ZdS)z2TestChainMap.test_missing.<locals>.DefaultChainMapcSsdS)Ni�r.)r-rbr.r.r/�__missing__�sz>TestChainMap.test_missing.<locals>.DefaultChainMap.__missing__N)r,rDrErqr.r.r.r/�DefaultChainMap�srrrGrH)r'r(rIrJ)r(rKi�)r'r(rKra�MTFr'i�i�)r(rH)	rr=rRr4rU�pop�popitem�assertRaises�KeyError)r-rrrarcrdr.r.r/�test_missing�szTestChainMap.test_missingcCs�ttddd�t�tdddd�tdd	d
ddd
�t�tddd�tdddddd�t��}|�d�|�d�|�t|���dddddddd d!d"g
�dS)#Nri8[)�j�hi'i\i
)�irarKi���i	iMix)rgr(�grKrz�7�)rer(rGrHrL�rO)r'r(rKrare�Z
abcdefghij)r'rG)r(r|)rKi
)rai\)rer~)rgi�)r}i	)rzi8[)r{i')ryr)rrr4�joinr;rR)r-rar.r.r/�test_order_preservation�s

z$TestChainMap.test_order_preservationcCsVttddd�tddd��}|�t|�tdddd��|�t|���tdddd��dS)NrGrH)r'r(rIrJ)r(rK)r'r(rK)rr=r4rR)r-rar.r.r/�test_dict_coercion�szTestChainMap.test_dict_coercioncCs�t�}d|d<d|d<ddd�}|�|�}|�|jddd�ddd�g�|�||jd	�Gd
d�dt�}t�}d|d<d|d<|ddd�}|�|�}|�||jd	�xdD]}|�||�q�Wx4tdddd
d���D]\}}|�|�|d
�|�q�WdS)z#Tests for changes for issue #16613.rGr'rHr(rIrJ)r(rK)r'r(rc@seZdZdd�Zdd�ZdS)z.TestChainMap.test_new_child.<locals>.lowerdictcSst|t�r|��}t�||�S)N)�
isinstancer9�lowerr=�__getitem__)r-rbr.r.r/r��s
z:TestChainMap.test_new_child.<locals>.lowerdict.__getitem__cSst|t�r|��}t�||�S)N)r�r9r�r=�__contains__)r-rbr.r.r/r��s
z;TestChainMap.test_new_child.<locals>.lowerdict.__contains__N)r,rDrEr�r�r.r.r.r/�	lowerdict�sr�rBrM)r'�B�CrNN)	rrPr4rQr6r=rTrRrU)r-rK�mrar�rbrcrdr.r.r/�test_new_child�s$




zTestChainMap.test_new_childN)r,rDrErhrlrmrprxr�r�r�r.r.r.r/rFOs<rF�TestNTzx y zc@s�eZdZdd�Zdd�Ze�ejj	dkd�dd��Z
e�ejj	dkd�d	d
��Zdd�Zd
d�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!S)"�TestNamedTuplecCsJtdd�}|�|jd�|�|jd�|�|jt�|�|jtj�|�|jd�|�t	tdd�|�t	tdd�|�t	tdd�|�t	td	d
�|�t	td	d�|�t	td	d�|�t	td	d
�|�t	td	d�tdd�tdd�tdd�}|�
dt|j��tdd�}|�
dt|j��|�t|j
dg�|�t|j
dddg�dS)N�Pointzx yr.)�x�yzabc%zefg ghi�classZ9abcrBzefg g%hiz	abc classz	8efg 9ghiz_efg ghizefg efg ghiZPoint0zx1 y2�_za b c�ntzthe quick brown foxzu')�theZquick�r�!)rr4r,�	__slots__rDr��tuple�_fieldsrv�
ValueError�assertNotInrV�	TypeError�_make)r-r�r�r.r.r/�test_factory�s,




zTestNamedTuple.test_factoryc	Cs�tdddd�}|�|jddd��|�|dd	�d
�|�|d�d�|�|�d�tdddd�}|�|jd
di�|�|dd	�d
�|�|d�d�tdddd�}|�|ji�|�|dd	�d
�|�t��|d�WdQRX|�t��|�WdQRX|�t��|dd	d�WdQRX|�t��tdddd�}WdQRX|�t��tdddd�}WdQRX|�t��tdddd�}WdQRXtdddd�}|�|ji�|�|jjd�|�|dd�d�|�t��|d�WdQRXtddddgd�}|�|jddd��|�|jjd�|�|dd	�d
�|�|d�d�|�|�d�tddtddg�d�}|�|jddd��|�|jjd�|�|dd	�d
�|�|d�d�|�|�d�dS)Nr�zx y)�
rI)�defaultsr�rI)r�r�rGrH)rGrH)rGrI)rIr�r.rL)r�rIrJF)	rr4�_field_defaultsrvr��assertIsNone�__new__�__defaults__�iter)r-r�r.r.r/�
test_defaultssTzTestNamedTuple.test_defaultsrHz)Docstrings are omitted with -O2 and abovecCstdd�}|�|jd�dS)Nr�zx yzPoint(x, y))rr4�__doc__)r-r�r.r.r/�test_factory_doc_attrEs
z$TestNamedTuple.test_factory_doc_attrcCs6tdd�}|�|jjd�d|j_|�|jjd�dS)Nr�zx yzAlias for field number 0zdocstring for Point.x)rr4r�r�)r-r�r.r.r/�test_doc_writableKs
z TestNamedTuple.test_doc_writablecCsRxLddgddgddgddgdd	gd
dggD] \}}|�td|d
d�j|�q*WdS)N)�efgzg%hi)r��_1)rBr�)rBr�)Z8efgZ9ghi)Z_0r�)rBZ_efg)rBr�r��ghi)rBr�Z_2r�)rBr�r�)rBr�r��NTT)�rename)r4rr�)r-�specZrenamedr.r.r/�test_name_fixerSszTestNamedTuple.test_name_fixercCs$tdddgtd�}|�|jt�dS)Nr�r�r�)�module)r�collectionsr4rD)r-r�r.r.r/�test_module_parameter^sz$TestNamedTuple.test_module_parameterc	Cs�tdd�}|dd�}|�||ddd��|�||ddd��|�||ddd��|�||d��|�||ftddd���|�t|d	�|�t|d	d
d�|�ttdt��|�ttd
t��|�t|�d�|�dt	|��|�||�
ddg��|�|jd�|�|jd	d�d�|�|�
�tddd��y|jd	d
d�Wntk
�rVYnX|�d�tdd�}|ddd�}|�t|�d�tdd�}|ddd�}|�t|�d�dS)Nr�zx yr�r)r�r�)r�)r�r�)r�rrGrHrLzPoint(XXX=1, y=2)z
Point(x=1)zPoint(x=11, y=22)�__weakref__)r�)rGr)r��errorz%Did not detect an incorrect fieldnamezx, y)rr4r=rvr�r_�localsrVr�r*r�r��_replace�_asdictr�Z_fail)r-r��pr.r.r/�
test_instancebs8




zTestNamedTuple.test_instancecCs�tdd�}|dd�}|�|t�|�|d�|�t|�d�|�t|�ddg�|�t|�d�|�t|�d�|\}}|�|||f�|�|d|dfd�|�t|jd�|�|j	|�|�|j
|�|�ttd	t
��dS)
Nr�zx yr�r)r�rrrGrLzp.z)r�assertIsInstancer�r4r;�maxrv�
IndexErrorr�r�r��AttributeErrorr_r�)r-r�r�r�r�r.r.r/�test_tupleness�s

zTestNamedTuple.test_tuplenessc
Cs tdd�}|�|�d�|�|�g�d�|�t|��d�|�|���i�|�|�jd�tdd�}|�|d�d�|�|�dg�d�|�|d�jd�|�t|d��d	�|�|d���ddi�|�|d�jd
d�d�|�|d�jd�d
}tt	dd�t
|�D���}t|�}td|�}|t
|��}|�|tt
|���|�|�t
|��tt
|���x(t
|�D]\}}|�t||�|��qlWt|�|��}	tt|t
|���}
|�|	|
�|jft|dd
f|ddfg��}tt
|��}d
|d<d|d<|�|t|��|�|jt|��dS)N�Zeror�r.zZero()�DotrarG)rGzDot(d=1)i�)ra)i�i�css&|]}d�dd�td�D��VqdS)r�cSsg|]}ttj��qSr.)r�stringZ
ascii_letters)�.0ryr.r.r/�
<listcomp>�sz;TestNamedTuple.test_odd_sizes.<locals>.<genexpr>.<listcomp>r�N)r�rY)r�r{r.r.r/�	<genexpr>�sz0TestNamedTuple.test_odd_sizes.<locals>.<genexpr>�Big����*)rr4r�rVr�r�rar�r;r)rYrSr��	enumerate�getattrr=rX)
r-r�r��n�namesr�r(�pos�nameraZ
d_expectedZb2Zb2_expectedr.r.r/�test_odd_sizes�sD



$zTestNamedTuple.test_odd_sizescCs�tdddd�}xxtfD]n}t|d�}t|d�}xTtd|jd�D]@}||||��}|�||�|�|j|j�|�d	|||��q@WqWdS)
Nr�rIrJ)r�r�rNr\r]���rGsOrderedDict)r�rZr�rYr[r4r�r�)r-r�r�r\r]Zprotocol�qr.r.r/�test_pickle�s

zTestNamedTuple.test_picklecCsLtdddd�}x8tjtjfD](}||�}|�||�|�|j|j�qWdS)Nr�rIrJ)r�r�rN)r�r1r^r4r�)r-r�Zcopierr�r.r.r/�	test_copy�s
zTestNamedTuple.test_copyc�Cs�tdd�}|ddddd�}|�|d�|jd	d
ddd
d�}|�|d�ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�h�}td|�}ttt|���}||�}|�||�|ftt|j|���}|�||�|�	|�}|�||�t
|�|�|��tt|j|���|�	|�}td�d΄|D��}|jftt|j|���}|�||�|�|jt|��|�|��|�dS)�N�Tz"itemgetter property self cls tuplerGrHrLr�rO)rGrHrLr�rOr�rIrJ�(�2)�
itemgetter�propertyr-�clsr�)r�rIrJr�r�ZAliasZAtr�ZBuildZBypassZCreateZEncounteredZExpectedZFieldZForZGotZHelperZ
IronPythonZJythonrwZMakeZModifyZNoterr�ZReturnZReturnsZTyper�ZUsedZValidater�Z	Variablesr'Z
accessible�addZadded�allZalsoZan�arg_list�argsZ	argumentsZ
automatically�beZbuild�builtinsZbutZbyZcannot�class_namespace�classmethodr�r�Zconvertr1ZcreatedZcreationraZ	debuggingZdefinedr=Z
dictionary�docZ	docstringZ
docstringsZ	duplicateZeffectZeitherr�Zenvironmentsr�Zexample�execrg�	f_globalsZfield�field_namesZfields�	formatted�frameZfunctionZ	functionsZgeneraterU�getterZgotZgreaterZhas�helpZidentifiers�indexZ	indexable�instanceZinstantiateZ	interningZ
introspection�isidentifierr�r��iterabler��keyword�keywords�kwdsrSZliker;�maprQ�messageZmetadata�method�methodsr�Zmodule_nameZmustr�Znamedr�namedtuple_r��	namespaceZneeds�newZnicely�
num_fieldsZnumber�objectZof�operator�optionr�Z
particularrZZpicklingZplainrtZ
positionalr��rZregularr��replaceZ	replacingrV�repr_fmtZrepresentation�resultZreuse_itemgetter�s�seenr-Zsequencer)ZsideZ	specified�split�start�
startswith�stepr9r��strings�subclass�sysZtargetsZthanr�Ztheir�this�tor��	tuple_newrW�typenameZ
underscoreZ
unexpected�unpackZupZuseZused�userZvalid�values�variable�verbose�whereZwhichZworkr�r�rNrXcss|]}|dVqdS)r�Nr.)r�rdr.r.r/r�	sz5TestNamedTuple.test_name_conflicts.<locals>.<genexpr>)
rr4r�r�rYrSr=rXr�r�rVr��__getnewargs__)r-r��tZnewt�wordsrZ	newvaluesr.r.r/�test_name_conflicts�sd




z"TestNamedTuple.test_name_conflictscCsFtdd�}|�t|d��d�Gdd�d|�}|�t|d��d�dS)N�Ar�rGzA(x=1)c@seZdZdS)z#TestNamedTuple.test_repr.<locals>.BN)r,rDrEr.r.r.r/r�sr�zB(x=1))rr4rV)r-rr�r.r.r/�	test_reprs
zTestNamedTuple.test_reprc	Csr|�t��tdddgd�}WdQRXtdddgdd�}|�|jd�|�t��tdddgd	d�}WdQRXdS)
Nr�r�r�TrB�def)r�)rBr�F)rvr�rr4r�)r-r�r.r.r/�test_keyword_only_argumentssz*TestNamedTuple.test_keyword_only_argumentscCsXGdd�dtdddg��}|dd�}|�|��tdd	g��d
|_|�|jdd
i�dS)Nc@seZdZdS)zBTestNamedTuple.test_namedtuple_subclass_issue_24931.<locals>.PointN)r,rDrEr.r.r.r/r�$sr�Z_Pointr�r�rLr�)r�rL)r�r�rO�w)rr4r�rr�__dict__)r-r�r'r.r.r/�$test_namedtuple_subclass_issue_24931#s

z3TestNamedTuple.test_namedtuple_subclass_issue_24931N)r,rDrEr�r��unittestZskipIfr
�flags�optimizer�r�r�r�r�r�r�r�r�rrrrr.r.r.r/r��s"3$&@
r�c@s$eZdZdd�Zdd�Zdd�ZdS)�ABCTestCasecGs`t�|dd��}td|f|�}|�x6|D].}|��}||=td|f|�}|�t||�q*WdS)NcWsdS)Nrr.)rr�r.r.r/�<lambda>5�z7ABCTestCase.validate_abstract_methods.<locals>.<lambda>r�)r=�fromkeysrWr1rvr�)r-rBr�Zmethodstubsr�r�Zstubsr.r.r/�validate_abstract_methods4s
z%ABCTestCase.validate_abstract_methodscCsxdd�}tdtfddi�}t|||�|�|�|�|�t||��tdtfddi�}|�|�|�|�t||��dS)NcWsdS)Nrr.)rr�r.r.r/r$Cr%z1ABCTestCase.validate_isinstance.<locals>.<lambda>r��__hash__)rWr��setattrr�ro�
issubclass�assertNotIsInstancern)r-rBr�Zstubr�r.r.r/�validate_isinstanceBszABCTestCase.validate_isinstancec	Cs�ddddddddd	g	}i}x&|D]}d
|d
}tt|�||<q WGdd�d�}xJ|��D]>\}}t||�snqZ|�}|||�|�|jd
t|�|f�qZWdS)N�lt�gt�le�ge�ne�or�and�xor�sub�__c@s@eZdZdd�Zdd�ZeZeZeZeZeZ	eZ
eZeZeZ
dS)z.ABCTestCase.validate_comparison.<locals>.OthercSs
d|_dS)NF)�
right_side)r-r.r.r/�__init__Vsz7ABCTestCase.validate_comparison.<locals>.Other.__init__cSs
d|_dS)NT)r7)r-�otherr.r.r/�__eq__Xsz5ABCTestCase.validate_comparison.<locals>.Other.__eq__N)r,rDrEr8r:�__lt__�__gt__�__le__�__ge__�__ne__�__ror__�__rand__�__rxor__�__rsub__r.r.r.r/�OtherUsrDzRight side not called for %s.%s)r�r�rR�hasattrror7rW)r-r�ZopsZ	operators�opr�rDr9r.r.r/�validate_comparisonNs



zABCTestCase.validate_comparisonN)r,rDrEr'r,rGr.r.r.r/r#2sr#ccs
dVdS)Nr.r.r.r.r/�	_test_genmsrHc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!S)"�TestOneTrickPonyABCscCs6dd�}tjdd��}dd�}Gdd�d�}Gd	d
�d
t�}dt�|�t�g}x6|D].}|�|t�|�tt	|�t�t
t	|���qTW|�|�g}x,|D]$}|�|t�|�tt	|�t��q�W|�}	|�|	t�|�}	|�|	t�|	�
�Gdd�d�}
t�|
�|�t|
�t��|�t|
t��d}
t��dS)
Ncss
dVdS)Nr.r.r.r.r/�genssz0TestOneTrickPonyABCs.test_Awaitable.<locals>.gencss
dVdS)Nr.r.r.r.r/�corovsz1TestOneTrickPonyABCs.test_Awaitable.<locals>.coroc�sdS)Nr.r.r.r.r/�new_corozsz5TestOneTrickPonyABCs.test_Awaitable.<locals>.new_coroc@seZdZdd�ZdS)z0TestOneTrickPonyABCs.test_Awaitable.<locals>.Barcss
dVdS)Nr.)r-r.r.r/�	__await__~sz:TestOneTrickPonyABCs.test_Awaitable.<locals>.Bar.__await__N)r,rDrErMr.r.r.r/�Bar}srNcs.eZdZdd�Zd�fdd�	Zdd�Z�ZS)	z8TestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCorocSs|S)Nr.)r-�valuer.r.r/�send�sz=TestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoro.sendNcst��|||�dS)N)�super�throw)r-�typ�val�tb)�	__class__r.r/rR�sz>TestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoro.throwcss
dVdS)Nr.)r-r.r.r/rM�szBTestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoro.__await__)NN)r,rDrErPrRrM�
__classcell__r.r.)rVr/�MinimalCoro�srXc@seZdZdS)z5TestOneTrickPonyABCs.test_Awaitable.<locals>.CoroLikeN)r,rDrEr.r.r.r/�CoroLike�srY)�types�	coroutiner�intr�r+rrnr*rWrVr�ro�close�registerr�rZ
gc_collect)r-rJrKrLrNrX�non_samplesr��samplesrKrYr.r.r/�test_Awaitablers0
"

z#TestOneTrickPonyABCs.test_AwaitablecCsPdd�}tjdd��}dd�}Gdd�d�}Gd	d
�d
t�}dt�|�t�|�g}x6|D].}|�|t�|�tt|�t�t	t|���qXW|�g}x,|D]$}|�
|t�|�tt|�t��q�W|�}	|�|	t�|�}	|�
|	t�|	�
�Gdd�d�}
|�t|
�t��|�t|
t��Gd
d�d�}
|�t|
�t��|�t|
t��dS)Ncss
dVdS)Nr.r.r.r.r/rJ�sz0TestOneTrickPonyABCs.test_Coroutine.<locals>.gencss
dVdS)Nr.r.r.r.r/rK�sz1TestOneTrickPonyABCs.test_Coroutine.<locals>.coroc�sdS)Nr.r.r.r.r/rL�sz5TestOneTrickPonyABCs.test_Coroutine.<locals>.new_coroc@seZdZdd�ZdS)z0TestOneTrickPonyABCs.test_Coroutine.<locals>.Barcss
dVdS)Nr.)r-r.r.r/rM�sz:TestOneTrickPonyABCs.test_Coroutine.<locals>.Bar.__await__N)r,rDrErMr.r.r.r/rN�srNcs.eZdZdd�Zd�fdd�	Zdd�Z�ZS)	z8TestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCorocSs|S)Nr.)r-rOr.r.r/rP�sz=TestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoro.sendNcst��|||�dS)N)rQrR)r-rSrTrU)rVr.r/rR�sz>TestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoro.throwcss
dVdS)Nr.)r-r.r.r/rM�szBTestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoro.__await__)NN)r,rDrErPrRrMrWr.r.)rVr/rX�srXc@s.eZdZdd�Zd
dd�Zdd�Zdd	�ZdS)z5TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLikecSsdS)Nr.)r-rOr.r.r/rP�sz:TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.sendNcSsdS)Nr.)r-rSrTrUr.r.r/rR�sz;TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.throwcSsdS)Nr.)r-r.r.r/r]�sz;TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.closecSsdS)Nr.)r-r.r.r/rM�sz?TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.__await__)NN)r,rDrErPrRr]rMr.r.r.r/rY�s
rYc@s$eZdZdd�Zdd�Zdd�ZdS)z5TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLikecSsdS)Nr.)r-rOr.r.r/rP�sz:TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.sendcSsdS)Nr.)r-r.r.r/r]�sz;TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.closecSsdS)Nr.)r-r.r.r/rM�sz?TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.__await__N)r,rDrErPr]rMr.r.r.r/rY�s)rZr[rr\r�r+rnr*rWrVr�rror]r�)r-rJrKrLrNrXr_r�r`rKrYr.r.r/�test_Coroutine�s0
"
	z#TestOneTrickPonyABCs.test_CoroutinecCst�t�t�t�g}x6|D].}|�|t�|�tt|�t�t	t|���qWdt
�t�t�t
�t�t�t
tttt�g}x6|D].}|�|t�|�tt|�t�t	t|���q|W|�tt�Gdd�dt�}|�t|��d�|�tt
|��|�td�|�td�dS)NcseZdZ�fdd�Z�ZS)z-TestOneTrickPonyABCs.test_Hashable.<locals>.Hcs
t���S)N)rQr()r-)rVr.r/r(�sz6TestOneTrickPonyABCs.test_Hashable.<locals>.H.__hash__)r,rDrEr(rWr.r.)rVr/�H�srcrr()�	bytearrayr;r)r=r+rrnr*rWrVr\�float�complexr9r��	frozensetr��bytesr�rorvr�r4�hashr'r,)r-r_r�r`rcr.r.r/�
test_Hashable�s$
"
"z"TestOneTrickPonyABCs.test_HashablecCs�Gdd�d�}|�t|�t��|�t|t��dtgg}x6|D].}|�|t�|�tt|�t�tt|���q@W|�	td�|�
td�dS)Nc@seZdZdd�ZdS)z3TestOneTrickPonyABCs.test_AsyncIterable.<locals>.AIcSs|S)Nr.)r-r.r.r/�	__aiter__sz=TestOneTrickPonyABCs.test_AsyncIterable.<locals>.AI.__aiter__N)r,rDrErkr.r.r.r/�AIsrlrk)ror�rr*r�r+rnrWrVr'r,)r-rlr_r�r.r.r/�test_AsyncIterable�s

"z'TestOneTrickPonyABCs.test_AsyncIterablecCs�Gdd�d�}|�t|�t��|�t|t��dtgg}x6|D].}|�|t�|�tt|�t�tt|���q@WGdd�d�}|�|�t�|�	tdd�dS)Nc@seZdZdd�Zdd�ZdS)z3TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AIcSs|S)Nr.)r-r.r.r/rksz=TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AI.__aiter__c�st�dS)N)�StopAsyncIteration)r-r.r.r/�	__anext__sz=TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AI.__anext__N)r,rDrErkror.r.r.r/rlsrlc@seZdZdd�ZdS)z:TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AnextOnlyc�st�dS)N)rn)r-r.r.r/roszDTestOneTrickPonyABCs.test_AsyncIterator.<locals>.AnextOnly.__anext__N)r,rDrEror.r.r.r/�	AnextOnlysrprork)
ror�rr*r�r+rnrWrVr')r-rlr_r�rpr.r.r/�test_AsyncIterator
s

"z'TestOneTrickPonyABCs.test_AsyncIteratorc
Cstddddg}x6|D].}|�|t�|�tt|�t�tt|���qWt�t�t�t	�t
�t�t�t��
�t���t���t�dd�dD�g}x6|D].}|�|t�|�tt|�t�tt|���q�WGdd�dt�}|�t	|��g�|�tt|��|�td	�|�td	�Gd
d�d�}Gdd
�d
|�}|�t|t��|�t|�t��|�t|t��|�t|�t��dS)Nr�g��Q�	@y�?css|]
}|VqdS)Nr.)r�r�r.r.r/r�,sz5TestOneTrickPonyABCs.test_Iterable.<locals>.<genexpr>r.cseZdZ�fdd�Z�ZS)z-TestOneTrickPonyABCs.test_Iterable.<locals>.Ics
t���S)N)rQ�__iter__)r-)rVr.r/rr3sz6TestOneTrickPonyABCs.test_Iterable.<locals>.I.__iter__)r,rDrErrrWr.r.)rVr/�I2srsrrc@seZdZdd�ZdS)z.TestOneTrickPonyABCs.test_Iterable.<locals>.ItcSstg�S)N)r�)r-r.r.r/rr;r%z7TestOneTrickPonyABCs.test_Iterable.<locals>.It.__iter__N)r,rDrErrr.r.r.r/�It:srtc@seZdZdZdS)z5TestOneTrickPonyABCs.test_Iterable.<locals>.ItBlockedN)r,rDrErrr.r.r.r/�	ItBlocked<sru)r+rrnr*rWrVrhr9r�r;r)rgr=�keysrRrrHr�ror4r'r,r�)r-r_r�r`rsrtrur.r.r/�
test_Iterable!s.
"
"z"TestOneTrickPonyABCs.test_IterablecCs�ddddt�t�t�g}x6|D].}|�|t�|�tt|�t�tt|���qWt��	�t��
�t���t�t��	�t��
�t���t
�dd�dD�tg�tg�g}x6|D].}|�|t�|�tt|�t�tt|���q�Wt�t�t�t�t�t��	�t��
�t���g}x8|D]0}|�|t�|�tt|�t�tt|����qW|�ttt�tt��|�ttt�tt��|�ttt�tt��Gdd�dt�}|�tt|���g�|�tt|��|�td	d
�Gdd�d�}Gd
d�d|�}|�t|t��|�t|�t��|�t|t��|�t|�t��Gdd�d�}Gdd�d|�}	Gdd�d|�}
|�t|t��|�t|�t��|�t|	t��|�t|	�t��|�t|
t��|�t|
�t��dS)Nr�g��Q�	@y�?css|]
}|VqdS)Nr.)r�r�r.r.r/r�Msz7TestOneTrickPonyABCs.test_Reversible.<locals>.<genexpr>r.c@seZdZdd�Zdd�ZdS)z/TestOneTrickPonyABCs.test_Reversible.<locals>.RcSs
tt��S)N)r�r;)r-r.r.r/rr^sz8TestOneTrickPonyABCs.test_Reversible.<locals>.R.__iter__cSs
tt��S)N)r�r;)r-r.r.r/�__reversed__`sz<TestOneTrickPonyABCs.test_Reversible.<locals>.R.__reversed__N)r,rDrErrrxr.r.r.r/�R]sryrxrrc@seZdZdd�ZdS)z7TestOneTrickPonyABCs.test_Reversible.<locals>.RevNoItercSstg�S)N)�reversed)r-r.r.r/rxgr%zDTestOneTrickPonyABCs.test_Reversible.<locals>.RevNoIter.__reversed__N)r,rDrErxr.r.r.r/�	RevNoIterfsr{c@seZdZdd�ZdS)z9TestOneTrickPonyABCs.test_Reversible.<locals>.RevPlusItercSstg�S)N)r�)r-r.r.r/rrir%zBTestOneTrickPonyABCs.test_Reversible.<locals>.RevPlusIter.__iter__N)r,rDrErrr.r.r.r/�RevPlusIterhsr|c@seZdZdd�Zdd�ZdS)z1TestOneTrickPonyABCs.test_Reversible.<locals>.RevcSstg�S)N)r�)r-r.r.r/rrpr%z:TestOneTrickPonyABCs.test_Reversible.<locals>.Rev.__iter__cSstg�S)N)rz)r-r.r.r/rxqr%z>TestOneTrickPonyABCs.test_Reversible.<locals>.Rev.__reversed__N)r,rDrErrrxr.r.r.r/�Revosr}c@seZdZdZdS)z:TestOneTrickPonyABCs.test_Reversible.<locals>.RevItBlockedN)r,rDrErrr.r.r.r/�RevItBlockedrsr~c@seZdZdZdS)z;TestOneTrickPonyABCs.test_Reversible.<locals>.RevRevBlockedN)r,rDrErxr.r.r.r/�
RevRevBlockedtsr)r=r)rgr+rrnr*rWrVrvrRrrrHr�rzrhr9r�r;rr�ror#rrr4rer'r�)r-r_r�Znon_reversiblesr`ryr{r|r}r~rr.r.r/�test_ReversibleCsN
"
"
$z$TestOneTrickPonyABCs.test_ReversiblecCs�dddddd�g}x6|D].}|�|t�|�tt|�t�tt|���qWt�td�tt��dd�d	D�g}x6|D].}|�|t�|�tt|�t�tt|���qrWt	�t
�t�t�t
�t�t�t���t���t���g
}x6|D].}|�|t�|�tt|�t�tt|���q�W|�ttt�tt��|�ttt�tt��|�ttt�tt��|�ttt�tt��|�ttt�tt��|�ttt�tt��Gd
d�dt�}Gdd
�d
|�}|�tt|���g�|�tt|��|�tt	|��|�tt|��|�tt|���g�|�tt|��|�tt	|��|�tt|��|�tddd�Gdd�d�}Gdd�d�}Gdd�d�}	|�t|t��|�t|�t��|�t|t��|�t|�t��|�t|	t��|�t|	�t��Gdd�d�}
Gdd�d�}|�t|
t��|�t|
�t��|�t|t��|�t|�t��Gdd�d�}Gdd�d|�}
|�t|
t��|�t|
�t��dS)Nr�g��Q�	@y�?cSsd|S)NrHr.)r�r.r.r/r$r%z6TestOneTrickPonyABCs.test_Collection.<locals>.<lambda>r%css|]
}|VqdS)Nr.)r�r�r.r.r/r��sz7TestOneTrickPonyABCs.test_Collection.<locals>.<genexpr>r.c@s$eZdZdd�Zdd�Zdd�ZdS)z1TestOneTrickPonyABCs.test_Collection.<locals>.ColcSs
tt��S)N)r�r;)r-r.r.r/rr�sz:TestOneTrickPonyABCs.test_Collection.<locals>.Col.__iter__cSsdS)Nrr.)r-r.r.r/�__len__�sz9TestOneTrickPonyABCs.test_Collection.<locals>.Col.__len__cSsdS)NFr.)r-�itemr.r.r/r��sz>TestOneTrickPonyABCs.test_Collection.<locals>.Col.__contains__N)r,rDrErrr�r�r.r.r.r/�Col�sr�c@seZdZdS)z4TestOneTrickPonyABCs.test_Collection.<locals>.DerColN)r,rDrEr.r.r.r/�DerCol�sr�r�rrr�c@seZdZdd�Zdd�ZdS)z7TestOneTrickPonyABCs.test_Collection.<locals>.ColNoItercSsdS)Nrr.)r-r.r.r/r��r%z?TestOneTrickPonyABCs.test_Collection.<locals>.ColNoIter.__len__cSsdS)NFr.)r-r�r.r.r/r��r%zDTestOneTrickPonyABCs.test_Collection.<locals>.ColNoIter.__contains__N)r,rDrEr�r�r.r.r.r/�	ColNoIter�sr�c@seZdZdd�Zdd�ZdS)z7TestOneTrickPonyABCs.test_Collection.<locals>.ColNoSizecSstg�S)N)r�)r-r.r.r/rr�r%z@TestOneTrickPonyABCs.test_Collection.<locals>.ColNoSize.__iter__cSsdS)NFr.)r-r�r.r.r/r��r%zDTestOneTrickPonyABCs.test_Collection.<locals>.ColNoSize.__contains__N)r,rDrErrr�r.r.r.r/�	ColNoSize�sr�c@seZdZdd�Zdd�ZdS)z7TestOneTrickPonyABCs.test_Collection.<locals>.ColNoContcSstg�S)N)r�)r-r.r.r/rr�r%z@TestOneTrickPonyABCs.test_Collection.<locals>.ColNoCont.__iter__cSsdS)Nrr.)r-r.r.r/r��r%z?TestOneTrickPonyABCs.test_Collection.<locals>.ColNoCont.__len__N)r,rDrErrr�r.r.r.r/�	ColNoCont�sr�c@s eZdZdd�Zdd�ZdZdS)z7TestOneTrickPonyABCs.test_Collection.<locals>.SizeBlockcSstg�S)N)r�)r-r.r.r/rr�r%z@TestOneTrickPonyABCs.test_Collection.<locals>.SizeBlock.__iter__cSsdS)NFr.)r-r.r.r/r��r%zDTestOneTrickPonyABCs.test_Collection.<locals>.SizeBlock.__contains__N)r,rDrErrr�r�r.r.r.r/�	SizeBlock�sr�c@s eZdZdd�Zdd�ZdZdS)z7TestOneTrickPonyABCs.test_Collection.<locals>.IterBlockcSsdS)Nrr.)r-r.r.r/r��r%z?TestOneTrickPonyABCs.test_Collection.<locals>.IterBlock.__len__cSsdS)NTr.)r-r.r.r/r��r%zDTestOneTrickPonyABCs.test_Collection.<locals>.IterBlock.__contains__N)r,rDrEr�r�rrr.r.r.r/�	IterBlock�sr�c@s$eZdZdd�Zdd�Zdd�ZdS)z5TestOneTrickPonyABCs.test_Collection.<locals>.ColImplcSs
tt��S)N)r�r;)r-r.r.r/rr�sz>TestOneTrickPonyABCs.test_Collection.<locals>.ColImpl.__iter__cSsdS)Nrr.)r-r.r.r/r��sz=TestOneTrickPonyABCs.test_Collection.<locals>.ColImpl.__len__cSsdS)NFr.)r-r�r.r.r/r��szBTestOneTrickPonyABCs.test_Collection.<locals>.ColImpl.__contains__N)r,rDrErrr�r�r.r.r.r/�ColImpl�sr�c@seZdZdZdS)z4TestOneTrickPonyABCs.test_Collection.<locals>.NonColN)r,rDrEr�r.r.r.r/�NonCol�sr�)r+rrnr*rWrVrHr�rdr)rgr=rhr9r�r;rvrRrr�ror#rrrrr4rer'r�)r-Znon_collectionsr�Znon_col_iterablesr`r�r�r�r�r�r�r�r�r�r.r.r/�test_Collection}sh
"
" 
"

z$TestOneTrickPonyABCs.test_Collectionc
Cs(dddddddgit�g
}x6|D].}|�|t�|�tt|�t�tt|���q Wtt��tt	��tt
��tt��tt��tt��tt
��tt����tt����tt����t�dd�dD�g}x6|D].}|�|t�|�tt|�t�tt|���q�W|�td	d
�Gdd�d�}|�|�t�dS)
Nr�g��Q�	@y�?r%r�r.css|]
}|VqdS)Nr.)r�r�r.r.r/r��sz5TestOneTrickPonyABCs.test_Iterator.<locals>.<genexpr>�__next__rrc@seZdZdd�ZdS)z4TestOneTrickPonyABCs.test_Iterator.<locals>.NextOnlycss
dVdS)NrGr.)r-r.r.r/r��sz=TestOneTrickPonyABCs.test_Iterator.<locals>.NextOnly.__next__N)r,rDrEr�r.r.r.r/�NextOnly�sr�)r)r+rrnr*rWrVr�rhr9r�r;r=rgrvrRrrHr�ror')r-r_r�r`r�r.r.r/�
test_Iterator�s"
"
"z"TestOneTrickPonyABCs.test_Iteratorc
Cs�Gdd�d�}Gdd�d�}Gdd�d�}dddd	d
ddgit�td�tg�|�|�|�g}x6|D].}|�|t�|�tt|�t�tt|���qbWGd
d�d�}Gdd�dt�}dd�}|�dd��|�|�g}	xB|	D]:}|�|t	�|�|t�|�
tt|�t�tt|���q�W|�tdd�|�}
|�|
t|
��|�|
�
d�t|
��|�d|
�
d��|�|
���|�t|
jt�|�td|
jttd��|�t|
jt��Gdd�dt�}|�t|�j�Gdd�dt�}|�t|�j�dS)Nc@s.eZdZdd�Zdd�Zdd�Zd
dd	�ZdS)z4TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1cSs|S)Nr.)r-r.r.r/rr�r%z=TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.__iter__cSsdS)Nr.)r-r.r.r/r��r%z=TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.__next__cSsdS)Nr.)r-r.r.r/r]�r%z:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.closeNcSsdS)Nr.)r-rSrTrUr.r.r/rR�r%z:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.throw)NN)r,rDrErrr�r]rRr.r.r.r/�NonGen1�sr�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
z4TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2cSs|S)Nr.)r-r.r.r/rr�r%z=TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.__iter__cSsdS)Nr.)r-r.r.r/r��r%z=TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.__next__cSsdS)Nr.)r-r.r.r/r]�r%z:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.closecSs|S)Nr.)r-rOr.r.r/rP�r%z9TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.sendN)r,rDrErrr�r]rPr.r.r.r/�NonGen2�sr�c@s&eZdZdd�Zdd�Zddd�ZdS)	z4TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3cSsdS)Nr.)r-r.r.r/r]�r%z:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3.closecSs|S)Nr.)r-rOr.r.r/rP�r%z9TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3.sendNcSsdS)Nr.)r-rSrTrUr.r.r/rR�r%z:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3.throw)NN)r,rDrEr]rPrRr.r.r.r/�NonGen3�sr�r�g��Q�	@y�?r%r�r.c@s6eZdZdd�Zdd�Zdd�Zdd�Zdd
d�Zd	S)
z0TestOneTrickPonyABCs.test_Generator.<locals>.GencSs|S)Nr.)r-r.r.r/rrr%z9TestOneTrickPonyABCs.test_Generator.<locals>.Gen.__iter__cSsdS)Nr.)r-r.r.r/r�	r%z9TestOneTrickPonyABCs.test_Generator.<locals>.Gen.__next__cSsdS)Nr.)r-r.r.r/r]
r%z6TestOneTrickPonyABCs.test_Generator.<locals>.Gen.closecSs|S)Nr.)r-rOr.r.r/rPr%z5TestOneTrickPonyABCs.test_Generator.<locals>.Gen.sendNcSsdS)Nr.)r-rSrTrUr.r.r/rRr%z6TestOneTrickPonyABCs.test_Generator.<locals>.Gen.throw)NN)r,rDrErrr�r]rPrRr.r.r.r/�Gens
r�cs&eZdZdd�Zd�fdd�	Z�ZS)z7TestOneTrickPonyABCs.test_Generator.<locals>.MinimalGencSs|S)Nr.)r-rOr.r.r/rPsz<TestOneTrickPonyABCs.test_Generator.<locals>.MinimalGen.sendNcst��|||�dS)N)rQrR)r-rSrTrU)rVr.r/rRsz=TestOneTrickPonyABCs.test_Generator.<locals>.MinimalGen.throw)NN)r,rDrErPrRrWr.r.)rVr/�
MinimalGensr�css
dVdS)NrGr.r.r.r.r/rJsz0TestOneTrickPonyABCs.test_Generator.<locals>.gencssdVS)Nr.r.r.r.r/r$r%z5TestOneTrickPonyABCs.test_Generator.<locals>.<lambda>rPrRrHz^huhu$Zhuhuc@seZdZdd�Zdd�ZdS)z8TestOneTrickPonyABCs.test_Generator.<locals>.FailOnClosecSs|S)Nr.)r-rOr.r.r/rP*r%z=TestOneTrickPonyABCs.test_Generator.<locals>.FailOnClose.sendcWst�dS)N)r�)r-r�r.r.r/rR+r%z>TestOneTrickPonyABCs.test_Generator.<locals>.FailOnClose.throwN)r,rDrErPrRr.r.r.r/�FailOnClose)sr�c@seZdZdd�Zdd�ZdS)z@TestOneTrickPonyABCs.test_Generator.<locals>.IgnoreGeneratorExitcSs|S)Nr.)r-rOr.r.r/rP0r%zETestOneTrickPonyABCs.test_Generator.<locals>.IgnoreGeneratorExit.sendcWsdS)Nr.)r-r�r.r.r/rR1r%zFTestOneTrickPonyABCs.test_Generator.<locals>.IgnoreGeneratorExit.throwN)r,rDrErPrRr.r.r.r/�IgnoreGeneratorExit/sr�)r)r�r+rrnr*rWrVr�rror'r6rP�nextr4r�r]rvr�rRZassertRaisesRegex�
StopIteration�RuntimeError)
r-r�r�r�r_r�r�r�rJr`�mgenr�r�r.r.r/�test_Generator�s<
"
"z#TestOneTrickPonyABCs.test_GeneratorcCsGdd�d�}Gdd�d�}Gdd�d�}dddd	d
ddgit�td�tg�|�|�|�g}x6|D].}|�|t�|�tt|�t�tt|���qbWGd
d�d�}Gdd�dt�}dd�}|�|�|�g}	xB|	D]:}|�|t	�|�|t�|�
tt|�t�tt|���q�W|�tdd�dd�}
|�}|�||�
��|�|
|�d��|
|����|�d|
|�d���|�|
|����|�t��|
|�t��WdQRXGdd�dt�}|�t��|
|����WdQRXGdd�dt�}
|�t��|
|
����WdQRXdS)Nc@s.eZdZdd�Zdd�Zdd�Zd
dd	�ZdS)z:TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1cSs|S)Nr.)r-r.r.r/rk7r%zDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.__aiter__cSsdS)Nr.)r-r.r.r/ro8r%zDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.__anext__cSsdS)Nr.)r-r.r.r/�aclose9r%zATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.acloseNcSsdS)Nr.)r-rSrTrUr.r.r/�athrow:r%zATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.athrow)NN)r,rDrErkror�r�r.r.r.r/�NonAGen16sr�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
z:TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2cSs|S)Nr.)r-r.r.r/rk=r%zDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.__aiter__cSsdS)Nr.)r-r.r.r/ro>r%zDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.__anext__cSsdS)Nr.)r-r.r.r/r�?r%zATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.aclosecSs|S)Nr.)r-rOr.r.r/�asend@r%z@TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.asendN)r,rDrErkror�r�r.r.r.r/�NonAGen2<sr�c@s&eZdZdd�Zdd�Zddd�ZdS)	z:TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3cSsdS)Nr.)r-r.r.r/r�Cr%zATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3.aclosecSs|S)Nr.)r-rOr.r.r/r�Dr%z@TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3.asendNcSsdS)Nr.)r-rSrTrUr.r.r/r�Er%zATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3.athrow)NN)r,rDrEr�r�r�r.r.r.r/�NonAGen3Bsr�r�g��Q�	@y�?r%r�r.c@s6eZdZdd�Zdd�Zdd�Zdd�Zdd
d�Zd	S)
z5TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.GencSs|S)Nr.)r-r.r.r/rkOr%z?TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.__aiter__c�sdS)Nr.)r-r.r.r/roPr%z?TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.__anext__c�sdS)Nr.)r-r.r.r/r�Qr%z<TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.aclosec�s|S)Nr.)r-rOr.r.r/r�Rr%z;TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.asendNc�sdS)Nr.)r-rSrTrUr.r.r/r�Sr%z<TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.athrow)NN)r,rDrErkror�r�r�r.r.r.r/r�Ns
r�cs&eZdZdd�Zd�fdd�	Z�ZS)z=TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.MinimalAGenc�s|S)Nr.)r-rOr.r.r/r�VszCTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.MinimalAGen.asendNc�st��|||�IdHdS)N)rQr�)r-rSrTrU)rVr.r/r�XszDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.MinimalAGen.athrow)NN)r,rDrEr�r�rWr.r.)rVr/�MinimalAGenUsr�cSs
dVdS)NrGr.r.r.r.r/rJ[sz5TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.genr�r�c
SsVd}xLy|�d�Wqtk
rL}z|jr6|jdnd}PWdd}~XYqXqW|S)Nr)rPr�r�)rKrZexr.r.r/�	run_asyncesz;TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.run_asyncrHc@seZdZdd�Zdd�ZdS)z=TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.FailOnClosec�s|S)Nr.)r-rOr.r.r/r�yr%zCTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.FailOnClose.asendc�st�dS)N)r�)r-r�r.r.r/r�zr%zDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.FailOnClose.athrowN)r,rDrEr�r�r.r.r.r/r�xsr�c@seZdZdd�Zdd�ZdS)zETestOneTrickPonyABCs.test_AsyncGenerator.<locals>.IgnoreGeneratorExitc�s|S)Nr.)r-rOr.r.r/r��r%zKTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.IgnoreGeneratorExit.asendc�sdS)Nr.)r-r�r.r.r/r��r%zLTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.IgnoreGeneratorExit.athrowN)r,rDrEr�r�r.r.r.r/r�sr�)r)r�r+rrnr*rWrVr�rror'r6rkr�ror4r�r�rvr�r�r�)r-r�r�r�r_r�r�r�rJr`r�r�r�r�r.r.r/�test_AsyncGenerator5s>
"
"z(TestOneTrickPonyABCs.test_AsyncGeneratorcCs�ddddt�dd�dD�g}x6|D].}|�|t�|�tt|�t�tt|���q"Wt�t�t	�t
�t�t�t
�t
���t
���t
���g
}x6|D].}|�|t�|�tt|�t�tt|���q�W|�td�|�td�dS)Nr�g��Q�	@y�?css|]
}|VqdS)Nr.)r�r�r.r.r/r��sz2TestOneTrickPonyABCs.test_Sized.<locals>.<genexpr>r.r�)rHr+rrnr*rWrVrhr9r�r;r)rgr=rvrRrr�ror'r,)r-r_r�r`r.r.r/�
test_Sized�s
"
"zTestOneTrickPonyABCs.test_Sizedc
Cs�ddddt�dd�dD�g}x6|D].}|�|t�|�tt|�t�tt|���q"Wt�t�t	�t
�t�t�t
�t
���t
���g	}x6|D].}|�|t�|�tt|�t�tt|���q�W|�td�|�td�dS)Nr�g��Q�	@y�?css|]
}|VqdS)Nr.)r�r�r.r.r/r��sz6TestOneTrickPonyABCs.test_Container.<locals>.<genexpr>r.r�)rHr+rrnr*rWrVrhr9r�r;r)rgr=rvrRr�ror'r,)r-r_r�r`r.r.r/�test_Container�s
"
"z#TestOneTrickPonyABCs.test_Containerc
Cs�dddddddgit�t�dd�dD�g}x6|D].}|�|t�|�tt|�t�tt|���q0Wd	d
�ttt	t
tjgjg}x6|D].}|�
|t�|�tt|�t�tt|���q�W|�td�|�td�dS)Nr�g��Q�	@y�?r�r%r.css|]
}|VqdS)Nr.)r�r�r.r.r/r��sz5TestOneTrickPonyABCs.test_Callable.<locals>.<genexpr>cSsdS)Nr.r.r.r.r/r$�r%z4TestOneTrickPonyABCs.test_Callable.<locals>.<lambda>�__call__)r)rHr+rrnr*rWrVr\r�rSr;r@r�ror'r,)r-r_r�r`r.r.r/�
test_Callable�s 
"
"z"TestOneTrickPonyABCs.test_CallablecCsPxJtttttttfD]4}Gdd�d|�}|�t||��|�	tt
|��qWdS)Nc@seZdZdS)z7TestOneTrickPonyABCs.test_direct_subclassing.<locals>.CN)r,rDrEr.r.r.r/r��sr�)rrrrrrrror*rnr\)r-r�r�r.r.r/�test_direct_subclassing�sz,TestOneTrickPonyABCs.test_direct_subclassingcCs\xVtttttttfD]@}Gdd�d�}|�t||�|j	�|�
|�|�t||��qWdS)Nc@seZdZdZdS)z1TestOneTrickPonyABCs.test_registration.<locals>.CN)r,rDrEr(r.r.r.r/r��sr�)rrrrrrrrnr*r,r^ro)r-r�r�r.r.r/�test_registration�s

z&TestOneTrickPonyABCs.test_registrationN)r,rDrErarbrjrmrqrwr�r�r�r�r�r�r�r�r�r�r.r.r.r/rIps 2A":XGQrIc@s>eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�WithSetr.cCst|�|_dS)N)r)r3)r-�itr.r.r/r8�szWithSet.__init__cCs
t|j�S)N)rSr3)r-r.r.r/r��szWithSet.__len__cCs
t|j�S)N)r�r3)r-r.r.r/rr�szWithSet.__iter__cCs
||jkS)N)r3)r-r�r.r.r/r��szWithSet.__contains__cCs|j�|�dS)N)r3r�)r-r�r.r.r/r��szWithSet.addcCs|j�|�dS)N)r3�discard)r-r�r.r.r/r��szWithSet.discardN)r.)	r,rDrEr8r�rrr�r�r�r.r.r.r/r��s
r�c@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+S),�TestCollectionABCscCs`x.ttgD]"}|�|�t�|�t|t��q
W|�tddd�Gdd�dt�}|�|��dS)Nr�rrr�c@s$eZdZdd�Zdd�Zdd�ZdS)z*TestCollectionABCs.test_Set.<locals>.MySetcSsdS)NFr.)r-r�r.r.r/r��sz7TestCollectionABCs.test_Set.<locals>.MySet.__contains__cSsdS)Nrr.)r-r.r.r/r��sz2TestCollectionABCs.test_Set.<locals>.MySet.__len__cSstg�S)N)r�)r-r.r.r/rr�sz3TestCollectionABCs.test_Set.<locals>.MySet.__iter__N)r,rDrEr�r�rrr.r.r.r/�MySet�sr�)r)rgr�rror*r'rG)r-�sampler�r.r.r/�test_Set�szTestCollectionABCs.test_SetcCs8Gdd�dt�}|�|�}}|�t|�t|�k�dS)Nc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)z8TestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSetcSsdddg|_dS)NrGrHrL)�contents)r-r.r.r/r8�szATestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__init__cSs
||jkS)N)r�)r-r�r.r.r/r��szETestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__contains__cSs
t|j�S)N)rSr�)r-r.r.r/r��sz@TestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__len__cSs
t|j�S)N)r�r�)r-r.r.r/rr�szATestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__iter__cSs|��S)N)�_hash)r-r.r.r/r(�szATestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__hash__N)r,rDrEr8r�r�rrr(r.r.r.r/�OneTwoThreeSet�s
r�)rrori)r-r�r'r(r.r.r/�
test_hash_Set�sz TestCollectionABCs.test_hash_SetcCsLGdd�dt�}|d�}|d�}|d�}|�|�|��|�|�|��dS)Nc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
z5TestCollectionABCs.test_isdisjoint_Set.<locals>.MySetcSs
||_dS)N)r�)r-�itrr.r.r/r8sz>TestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__init__cSs
||jkS)N)r�)r-r�r.r.r/r�szBTestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__contains__cSs
t|j�S)N)r�r�)r-r.r.r/rr
sz>TestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__iter__cSstdd�|jD��S)NcSsg|]}|�qSr.r.)r�r�r.r.r/r�
szQTestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__len__.<locals>.<listcomp>)rSr�)r-r.r.r/r�sz=TestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__len__N)r,rDrEr8r�rrr�r.r.r.r/r�sr�)rGrHrL)r�rO�)rGrOr�)rro�
isdisjointrn)r-r��s1�s2�s3r.r.r/�test_isdisjoint_Sets	z&TestCollectionABCs.test_isdisjoint_SetcCs�Gdd�dt�}|d�}|d�}|d�}|d�}|�||k�|�||k�|�||k�|�||k�|�||k�|�||�|�||�dS)Nc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
z3TestCollectionABCs.test_equality_Set.<locals>.MySetcSs
||_dS)N)r�)r-r�r.r.r/r8sz<TestCollectionABCs.test_equality_Set.<locals>.MySet.__init__cSs
||jkS)N)r�)r-r�r.r.r/r�sz@TestCollectionABCs.test_equality_Set.<locals>.MySet.__contains__cSs
t|j�S)N)r�r�)r-r.r.r/rrsz<TestCollectionABCs.test_equality_Set.<locals>.MySet.__iter__cSstdd�|jD��S)NcSsg|]}|�qSr.r.)r�r�r.r.r/r�szOTestCollectionABCs.test_equality_Set.<locals>.MySet.__len__.<locals>.<listcomp>)rSr�)r-r.r.r/r�sz;TestCollectionABCs.test_equality_Set.<locals>.MySet.__len__N)r,rDrEr8r�rrr�r.r.r.r/r�sr�)rG)rGrH)rLr�)rrornr4ZassertNotEqual)r-r�r�r�r�Zs4r.r.r/�test_equality_Sets	z$TestCollectionABCs.test_equality_SetcCs<Gdd�dt�}|d�}|d�}||@}|�||d��dS)Nc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
z5TestCollectionABCs.test_arithmetic_Set.<locals>.MySetcSs
||_dS)N)r�)r-r�r.r.r/r8,sz>TestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__init__cSs
||jkS)N)r�)r-r�r.r.r/r�.szBTestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__contains__cSs
t|j�S)N)r�r�)r-r.r.r/rr0sz>TestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__iter__cSstdd�|jD��S)NcSsg|]}|�qSr.r.)r�r�r.r.r/r�3szQTestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__len__.<locals>.<listcomp>)rSr�)r-r.r.r/r�2sz=TestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__len__N)r,rDrEr8r�rrr�r.r.r.r/r�+sr�)rGrHrL)rLr�rO)rL)rr4)r-r�r�r�r�r.r.r/�test_arithmetic_Set*s
	z&TestCollectionABCs.test_arithmetic_SetcCsT|�t�t�|�ttt��|�t�t�|�ttt��|�tddddd�dS)Nr�rrr�r�r�)	r�r)rror*r+rgrnr')r-r.r.r/�test_MutableSet9sz"TestCollectionABCs.test_MutableSetcCs,td�}|td�M}|�t|�td��dS)N�abcdZcdefZcd)r�r4r))r-rr.r.r/�test_issue_5647Asz"TestCollectionABCs.test_issue_5647cCs4Gdd�dt�}|ddddg�}|�|��d�dS)Nc@sLeZdZdgZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)z1TestCollectionABCs.test_issue_4920.<locals>.MySetZ__sNcSs|dkrg}t|�|_dS)N)r)�	_MySet__s)r-rRr.r.r/r8Ksz:TestCollectionABCs.test_issue_4920.<locals>.MySet.__init__cSs
||jkS)N)r�)r-rdr.r.r/r�Osz>TestCollectionABCs.test_issue_4920.<locals>.MySet.__contains__cSs
t|j�S)N)r�r�)r-r.r.r/rrQsz:TestCollectionABCs.test_issue_4920.<locals>.MySet.__iter__cSs
t|j�S)N)rSr�)r-r.r.r/r�Ssz9TestCollectionABCs.test_issue_4920.<locals>.MySet.__len__cSs||jk}|j�|�|S)N)r�r�)r-rdrr.r.r/r�Us
z5TestCollectionABCs.test_issue_4920.<locals>.MySet.addcSs||jk}|j�|�|S)N)r�r�)r-rdrr.r.r/r�Ys
z9TestCollectionABCs.test_issue_4920.<locals>.MySet.discardcSsdtt|��S)Nz	MySet(%s))rVr;)r-r.r.r/�__repr__]sz:TestCollectionABCs.test_issue_4920.<locals>.MySet.__repr__)N)r,rDrEr�r8r�rrr�r�r�r�r.r.r.r/r�Is
r�rO�+rHrG)rr4rt)r-r�rr.r.r/�test_issue_4920Gsz"TestCollectionABCs.test_issue_4920cCs~t�}ttd��}t|�}||8}|�||�t|�}||N}|�||�t|�}||M}|�||�||O}|�||�dS)Nr�)r�rYr4)r-�emptyZfullrr.r.r/�test_issue8750bsz!TestCollectionABCs.test_issue8750cCshGdd�dt�}Gdd�dt�}|�}|�}|�||k�|�||k�|�||k�|�||k�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z;TestCollectionABCs.test_issue16373.<locals>.MyComparableSetcSsdS)NFr.)r-r�r.r.r/r�uszHTestCollectionABCs.test_issue16373.<locals>.MyComparableSet.__contains__cSsdS)Nrr.)r-r.r.r/r�wszCTestCollectionABCs.test_issue16373.<locals>.MyComparableSet.__len__cSstg�S)N)r�)r-r.r.r/rryszDTestCollectionABCs.test_issue16373.<locals>.MyComparableSet.__iter__N)r,rDrEr�r�rrr.r.r.r/�MyComparableSettsr�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)z>TestCollectionABCs.test_issue16373.<locals>.MyNonComparableSetcSsdS)NFr.)r-r�r.r.r/r�|szKTestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__contains__cSsdS)Nrr.)r-r.r.r/r�~szFTestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__len__cSstg�S)N)r�)r-r.r.r/rr�szGTestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__iter__cSstS)N)�NotImplemented)r-r�r.r.r/r=�szETestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__le__cSstS)N)r�)r-r�r.r.r/r;�szETestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__lt__N)r,rDrEr�r�rrr=r;r.r.r.r/�MyNonComparableSet{s
r�)rrnro)r-r�r��csZncsr.r.r/�test_issue16373qsz"TestCollectionABCs.test_issue16373c	Cs�Gdd�d�}Gdd�dt�}td�}|�}||||g�}|t||d��t||d��g}x&|D]}x|D]}|�||�qhWq^W|�|�|�d�|�|�|�d�|�|�|�d	�|�|�|�d�dS)
Nc@seZdZdd�ZdS)z=TestCollectionABCs.test_issue26915.<locals>.CustomEqualObjectcSsdS)NFr.)r-r9r.r.r/r:�szDTestCollectionABCs.test_issue26915.<locals>.CustomEqualObject.__eq__N)r,rDrEr:r.r.r.r/�CustomEqualObject�sr�c@s$eZdZdd�Zdd�Zdd�ZdS)z:TestCollectionABCs.test_issue26915.<locals>.CustomSequencecSs
||_dS)N)�_seq)r-�seqr.r.r/r8�szCTestCollectionABCs.test_issue26915.<locals>.CustomSequence.__init__cSs
|j|S)N)r�)r-r�r.r.r/r��szFTestCollectionABCs.test_issue26915.<locals>.CustomSequence.__getitem__cSs
t|j�S)N)rSr�)r-r.r.r/r��szBTestCollectionABCs.test_issue26915.<locals>.CustomSequence.__len__N)r,rDrEr8r�r�r.r.r.r/�CustomSequence�sr��nan)rGrHrrGrH)r#rer!r"rTr4r��count)	r-r�r�r�r7r�Z
containers�	container�elemr.r.r/�test_issue26915�s

z"TestCollectionABCs.test_issue26915cCs|�t|�t|��dS)N)ZassertSetEqualr))r-r�r�r.r.r/�
assertSameSet�sz TestCollectionABCs.assertSameSetc	Cs Gdd�dt�}td�}td�}td�}|d�}|d�}|d�}td�}td�}	td�}
||@}|�||@|�|�||@|�|�||@|�|�||	@|�||B}|�||B|�|�||B|�|�||B|�|�||	B|�||}||}
|�|||�|�|||
�|�|||�|�|||
�|�|||�|�|||
�|�||	|�|�|||
�||A}|�||A|�|�||A|�|�||A|�|�||	A|�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�t��||
kWdQRX|�t��||kWdQRX|�t��||	kWdQRX|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�t��||
kWdQRX|�t��||kWdQRX|�t��||	kWdQRX|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�t��||
kWdQRX|�t��||kWdQRX|�t��||	kWdQRX|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�t��||
kWdQRX|�t��||kWdQRX|�t��||	kWdQRX|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||
k�|�||k�|�||	k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||
k�|�||k�|�||	k�dS)	Nc@s6eZdZd
dd�Zdd�Zdd�Zdd	�Zd
d�ZdS)zLTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSetr.cSs.g|_x"|D]}||jkr|j�|�qWdS)N)r3r@)r-�elementsr�r.r.r/r8�s

zUTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__init__cSs
||jkS)N)r3)r-r�r.r.r/r��szYTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__contains__cSs
t|j�S)N)r�r3)r-r.r.r/rr�szUTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__iter__cSs
t|j�S)N)rSr3)r-r.r.r/r��szTTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__len__cSsd�|j�S)Nz	Set({!r}))r+r3)r-r.r.r/r��szUTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__repr__N)r.)r,rDrEr8r�rrr�r�r.r.r.r/�ListSet�s

r�rBZbcdZabcdeZabccbaZbcddcbZ
abcdeedcba)rr)r;r�rornrvr�)r-r�Zr1Zr2Zr3�f1�f2Zf3�l1�l2�l3�targetZ
fwd_targetZ
rev_targetr.r.r/�(test_Set_interoperability_with_real_sets�s�	z;TestCollectionABCs.test_Set_interoperability_with_real_setscCspx,tgD]"}|�|�t�|�t|t��qW|�tdddd�Gdd�dt�}|�|��|�tt	|��dS)Nr�rrr�r�c@s$eZdZdd�Zdd�Zdd�ZdS)z2TestCollectionABCs.test_Mapping.<locals>.MyMappingcSsdS)Nrr.)r-r.r.r/r�Nsz:TestCollectionABCs.test_Mapping.<locals>.MyMapping.__len__cSst�dS)N)r�)r-r{r.r.r/r�Psz>TestCollectionABCs.test_Mapping.<locals>.MyMapping.__getitem__cSstd�S)Nr.)r�)r-r.r.r/rrRsz;TestCollectionABCs.test_Mapping.<locals>.MyMapping.__iter__N)r,rDrEr�r�rrr.r.r.r/�	MyMappingMsr�)
r=r�rror*r'rGrvr�rz)r-r�r�r.r.r/�test_MappingGszTestCollectionABCs.test_Mappingc	CsHx,tgD]"}|�|�t�|�t|t��qW|�tdddddd�dS)Nr�rrr�r��__setitem__�__delitem__)r=r�rror*r')r-r�r.r.r/�test_MutableMappingWs
z&TestCollectionABCs.test_MutableMappingcCs�t�}d|d<|�|��t�|�|��t�|�|��t�|�|��t�t�}d|d<|��dhB}|�|t�t|�d|d<|�	t
|�ddg�t�}d|d<|��dhB}|�|t�t|�d|d<|�	t
|�ddg�dS)NrO�red�orange�Zblue)r�rL)r�rO)r	r�rvrr rRr!r)r;r4�sorted)r-ZmymaprNr.r.r/�test_MutableMapping_subclass^s(z/TestCollectionABCs.test_MutableMapping_subclasscCs�x2ttttgD]"}|�|�t�|�t|t��qW|�td�t�|�ttt��|�t	d�t�|�tt	t��|�ttt��|�
tdddd�dS)Nr�r%r�rrr�r�)r�r;rhr9r�r#ror*rY�
memoryviewr')r-r�r.r.r/�
test_Sequencewsz TestCollectionABCs.test_Sequencec

s�Gdd�dt�}�fdd�}x�ttfD]�}|d�}ddgttdt|�d	��}||�}x~t|�d
hBD]l}||||f�xXtdt|�d	�D]B}|||||f�x,tdt|�d	�D]}	||||||	f�q�Wq�WqhWq&WdS)Nc@s&eZdZd	dd�Zdd�Zdd�ZdS)
zATestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclassr.cSs
||_dS)N)r�)r-r�r.r.r/r8�szJTestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclass.__init__cSs
|j|S)N)r�)r-r�r.r.r/r��szMTestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclass.__getitem__cSs
t|j�S)N)rSr�)r-r.r.r/r��szITestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclass.__len__N)r.)r,rDrEr8r�r�r.r.r.r/�SequenceSubclass�s
r�cshy|j|�}Wn4tk
rB��t��|j|�WdQRXYn"X|j|�}��||d||f�dS)Nz
%r.index%s)r�r�rvr4)Zseq1Zseq2Z
index_argsZexpected�actual)r-r.r/�assert_index_same�s
zBTestCollectionABCs.test_Sequence_mixins.<locals>.assert_index_same�abracadabrai���i������rLrN)r#r;r9rYrSr))
r-r�r�ZtyZ	nativeseqZindexesZseqseqZletterr�stopr.)r-r/�test_Sequence_mixins�sz'TestCollectionABCs.test_Sequence_mixinscCs�x.ttgD]"}|�|�t�|�t|t��q
Wx0tttgD]"}|�	|�t�|�
t|t��q<W|�	td�t�|�
ttt��dS)Nr%)rhrdr�r%ror*r9r;r�r+rnr�)r-r�r.r.r/�test_ByteString�sz"TestCollectionABCs.test_ByteStringc
Cs�x0tttgD]"}|�|�t�|�t|t��qWx0ttt	gD]"}|�
|�t�|�t|t��q>W|�ttt��|�tddddddd�dS)Nr�rrr�r�r�r��insert)
r�r9rhr+r$rnr*r;rdr
r�ror')r-r�r.r.r/�test_MutableSequence�s
z'TestCollectionABCs.test_MutableSequencecCs�Gdd�dt�}|�}|�d�|�d�|�t|�d�|�|dd�|��|�|dd�|��|�t|�d�|�d�|�t|�d�|d	7}|�t|�d
�|�|dd�|��|�t|�d�dS)
Nc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)zOTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclasscSs
g|_dS)N)�lst)r-r.r.r/r8�szXTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__init__cSs||j|<dS)N)r�)r-r�rOr.r.r/r��sz[TestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__setitem__cSs
|j|S)N)r�)r-r�r.r.r/r��sz[TestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__getitem__cSs
t|j�S)N)rSr�)r-r.r.r/r��szWTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__len__cSs|j|=dS)N)r�)r-r�r.r.r/r��sz[TestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__delitem__cSs|j�||�dS)N)r�r�)r-r�rOr.r.r/r��szVTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.insertN)	r,rDrEr8r�r�r�r�r�r.r.r.r/�MutableSequenceSubclass�sr�r)rGrHrLr�rOrLrGr�)r�rIrJr�r�rJ)	r$r@�extendr4rS�reversert�remove�clear)r-r�Zmssr.r.r/�test_MutableSequence_mixins�s"


z.TestCollectionABCs.test_MutableSequence_mixinsN)r,rDrEr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r.r.r.r/r��s,#
r�c@seZdZdd�Zdd�ZdS)�CounterSubclassWithSetItemcOsd|_tj|f|�|�dS)NF)�calledrr8)r-r�r�r.r.r/r8�sz#CounterSubclassWithSetItem.__init__cCsd|_t�|||�dS)NT)r�rr�)r-rbrOr.r.r/r��sz&CounterSubclassWithSetItem.__setitem__N)r,rDrEr8r�r.r.r.r/r��sr�c@seZdZdd�Zdd�ZdS)�CounterSubclassWithGetcOsd|_tj|f|�|�dS)NF)r�rr8)r-r�r�r.r.r/r8�szCounterSubclassWithGet.__init__cCsd|_t�|||�S)NT)r�rrU)r-rb�defaultr.r.r/rU�szCounterSubclassWithGet.getN)r,rDrEr8rUr.r.r.r/r��sr�c@steZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�TestCounterc
Cs�td�}|�|tdddd���|�|tdddd��|�|t�|�|t�|�ttt��|�ttt��|�t|�d�|�t|�	��d�|�t
|�	��dddg�|�t
|���ddd	g�|�t
|�ddd	g�|�t
|���d
ddg�|�|dd�|�|d
d�|�|�
d	�d�|�|�
d
�d�|�|�dd�d�|�|�d
d�d�|�|tdddd��|�t|�d�|�|��d
ddg�x2td�D]&}|�|�|�d
ddgd|���q�W|�d�t
|����d�|dd7<|dd8<|d	=|d	=|dd8<d|d<|dd7<|�|tdddddd��|�d�t
|����d�|�|�d�d�|�d|�x*td�D]}|��\}}|�||��q�W|��|�|i�|�t|�d�|�ttjd�|�tt|�|�tddd ��|jdd!�|�td"��|��|�d#�|�d$�|��|�|td%d&ddd'��|�|�dd�d�|�|dd�|�|�dd�d�|�|dd�dS)(NZabcabarLrHrG)r'r(rKr�r'r(rK)r'rL)r(rH)rKrGrNrTFr�z!Counter({'a': 3, 'b': 2, 'c': 1})rOr�Zaaabbcrar�rergr����)r'r(rarergZaaaaffffz	Counter()rB)r'r()rKZPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbA aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbZcdci+iM)r'r(rKra) rr4r�r=rror*rS�sumrr�rvrRr�rUrV�most_commonrYr�r�rtr�rur�rv�NotImplementedErrorr&r�rirjr8�
setdefault)r-rKr{r�Zcntr.r.r/rh�st

zTestCounter.test_basicscCs�|�ttdd����dg�|�ttdd����dg�|�ttdd����dg�|�ttd�|�ttdd�|�ttj�dS)Nr�)r-)r-r�)r�)r�r�)r�Nr.)r4r;rrRrvr�r8)r-r.r.r/�	test_init6szTestCounter.test_initcCs�t�}|jdd�|�t|���dg�t�}|jdd�|�t|���dg�t�}|jdd�|�t|���dg�|�tt�jd�|�tt�jii�|�ttj�dS)Nr�)r-)r-r�)r�)r�r�)r�N)rrjr4r;rRrvr�)r-rKr.r.r/�test_update>szTestCounter.test_updatec
s�td������fdd�}|����|t����|t����xDttjd�D]2}�j|d��|t�t�	�|���WdQRXqRW|t
t����t�}|���||�|t���dS)Nz)which witch had which witches wrist watchcs*d|�f}��|�|���|��dS)Nz
copy: %s
words: %s)r2r4)�dup�msg)r-rr.r/�checkPsz'TestCounter.test_copying.<locals>.checkrG)rf)
rrr1r^rYrZr[ZsubTestr\r]r_rVrj)r-rrfZupdate_testr.)r-rr/�test_copyingLs$
zTestCounter.test_copyingcCsXGdd�dt�}|d�}|��}|�||�|�t|�t|��|�t|�t|��dS)Nc@seZdZdS)z1TestCounter.test_copy_subclass.<locals>.MyCounterN)r,rDrEr.r.r.r/�	MyCounterasr
Zslartibartfast)rr1r4rSrW)r-r
rKrar.r.r/�test_copy_subclass`szTestCounter.test_copy_subclasscCsxd}|�tt|����t|��|�tt|��tt|���|�tt|��tt|�����|�tt|��t|��dS)Nz%she sells sea shells by the sea shore)r4r�rr�r)r=rR)r-rr.r.r/�test_conversionsis
 zTestCounter.test_conversionscCs:tdddd�}x&|D]}|�||k�|�||�qWdS)Nr�rr)r'r(rK)rrorT)r-rKr�r.r.r/�"test_invariant_for_the_in_operatorqs
z.TestCounter.test_invariant_for_the_in_operatorc
Cs�tdddd�t�}|�t|�tdd��d}x�td�D]�}ttdd	�|D���}|jd
ddd�ttd
d	�|D���}|jd
ddd�x�tjdd�ftjdd�ftjdd�ftjdd�fgD]`\}}|||�}x4|D],}	|�|||	||	�||	||	||f�q�W|�	dd	�|�
�D��q�Wq8Wd}x�td�D]�}ttdd	�|D���}ttdd	�|D���}xhtjtjftjtjftjtjfgD]B\}}
|||�}|
t|���t|����}|�|t�
|d
���q�W�q4WdS)Nr�rr)r'r(rK)r'r�i�css|]}|tdd�fVqdS)rr�N)r)r�r�r.r.r/r�sz7TestCounter.test_multiset_operations.<locals>.<genexpr>rGr�)rergr}css|]}|tdd�fVqdS)rr�N)r)r�r�r.r.r/r��s)rzr{rycSstd||�S)Nr)r�)r�r�r.r.r/r$�r%z6TestCounter.test_multiset_operations.<locals>.<lambda>cSstd||�S)Nr)r�)r�r�r.r.r/r$�r%cSstd||�S)Nr)r�)r�r�r.r.r/r$�r%cSstdt||��S)Nr)r��min)r�r�r.r.r/r$�r%css|]}|dkVqdS)rNr.)r�r�r.r.r/r��sZabcdefrMcss|]}|tdd�fVqdS)rrHN)r)r�r�r.r.r/r��scss|]}|tdd�fVqdS)rrHN)r)r�r�r.r.r/r��s)rr4r=rYrj�__add__�__sub__�__or__�__and__rorr)r�r&)
r-rKr�r{r�r�Z	counteropZnumberoprr�ZsetopZcounter_resultZ
set_resultr.r.r/�test_multiset_operationsws:

 


z$TestCounter.test_multiset_operationscCs�d}x�td�D]�}ttdd�|D���}|jdddd�ttd	d�|D���}|jdddd
�xxtjtjftjtjftjtj	ftj
tjfgD]H\}}|��}t
|�}|||�}	|||�}
|�|
|	�|�t
|
�|�q�WqWdS)Nr�i�css|]}|tdd�fVqdS)rr�N)r)r�r�r.r.r/r��sz6TestCounter.test_inplace_operations.<locals>.<genexpr>rGr�r)rergr}css|]}|tdd�fVqdS)rr�N)r)r�r�r.r.r/r��s)rzr{ry)rYrr=rj�__iadd__r�__isub__r�__ior__r�__iand__rr1�idr4)r-r�r{r�r�Z
inplace_opZ
regular_oprKZc_idZregular_resultZinplace_resultr.r.r/�test_inplace_operations�s"




z#TestCounter.test_inplace_operationsc
CsPtddddddd�}|jdd	d
dddd
d�|�|tddddddddd��tddddddd�}|�tdd	d
dddd
d��|�|tddddddddd��td�}|�d�|�|tdddddd��t�}|jdd�|�t|���dg�t�}|jdd�|�t|���dg�|�tt�jd�|�tt�jii�|�ttj�dS)Nr�rrOr��r�)r'r(rKrarer}rGrHr�rIrJi���)r'r(rKrarergrzi����r�i��r�)r'r(rKrarergr}rzZaaabbcdZ	aaaabbccer�)r'r(rKrarer�)r-)r-i���)r�)r�i���)r�subtractr4r;rRrvr�)r-rKr.r.r/�
test_subtract�s$  
zTestCounter.test_subtractc	CsNtddddddd�}|�t|
�tddddd��|�t|�tdd	��dS)
Nr�rrOr�rr�)r'r(rKrarer})rKrarer})r')rr4r=)r-rKr.r.r/�
test_unary�szTestCounter.test_unarycCs0tddd�}t|�}|�d|�|�d|�dS)NrH)r'r(z'a': 2z	'b': None)rrVrT)r-rKr�r.r.r/�test_repr_nonsortable�sz!TestCounter.test_repr_nonsortablec	Cs�td�}t�}t||�|�|dddddd��t�}t||�|�|tdddd	d
g��td�}|�|j�|�t|�dddddd��td�}|�|j�|�t|�dddddd��dS)Nr�rOrHrG)r'r�r(rKra)r'rO)r(rH)r�rH)rKrG)rarG)r'r(rKrar�)	r;r=rr4rr�ror�r�)r-Zelemsrar�rKr.r.r/�test_helper_function�s

z TestCounter.test_helper_functionN)r,rDrErhrrrrrrrrr r!r"r#r.r.r.r/r�s<	'rcCs8tjtd�}t|tttttg}t	j
|�t	�t|�dS)N)r�)�doctestZDocTestSuiter�r�rIr�rrFr&rZrun_unittestZrun_doctest)rZNamedTupleDocsZtest_classesr.r.r/�	test_main�s
r%�__main__T)r)N)Br�r�r1r$r�r�rZZrandomrr�rer�r
r5rrZr rrrrr	r
rrr
Zcollections.abcrrrrrrrrrrrrrrrrrrr r!r"r#r$r%ZTestCaser&rFr�r�r#rHrIr�r�r�r�rr%r,r.r.r.r/�<module>sh0#
A;a			v