Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_collections.cpython-310.pyc
o

�9j�p�@sJdZddlZddlZddlZddlZddlZddlZddlmZm	Z	ddl
mZmZm
Z
ddlZddlZddlmZddlZddlZddlmZmZmZmZddlmZmZmZddlmZdd	lmZdd
lmZmZddlm Z m!Z!m"Z"ddlm#Z#m$Z$m%Z%m&Z&m'Z'dd
lm(Z(m)Z)m*Z*m+Z+ddlm,Z,m-Z-ddlm.Z.m/Z/m0Z0m1Z1m2Z2ddlm3Z3m4Z4ddlm5Z5Gdd�dej6�Z7Gdd�dej6�Z8edd�Z9Gdd�dej6�Z:Gdd�dej6�Z;dd�Z<Gdd�de;�Z=Gd d!�d!e-�Z>Gd"d#�d#e;�Z?Gd$d%�d%e�Z@Gd&d'�d'e�ZAGd(d)�d)ej6�ZBd/d*d+�ZCeDd,k�r#eCd-d.�dSdS)0zUnit tests for collections.py.�N)�choice�	randrange)�product�chain�combinations)�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@�DeZdZdd�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)�assertGreaterEqual�set�dir�format�__name__)�selfr,r-�r4�,/usr/lib/python3.10/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)r3�obj�obj_copyr4r4r5�
_copy_test*s
zTestUserObjects._copy_testcC�|�tt�dS�N)r6r
�str�r3r4r4r5�test_str_protocol7�z!TestUserObjects.test_str_protocolcCr@rA)r6r�listrCr4r4r5�test_list_protocol:rEz"TestUserObjects.test_list_protocolcCr@rA)r6r�dictrCr4r4r5�test_dict_protocol=rEz"TestUserObjects.test_dict_protocolcCst�}|�d�|�|�dS)N�{)r�appendr?�r3r=r4r4r5�test_list_copy@s
zTestUserObjects.test_list_copycCst�}d|d<|�|�dS)N�abcrJ)rr?rLr4r4r5�test_dict_copyEszTestUserObjects.test_dict_copyN)
r2�
__module__�__qualname__r6r?rDrGrIrMrOr4r4r4r5r*s

r*c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�TestChainMapcCsjt�}d|d<d|d<|��}d|d<d|d<|�|jddd�ddd	�g�|�|��tdddd
����|�t|�d�dD]}|�||�q?tdddd
d���D]\}}|�|�|d
�|�qR|d=|�|jddiddd	�g�|�|��tdddd
����|�t|�d�dD]}|�||�q�tdddd
d���D]\}}|�|�|d
�|�q�|�t	|�t
|�jdt
|�jdg�|��t�|�fD]<}|�||�|�|j|j�|�
||�|�
|jd|jd�t|jdd�|jdd��D]
\}}|�||�q�q�ttjd�D]4}	t�t�||	��}|�||�|�|j|j�|�
||�t|j|j�D]\}}|�
|||��q4�qt�|�tt	|��fD]+}|�||�|�|j|j�|�
||�t|j|j�D]\}}|�
|||��qk�qN|��}
d|
d<|�|
jddiddiddd	�g�|�|
jjddiddd	�g�|�|
dd�|�|
jdd�dS)N�r,�r-���c�r-rWr+�r,r-rW�rN�d)r,r-rW�zz({'c': 30}, {'a': 1, 'b': 2})z({'c': 30}, {'b': 2, 'a': 1})r�)r�	new_childr:�maps�itemsrH�len�assertIn�get�repr�typer2r7r8�zipr<�range�pickle�HIGHEST_PROTOCOL�loads�dumps�deepcopy�eval�parents)r3rW�d�key�k�v�e�m1�m2�proto�fr4r4r5�test_basicsQsp
�&��
��"zTestChainMap.test_basicscCsPddd�}ddd�}t||�}|��}|�|�|�t|���t|����dS)N�bach�	rembrandt)�music�artzvan gogh�carmen)r|�opera)rr7�updater:rFr`)r3�baseline�adjustments�cm�combinedr4r4r5�
test_ordering�s



 zTestChainMap.test_orderingcCs2|�t�jig�|�tddi�jddig�dS�NrSrT)r:rr_rCr4r4r5�test_constructor�s zTestChainMap.test_constructorcCsH|�t��|�tii��|�tddii��|�tiddi��dSr�)�assertFalser�
assertTruerCr4r4r5�	test_bool�szTestChainMap.test_boolcCs*Gdd�dt�}|tddd�tddd��}tdddd	d
���D]\}}|�|||�qtddddd
���D]\}}|�|�|d�|�q6tdddd
d
���D]\}}|�||v|�qO|�|�dd�d|�|�|�dd�d�|�|��d�|�t��
|��Wd�dS1s�wYdS)Nc@�eZdZdd�ZdS)z2TestChainMap.test_missing.<locals>.DefaultChainMapcS�dS)N��r4�r3rpr4r4r5�__missing__��z>TestChainMap.test_missing.<locals>.DefaultChainMap.__missing__N)r2rPrQr�r4r4r4r5�DefaultChainMap��r�rSrTr+rUrVrXr��r,r-rWro�MTFr,i�i��r-rT)	rrHr`r:rc�pop�popitem�assertRaises�KeyError)r3r�rorqrrr4r4r5�test_missing�s
"�zTestChainMap.test_missingcCs�ttddd�t�tdddd�tdd	d
ddd
�t�tddd�tdddddd�t��}|�d�|�d�|�t|���gd��dS)Nr�8[)�j�h�'�\�
)�irorW����	�Mix)rwr-�grWr��7�)rsr-rSrTrZ�r]�r,r-rWrors��
abcdefghij)
)r,rS)r-r�)rWr�)ror�)rsr�)rwr�)r�r�)r�r�)r�r�)r�r)rr
r:�joinrFr`�r3ror4r4r5�test_order_preservation�s

�
�z$TestChainMap.test_order_preservationcCsBGdd�dt�}|dd�}t|�}d|_t|�|�|jd�dS)Nc@�eZdZdd�Zdd�ZdS)zKTestChainMap.test_iter_not_calling_getitem_on_maps.<locals>.DictWithGetItemc_�"d|_tj|g|�Ri|��dS�NF)�calledr�__init__�r3�args�kwdsr4r4r5r���zTTestChainMap.test_iter_not_calling_getitem_on_maps.<locals>.DictWithGetItem.__init__cSsd|_t�||�dS�NT)r�r�__getitem__�r3�itemr4r4r5r��szWTestChainMap.test_iter_not_calling_getitem_on_maps.<locals>.DictWithGetItem.__getitem__N)r2rPrQr�r�r4r4r4r5�DictWithGetItem�sr�rS�r,Fz__getitem__ was called)rrr�r/r�)r3r�rorWr4r4r5�%test_iter_not_calling_getitem_on_maps�s
z2TestChainMap.test_iter_not_calling_getitem_on_mapscCsVttddd�tddd��}|�t|�tdddd��|�t|���tdddd��dS)NrSrTr+rUrVrXrY)rrHr:r`r�r4r4r5�test_dict_coercion�s"zTestChainMap.test_dict_coercioncCs.t�}d|d<d|d<ddd�}|�|�}|�|jddd�ddd�g�|�||jd	�Gd
d�dt�}t�}d|d<d|d<|ddd�}|�|�}|�||jd	�dD]}|�||�qVtdddd
d���D]\}}|�|�|d
�|�qitddd��}|jddd�}|�|jddd�ddd�g�dS)z#Tests for changes for issue #16613.rSr,rTr-rUrVrXr+rc@r�)z.TestChainMap.test_new_child.<locals>.lowerdictcS�t|t�r	|��}t�||�SrA)�
isinstancerB�lowerrHr�r�r4r4r5r���
z:TestChainMap.test_new_child.<locals>.lowerdict.__getitem__cSr�rA)r�rBr�rH�__contains__r�r4r4r5r��r�z;TestChainMap.test_new_child.<locals>.lowerdict.__contains__N)r2rPrQr�r�r4r4r4r5�	lowerdict�sr�rNr[)r,�B�Cr\N)	rr^r:r_r<rHrbr`rc)r3rW�mror�rprqrrr4r4r5�test_new_child�s*



"zTestChainMap.test_new_childc	CsRttddd�tddd��}ttddd	�td
dd��}|��}tddd
�}ddg}||B}|�|j|jdt|�Bg|jdd���||O}|�||�||B}|�|j|jd|Bg|jdd���|�||Bj|t|�Bg�||O}|�||�|�t��||BWd�n1s�wY|��}||O}|�|j|jdt|�Bg|jdd���Gdd�dt�}Gdd�dt�}t�t�B}|�t|�t�|�t|jd�t�t�|�B}|�t|�t�|�t|jd�t�|�t�B}|�t|�|�|�t|jd�t�t�|�B}|�t|�|�|�t|jd�t�dS)NrSrTr+rZr�)rWro�
r])r,rsrU)r-rorV)r,rW)rWrZ)�prrc@�eZdZdS)z3TestChainMap.test_union_operators.<locals>.SubclassN�r2rPrQr4r4r4r5�Subclass�r�c�eZdZ�fdd�Z�ZS)z6TestChainMap.test_union_operators.<locals>.SubclassRorcst��|�SrA)�super�__ror__�r3�other��	__class__r4r5r��z>TestChainMap.test_union_operators.<locals>.SubclassRor.__ror__)r2rPrQr��
__classcell__r4r4r�r5�SubclassRor�r�)	rrHr7r:r_r��	TypeErrorr<re)	r3�cm1�cm2�cm3ro�pairs�tmpr�r�r4r4r5�test_union_operatorssD,(
�,z!TestChainMap.test_union_operatorsN)
r2rPrQrxr�r�r�r�r�r�r�r�r�r4r4r4r5rROs<$rR�TestNTzx y zc@seZdZdd�Zdd�Zdd�Ze�ej	j
dkd�d	d
��Ze�ej	j
dkd�dd��Ze
je�ej	j
dkd�d
d���Ze
jdd��Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Ze
jd'd(��Zd)d*�Zd+d,�Zd-S).�TestNamedTuplecCsHtdd�}|�|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
gd��dS)N�Point�x yr4��x�yzabc%zefg ghi�class�9abcrNzefg g%hiz	abc classz	8efg 9ghiz_efg ghizefg efg ghi�Point0zx1 y2�_za b c�ntzthe quick brown foxzu')�the�quick�)r�r��!)rr:r2�	__slots__rPr��tuple�_fieldsr��
ValueError�assertNotInrdr��_make)r3r�r�r4r4r5�test_factory7s,




zTestNamedTuple.test_factorycCsHtdddd�}|�|jddd��|�|dd	�d
�|�|d�d�|�|�d�tdddd�}|�|jd
di�|�|dd	�d
�|�|d�d�tdddd�}|�|ji�|�|dd	�d
�|�t��|d�Wd�n1suwY|�t��|�Wd�n1s�wY|�t��|dd	d�Wd�n1s�wY|�t��tdddd�}Wd�n1s�wY|�t��tdddd�}Wd�n1s�wY|�t��tdddd�}Wd�n1s�wYtdddd�}|�|ji�|�|jjd�|�|dd�d�|�t��|d�Wd�n	1�s5wYtddddgd�}|�|jddd��|�|jjd�|�|dd	�d
�|�|d�d�|�|�d�tddtddg�d�}|�|jddd��|�|jjd�|�|dd	�d
�|�|d�d�|�|�d�dS)Nr�r�)r�rU)�defaultsr�rUr�rSrT�rSrT)rSrU)rUr�r4rZ�r�rUrVF)	rr:�_field_defaultsr�r��assertIsNone�__new__�__defaults__�iter�r3r�r4r4r5�
test_defaultsTsb
������
�zTestNamedTuple.test_defaultscCs�tdd�}|dd�}|�t��d|_Wd�n1swY|�t��
|`Wd�n1s4wY|�t��d|d<Wd�n1sMwY|�t��|d=Wd�n1sewY|�|jd�|�|dd�dS)Nr�r�r�r�r�r)rr��AttributeErrorr�r�r:�r3r�r�r4r4r5�
test_readonly�s 

��
��zTestNamedTuple.test_readonlyrTz)Docstrings are omitted with -O2 and abovecCs0tdd�}|�|jd�d|_|�|jd�dS)Nr�r�zPoint(x, y)z2D point)rr:�__doc__rr4r4r5�test_factory_doc_attr�s
z$TestNamedTuple.test_factory_doc_attrcCsxtdd�}|�|jjd�|�|jjd�d|j_|�|jjd�tdd�}|�|jjd�d|j_|�|jjd�dS)Nr�r�zAlias for field number 0zAlias for field number 1zdocstring for Point.x�Vectorzdocstring for Vector.x)rr:r�rr�)r3r�rr4r4r5�test_field_doc�s

zTestNamedTuple.test_field_doccCsHtdddg�}tdddg�}|�|jj|jj�|�|jj|jj�dS)N�Pr��n�Q�or�)rr<r�rr
rr�)r3r
rr4r4r5�test_field_doc_reuse�sz#TestNamedTuple.test_field_doc_reusecCsftdd�}|�t|j�d�|�t|j�d�d|j_d|j_|�t|j�d�|�t|j�d�dS)	Nr�r�z+_tuplegetter(0, 'Alias for field number 0')z+_tuplegetter(1, 'Alias for field number 1')zThe x-coordinatezThe y-coordinatez#_tuplegetter(0, 'The x-coordinate')z#_tuplegetter(1, 'The y-coordinate'))rr:rdr�r�rrr4r4r5�test_field_repr�s
zTestNamedTuple.test_field_reprcCsNddgddgddgddgdd	gd
dgfD]\}}|�td|d
d�j|�qdS)N)�efgzg%hi)r�_1)rNr��rNr)�8efg�9ghi)�_0r)rN�_efg)rNrr�ghi)rNr�_2r)rNr�r�)rNrr��NTT��rename)r:rr�)r3�spec�renamedr4r4r5�test_name_fixer�s��zTestNamedTuple.test_name_fixercCs$tdddgtd�}|�|jt�dS)Nrr�r���module)r�collectionsr:rP�r3rr4r4r5�test_module_parameter�sz$TestNamedTuple.test_module_parameterc
Cs�tdd�}|dd�}|�||ddd��|�||ddd��|�||ddd��|�||d��|�||ditddd����|�t|d	�|�t|d	d
d�|�t��|d	d
d�Wd�n1sewY|�t��
|d	d
�Wd�n1swY|�t|�d�|�dt|��|�||�ddg��|�|j	d�|�|j
d	d
�d�|�|��tddd��z	|j
d	d
d�Wn	ty�Ynw|�
d�tdd�}|ddd�}|�t|�d�tdd�}|ddd�}|�t|�d�dS)Nr�r�r�r�r�)r�)r�r��r�r�rSrTrZ)�XXXr��r�zPoint(x=11, y=22)�__weakref__)rSr�)r��errorz%Did not detect an incorrect fieldnamezx, yr4)rr:rHr�r�rdr�r0r�r��_replace�_asdictr��_failrr4r4r5�
test_instance�sB

���


zTestNamedTuple.test_instancecCsHtdd�}|dd�}|�|t�|�|d�|�t|�d�|�t|�ddg�|�t|�d�|�t|�d�|\}}|�|||f�|�|d|dfd�|�t��|dWd�n1sdwY|�|d	d�|�t|�td��|�|j	|�|�|j
|�|�t��|jWd�dS1s�wYdS)
Nr�r�r�r�r$rrSrZ���)
r�assertIsInstancer�r:rF�maxr��
IndexError�hashr�r�rr\)r3r�r�r�r�r4r4r5�test_tupleness�s*


�"�zTestNamedTuple.test_tuplenessc
Cstdd�}|�|�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
|���t
|�D]
\}}|�t||�|�q�t|�|��}	tt|t
|���}
|�|	|
�|jdit|dd
f|ddfg���}tt
|��}d
|d<d|d<|�|t|��|�|jt|��dS)N�Zeror�r4zZero()�DotrorS�rSzDot(d=1)r�)ro)r�i�css(�|]}d�dd�td�D��VqdS)r�cSsg|]}ttj��qSr4)r�string�
ascii_letters)�.0r�r4r4r5�
<listcomp>s�z;TestNamedTuple.test_odd_sizes.<locals>.<genexpr>.<listcomp>r�N)r�rg)r8r�r4r4r5�	<genexpr>s�
��z0TestNamedTuple.test_odd_sizes.<locals>.<genexpr>�Big����*)rr:r�rdr*r�ror)rFr/rgrar��	enumerate�getattrrHrf)
r3r3r4r�namesr;r-�pos�namero�
d_expected�b2�b2_expectedr4r4r5�test_odd_sizessF



�
(zTestNamedTuple.test_odd_sizescCs�tdddd�}tfD]5}t|d�}t|d�}td|jd�D] }||||��}|�||�|�|j|j�|�d	|||��qq
dS)
Nr�rUrV�r�r�r\rjrkr-rSsOrderedDict)r�rhr?rgrir:r�r�)r3r�r rjrk�protocol�qr4r4r5�test_pickle1s


��zTestNamedTuple.test_picklecCsHtdddd�}tjtjfD]}||�}|�||�|�|j|j�q
dS)Nr�rUrVrG)r�r7rlr:r�)r3r��copierrIr4r4r5�	test_copy<s�zTestNamedTuple.test_copycCsFtdd�}|ddddd�}|�|d�|jd	d
ddd
d�}|�|d�hd�}td|�}ttt|���}||�}|�||�|ditt|j|����}|�||�|�	|�}|�||�t
|�|�|��tt|j|���|�	|�}tdd�|D��}|jditt|j|����}|�||�|�|jt|��|�|��|�dS)N�Tz"itemgetter property self cls tuplerSrTrZr�r])rSrTrZr�r]r�rUrV�(�2)�
itemgetter�propertyr3�clsr�)r�rUrVrNrO>�r,rorwr��r�sr�r�r\�At�an�be�by�of�to�up�For�Got�add�all�butrR�docrc�got�hasra�map�newr�r/rB�sysr��userf�Make�Note�Type�Used�alsor�r7rH�exec�helpr�r��likerFr_�mustrBrd�seenr3�side�step�than�thisre�used�user�work�Alias�Build�Fieldr��added�buildr(�field�frame�index�namedr@�needs�plain�split�start�theirr��valid�where�which�Bypass�Create�Helper�Jython�Modify�Return�cannot�effect�either�fields�getter�methodr �nicely�number�object�optionrhr�resultr6�unpack�values�Returns�convert�created�defined�example�greater�keyword�message�methods�regular�replace�strings�targets�verbose�Expectedr��Validate�arg_list�builtins�creation�function�generate�instance�iterable�keywords�metadata�operator�picklingrQ�repr_fmt�sequence�subclass�typename�variabler��	Variables�	arguments�	debugging�	docstring�	duplicater>�	f_globals�	formatted�	functions�	indexable�	interning�	namespace�	replacing�	specified�	tuple_new�
IronPythonr��
accessible�
dictionary�
docstringsr�rPr�
num_fields�
particular�
positional�
startswith�
underscore�
unexpected�Encounteredr
�classmethodr!�field_names�identifiers�instantiate�module_name�namedtuple_�environments�isidentifier�
automatically�
introspectionr�representation�class_namespace�reuse_itemgettercss�|]}|dVqdS)r�Nr4)r8rrr4r4r5r:{��z5TestNamedTuple.test_name_conflicts.<locals>.<genexpr>r4)
rr:r)r�rgrarHrfr�r�rdr*�__getnewargs__)r3rM�t�newt�wordsr��	newvaluesr4r4r5�test_name_conflictsCs,



z"TestNamedTuple.test_name_conflictscCsFtdd�}|�t|d��d�Gdd�d|�}|�t|d��d�dS)N�Ar�rSzA(x=1)c@r�)z#TestNamedTuple.test_repr.<locals>.BNr�r4r4r4r5r��r�r�zB(x=1))rr:rd)r3r�r�r4r4r5�	test_repr�s
zTestNamedTuple.test_reprcCs�|�t��tdddgd�}Wd�n1swYtdddgdd�}|�|jd�|�t��tdddgd	d�}Wd�dS1sGwYdS)
Nrr�r�TrN�defrrF)r�r�rr:r�r"r4r4r5�test_keyword_only_arguments�s�"�z*TestNamedTuple.test_keyword_only_argumentscCsXGdd�dtdddg��}|dd�}|�|��tdd	g��d
|_|�|jdd
i�dS)Nc@r�)zBTestNamedTuple.test_namedtuple_subclass_issue_24931.<locals>.PointNr�r4r4r4r5r��r�r��_Pointr�r�rZr�)r�rZ)r�r�r]�w)rr:r*r
r��__dict__)r3r�r,r4r4r5�$test_namedtuple_subclass_issue_24931�s

z3TestNamedTuple.test_namedtuple_subclass_issue_24931cs�tdd���dd�}|�t��j��|��j�|�d�|�t�jj	|d�|�t�jj
|�G�fdd�dt�}|dd	g�}|�|jd�|�|jd	�dS)
Nr�r�r�r�r�cs0eZdZe�e��j��Ze�e��j��ZdS)z6TestNamedTuple.test_field_descriptor.<locals>.NewPointN)r2rPrQrhrjrkr�r�r4�r�r4r5�NewPoint�sr�rSrT)
rr��inspect�isdatadescriptorr�r:�__get__r�r�__set__�
__delete__r�r�)r3r�r��npr4r�r5�test_field_descriptor�s

z$TestNamedTuple.test_field_descriptorcCs4tdd�}|j}|�|jdi�|�|ji�dS)Nr�r4�__builtins__)rr�r:�__globals__r�)r3r=�new_funcr4r4r5�test_new_builtins_issue_43102�s
z,TestNamedTuple.test_new_builtins_issue_43102cCstdd�}|�|jd�dS)Nr�r�r�)rr:�__match_args__rr4r4r5�test_match_args�s
zTestNamedTuple.test_match_argsN)r2rPrQr�rr�unittest�skipIfrf�flags�optimizerr	r�cpython_onlyrrrr#r,r2rFrJrLr�r�r�r�r�r�rr4r4r4r5r�5sD2�
�
�
&&@


r�c@�$eZdZdd�Zdd�Zdd�ZdS)�ABCTestCasecGs\t�|dd��}td|f|�}|�|D]}|��}||=td|f|�}|�t||�qdS)NcWr��Nrr4�rTr�r4r4r5�<lambda>��z7ABCTestCase.validate_abstract_methods.<locals>.<lambda>r�)rH�fromkeysrer7r�r�)r3rNr@�methodstubsr�rB�stubsr4r4r5�validate_abstract_methods�s�z%ABCTestCase.validate_abstract_methodscCsxdd�}tdtfddi�}t|||�|�|�|�|�t||��tdtfddi�}|�|�|�|�t||��dS)NcWr�rr4r	r4r4r5r
�rz1ABCTestCase.validate_isinstance.<locals>.<lambda>r��__hash__)rer��setattrr.r��
issubclass�assertNotIsInstancer�)r3rNrB�stubr�r4r4r5�validate_isinstance�szABCTestCase.validate_isinstancecCs�gd�}i}|D]}d|d}tt|�||<qGdd�d�}|��D]\}}t||�s-q#|�}|||�|�|jdt|�|f�q#dS)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|_dSr���
right_siderCr4r4r5r���
z7ABCTestCase.validate_comparison.<locals>.Other.__init__cSs
d|_dSr�r r�r4r4r5�__eq__�sz5ABCTestCase.validate_comparison.<locals>.Other.__eq__N)r2rPrQr�r#�__lt__�__gt__�__le__�__ge__�__ne__r��__rand__�__rxor__�__rsub__r4r4r4r5�Other�sr,zRight side not called for %s.%s)r?r�r`�hasattrr�r!re)r3r��ops�	operators�oprBr,r�r4r4r5�validate_comparison�s



��zABCTestCase.validate_comparisonN)r2rPrQrrr1r4r4r4r5r�srcc��dVdSrAr4r4r4r4r5�	_test_gen���
r3c@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)"�TestOneTrickPonyABCscCs:dd�}tjdd��}dd�}Gdd�d�}Gd	d
�d
t�}|�td�dt�|�t�g}|D]}|�|t�|�t	t
|�t�tt
|���q/|�|�g}|D]}|�|t�|�
t	t
|�t��qO|�}	|�|	t�|�}	|�|	t�|	��Gdd
�d
�}
t�|
�|�
t|
�t��|�
t	|
t��d}
t��dS)Ncsr2rAr4r4r4r4r5�genr4z0TestOneTrickPonyABCs.test_Awaitable.<locals>.gencsr2rAr4r4r4r4r5�coro��
z1TestOneTrickPonyABCs.test_Awaitable.<locals>.coroc���dSrAr4r4r4r4r5�new_coro��z5TestOneTrickPonyABCs.test_Awaitable.<locals>.new_coroc@r�)z0TestOneTrickPonyABCs.test_Awaitable.<locals>.Barcsr2rAr4rCr4r4r5�	__await__r4z:TestOneTrickPonyABCs.test_Awaitable.<locals>.Bar.__await__N�r2rPrQr<r4r4r4r5�Barr�r>c�.eZdZdd�Zd�fdd�	Zdd�Z�ZS)	z8TestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCorocS�|SrAr4�r3�valuer4r4r5�sendr�z=TestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoro.sendNc�t��|||�dSrA�r��throw�r3�typ�val�tbr�r4r5rF�z>TestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoro.throwcsr2rAr4rCr4r4r5r<r4zBTestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoro.__await__�NN�r2rPrQrCrFr<r�r4r4r�r5�MinimalCoro�rNr<c@r�)z5TestOneTrickPonyABCs.test_Awaitable.<locals>.CoroLikeNr�r4r4r4r5�CoroLike-�rP)�types�	coroutinerrr�intr�rr�rrerdr.r��close�registerr�r�
gc_collect�r3r6r7r:r>rN�non_samplesr��samplesrWrPr4r4r5�test_Awaitables4
 
z#TestOneTrickPonyABCs.test_AwaitablecCsXdd�}tjdd��}dd�}Gdd�d�}Gd	d
�d
t�}|�tddd
�dt�|�t�|�g}|D]}|�|t�|�tt	|�t�t
t	|���q3|�g}|D]}|�|t�|�
tt	|�t��qQ|�}	|�|	t�|�}	|�|	t�|	��Gdd�d�}
|�
t|
�t��|�
t|
t��Gdd�d�}
|�t|
�t��|�t|
t��dS)Ncsr2rAr4r4r4r4r5r65r4z0TestOneTrickPonyABCs.test_Coroutine.<locals>.gencsr2rAr4r4r4r4r5r78r8z1TestOneTrickPonyABCs.test_Coroutine.<locals>.coroc�r9rAr4r4r4r4r5r:<r;z5TestOneTrickPonyABCs.test_Coroutine.<locals>.new_coroc@r�)z0TestOneTrickPonyABCs.test_Coroutine.<locals>.Barcsr2rAr4rCr4r4r5r<@r4z:TestOneTrickPonyABCs.test_Coroutine.<locals>.Bar.__await__Nr=r4r4r4r5r>?r�r>cr?)	z8TestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCorocSr@rAr4rAr4r4r5rCDr�z=TestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoro.sendNcrDrArErGr�r4r5rFFrKz>TestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoro.throwcsr2rAr4rCr4r4r5r<Hr4zBTestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoro.__await__rLrMr4r4r�r5rNCrOrNr<rCrFc@s.eZdZdd�Zd
dd�Zdd�Zdd	�ZdS)�5TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLikecS�dSrAr4rAr4r4r5rCbr��:TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.sendNcSr]rAr4rGr4r4r5rFdr�z;TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.throwcSr]rAr4rCr4r4r5rUfr��;TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.closecSr]rAr4rCr4r4r5r<hr��?TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.__await__rL)r2rPrQrCrFrUr<r4r4r4r5rPas

rPc@r)r\cSr]rAr4rAr4r4r5rCnr�r^cSr]rAr4rCr4r4r5rUpr�r_cSr]rAr4rCr4r4r5r<rr�r`N)r2rPrQrCrUr<r4r4r4r5rPm�)rRrSrrrTr�rr�rrerdr.rr�rUr�rXr4r4r5�test_Coroutine4s4
 	z#TestOneTrickPonyABCs.test_CoroutinecCst�t�t�t�g}|D]}|�|t�|�tt|�t�t	t|���qdt
�t�t�t
�t�t�t
tttt�g}|D]}|�|t�|�tt|�t�t	t|���q;|�tt�Gdd�dt�}|�t|��d�|�tt
|��|�td�|�td�dS)Ncr�)z-TestOneTrickPonyABCs.test_Hashable.<locals>.Hc�
t���SrA)r�rrCr�r4r5r�r"z6TestOneTrickPonyABCs.test_Hashable.<locals>.H.__hash__)r2rPrQrr�r4r4r�r5�H�r�rdrr)�	bytearrayrFr/rHrrr�rrerdrT�float�complexrBr��	frozensetr��bytesr.r�r�r�r:r1rr)r3rYr�rZrdr4r4r5�
test_Hashablews& � z"TestOneTrickPonyABCs.test_HashablecCs�Gdd�d�}|�t|�t��|�t|t��dtgg}|D]}|�|t�|�tt|�t�tt|���q|�	td�|�
td�dS)Nc@r�)z3TestOneTrickPonyABCs.test_AsyncIterable.<locals>.AIcS�|SrAr4rCr4r4r5�	__aiter__�r�z=TestOneTrickPonyABCs.test_AsyncIterable.<locals>.AI.__aiter__N)r2rPrQrlr4r4r4r5�AI�r�rmrl)r�r�rrr�rr�rerdrr)r3rmrYr�r4r4r5�test_AsyncIterable�s
 z'TestOneTrickPonyABCs.test_AsyncIterablecCs�Gdd�d�}|�t|�t��|�t|t��dtgg}|D]}|�|t�|�tt|�t�tt|���qGdd�d�}|�|�t�|�	tdd�dS)Nc@r�)z3TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AIcSrkrAr4rCr4r4r5rl�r�z=TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AI.__aiter__c���t�rA��StopAsyncIterationrCr4r4r5�	__anext__�r;z=TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AI.__anext__N)r2rPrQrlrrr4r4r4r5rm��rmc@r�)z:TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AnextOnlyc�rorArprCr4r4r5rr�r;zDTestOneTrickPonyABCs.test_AsyncIterator.<locals>.AnextOnly.__anext__N)r2rPrQrrr4r4r4r5�	AnextOnly�r�rtrrrl)
r�r�rrr�rr�rerdr)r3rmrYr�rtr4r4r5�test_AsyncIterator�s
 z'TestOneTrickPonyABCs.test_AsyncIteratorc
Cshgd�}|D]}|�|t�|�tt|�t�tt|���qt�t�t�t	�t
�t�t�t��
�t���t���t�dd�dD�g}|D]}|�|t�|�tt|�t�tt|���qDGdd�dt�}|�t	|��g�|�tt|��|�td�|�td�Gdd	�d	�}Gd
d�d|�}|�t|t��|�t|�t��|�t|t��|�t|�t��dS)N)Nr=���Q�	@��?cs��|]}|VqdSrAr4�r8r�r4r4r5r:���z5TestOneTrickPonyABCs.test_Iterable.<locals>.<genexpr>r4cr�)z-TestOneTrickPonyABCs.test_Iterable.<locals>.IcrcrA)r��__iter__rCr�r4r5r{�r"z6TestOneTrickPonyABCs.test_Iterable.<locals>.I.__iter__)r2rPrQr{r�r4r4r�r5�I�r�r|r{c@r�)z.TestOneTrickPonyABCs.test_Iterable.<locals>.ItcS�tg�SrA�rrCr4r4r5r{��z7TestOneTrickPonyABCs.test_Iterable.<locals>.It.__iter__N�r2rPrQr{r4r4r4r5�It�r�r�c@�eZdZdZdS)z5TestOneTrickPonyABCs.test_Iterable.<locals>.ItBlockedNr�r4r4r4r5�	ItBlocked��r�)rrr�rrerdrirBr�rFr/rhrH�keysr`r�r3r.r�r:rrr�)r3rYr�rZr|r�r�r4r4r5�
test_Iterable�s0 � z"TestOneTrickPonyABCs.test_IterablecCs�ddddt�t�g}|D]}|�|t�|�tt|�t�tt|���qt�dd�dD�t	g�t
g�g}|D]}|�|t�|�tt|�t�tt|���q6t�t�t
�t�t�t���t���t���t�t���t���t���t�t���t���t���g}|D]}|�|t�|�tt|�t�tt|���q�|�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=rvrwcsrxrAr4ryr4r4r5r:�rzz7TestOneTrickPonyABCs.test_Reversible.<locals>.<genexpr>r4c@r�)z/TestOneTrickPonyABCs.test_Reversible.<locals>.RcS�
tt��SrA�rrFrCr4r4r5r{�r"z8TestOneTrickPonyABCs.test_Reversible.<locals>.R.__iter__cSr�rAr�rCr4r4r5�__reversed__�r"z<TestOneTrickPonyABCs.test_Reversible.<locals>.R.__reversed__N�r2rPrQr{r�r4r4r4r5�R�rsr�r�r{c@r�)z7TestOneTrickPonyABCs.test_Reversible.<locals>.RevNoItercSr}rA��reversedrCr4r4r5r��rzDTestOneTrickPonyABCs.test_Reversible.<locals>.RevNoIter.__reversed__N�r2rPrQr�r4r4r4r5�	RevNoIter�r�r�c@r�)z9TestOneTrickPonyABCs.test_Reversible.<locals>.RevPlusItercSr}rAr~rCr4r4r5r{�rzBTestOneTrickPonyABCs.test_Reversible.<locals>.RevPlusIter.__iter__Nr�r4r4r4r5�RevPlusIter�r�r�c@r�)z1TestOneTrickPonyABCs.test_Reversible.<locals>.RevcSr}rAr~rCr4r4r5r{rz:TestOneTrickPonyABCs.test_Reversible.<locals>.Rev.__iter__cSr}rAr�rCr4r4r5r�rz>TestOneTrickPonyABCs.test_Reversible.<locals>.Rev.__reversed__Nr�r4r4r4r5�Rev�r�c@r�)z:TestOneTrickPonyABCs.test_Reversible.<locals>.RevItBlockedNr�r4r4r4r5�RevItBlockedr�r�c@r�)z;TestOneTrickPonyABCs.test_Reversible.<locals>.RevRevBlockedNr�r4r4r4r5�
RevRevBlockedr�r�)r/rhrrr�rrerdr3rr�rirBr�rFr
r�r`r�r	rHr.r�r&r!r"r:rfrr�)r3rYr��non_reversiblesrZr�r�r�r�r�r�r4r4r5�test_Reversible�sN   � z$TestOneTrickPonyABCs.test_ReversiblecCs|dddddd�g}|D]}|�|t�|�tt|�t�tt|���qt�td�tt��dd�d	D�g}|D]}|�|t�|�tt|�t�tt|���q6t	�t
�t�t�t
�t�t�t���t���t���g
}|D]}|�|t�|�tt|�t�tt|���ql|�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=rvrwcSsd|S)NrTr4r&r4r4r5r
rz6TestOneTrickPonyABCs.test_Collection.<locals>.<lambda>�csrxrAr4ryr4r4r5r:rzz7TestOneTrickPonyABCs.test_Collection.<locals>.<genexpr>r4c@r)z1TestOneTrickPonyABCs.test_Collection.<locals>.ColcSr�rAr�rCr4r4r5r{*r"z:TestOneTrickPonyABCs.test_Collection.<locals>.Col.__iter__cSr�rr4rCr4r4r5�__len__,r�z9TestOneTrickPonyABCs.test_Collection.<locals>.Col.__len__cSr�r�r4r�r4r4r5r�.r�z>TestOneTrickPonyABCs.test_Collection.<locals>.Col.__contains__N�r2rPrQr{r�r�r4r4r4r5�Col)rar�c@r�)z4TestOneTrickPonyABCs.test_Collection.<locals>.DerColNr�r4r4r4r5�DerCol0rQr�r�r{r�c@r�)z7TestOneTrickPonyABCs.test_Collection.<locals>.ColNoItercSr�rr4rCr4r4r5r�=rz?TestOneTrickPonyABCs.test_Collection.<locals>.ColNoIter.__len__cSr�r�r4r�r4r4r5r�>rzDTestOneTrickPonyABCs.test_Collection.<locals>.ColNoIter.__contains__N)r2rPrQr�r�r4r4r4r5�	ColNoIter<r�r�c@r�)z7TestOneTrickPonyABCs.test_Collection.<locals>.ColNoSizecSr}rAr~rCr4r4r5r{@rz@TestOneTrickPonyABCs.test_Collection.<locals>.ColNoSize.__iter__cSr�r�r4r�r4r4r5r�ArzDTestOneTrickPonyABCs.test_Collection.<locals>.ColNoSize.__contains__N)r2rPrQr{r�r4r4r4r5�	ColNoSize?r�r�c@r�)z7TestOneTrickPonyABCs.test_Collection.<locals>.ColNoContcSr}rAr~rCr4r4r5r{Crz@TestOneTrickPonyABCs.test_Collection.<locals>.ColNoCont.__iter__cSr�rr4rCr4r4r5r�Drz?TestOneTrickPonyABCs.test_Collection.<locals>.ColNoCont.__len__N)r2rPrQr{r�r4r4r4r5�	ColNoContBr�r�c@� eZdZdd�Zdd�ZdZdS)z7TestOneTrickPonyABCs.test_Collection.<locals>.SizeBlockcSr}rAr~rCr4r4r5r{Mrz@TestOneTrickPonyABCs.test_Collection.<locals>.SizeBlock.__iter__cSr�r�r4rCr4r4r5r�NrzDTestOneTrickPonyABCs.test_Collection.<locals>.SizeBlock.__contains__N)r2rPrQr{r�r�r4r4r4r5�	SizeBlockL�r�c@r�)z7TestOneTrickPonyABCs.test_Collection.<locals>.IterBlockcSr�rr4rCr4r4r5r�Qrz?TestOneTrickPonyABCs.test_Collection.<locals>.IterBlock.__len__cSr�r�r4rCr4r4r5r�RrzDTestOneTrickPonyABCs.test_Collection.<locals>.IterBlock.__contains__N)r2rPrQr�r�r{r4r4r4r5�	IterBlockPr�r�c@r)z5TestOneTrickPonyABCs.test_Collection.<locals>.ColImplcSr�rAr�rCr4r4r5r{Zr"z>TestOneTrickPonyABCs.test_Collection.<locals>.ColImpl.__iter__cSr�rr4rCr4r4r5r�\r�z=TestOneTrickPonyABCs.test_Collection.<locals>.ColImpl.__len__cSr�r�r4r�r4r4r5r�^r�zBTestOneTrickPonyABCs.test_Collection.<locals>.ColImpl.__contains__Nr�r4r4r4r5�ColImplYrar�c@r�)z4TestOneTrickPonyABCs.test_Collection.<locals>.NonColN)r2rPrQr�r4r4r4r5�NonCol`r�r�)rrr�rrerdr3rrer/rhrHrirBr�rFr�r`r�r.r�r&r!r"rr r:rfrr�)r3�non_collectionsr��non_col_iterablesrZr�r�r�r�r�r�r�r�r�r4r4r5�test_Collectionsp � � �
�z$TestOneTrickPonyABCs.test_Collectionc
Cs dddddddgit�g
}|D]}|�|t�|�tt|�t�tt|���qtt��tt	��tt
��tt��tt��tt��tt
��tt����tt����tt����t�dd�dD�g}|D]}|�|t�|�tt|�t�tt|���qa|�td	d
�Gdd�d�}|�|�t�dS)
Nr=rvrwr�r�r4csrxrAr4ryr4r4r5r:qrzz5TestOneTrickPonyABCs.test_Iterator.<locals>.<genexpr>�__next__r{c@r�)z4TestOneTrickPonyABCs.test_Iterator.<locals>.NextOnlycs��dVdS�NrSr4rCr4r4r5r�zs�z=TestOneTrickPonyABCs.test_Iterator.<locals>.NextOnly.__next__N)r2rPrQr�r4r4r4r5�NextOnlyyr�r�)r/rrr�rrerdrrirBr�rFrHrhr�r`r�r3r.r�r)r3rYr�rZr�r4r4r5�
test_Iteratorfs$ � z"TestOneTrickPonyABCs.test_Iteratorc
Cs�Gdd�d�}Gdd�d�}Gdd�d�}dddd	d
ddgit�td�tg�|�|�|�g}|D]}|�|t�|�tt|�t�tt|���q0Gd
d�d�}Gdd�dt�}dd�}|�dd��|�|�g}	|	D]}|�|t	�|�|t�|�
tt|�t�tt|���qi|�tdd�|�}
|�|
t|
��|�|
�
d�t|
��|�d|
�
d��|�|
���|�t|
jt�|�td|
jttd��|�t|
jt��Gdd�dt�}|�t|�j�Gdd�dt�}|�t|�j�dS)Nc@�.eZdZdd�Zdd�Zdd�Zd
dd	�ZdS)z4TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1cSrkrAr4rCr4r4r5r{�rz=TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.__iter__cSr]rAr4rCr4r4r5r��rz=TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.__next__cSr]rAr4rCr4r4r5rU�rz:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.closeNcSr]rAr4rGr4r4r5rF�rz:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.throwrL)r2rPrQr{r�rUrFr4r4r4r5�NonGen1��
r�c@�,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
z4TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2cSrkrAr4rCr4r4r5r{�rz=TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.__iter__cSr]rAr4rCr4r4r5r��rz=TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.__next__cSr]rAr4rCr4r4r5rU�rz:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.closecSr@rAr4rAr4r4r5rC�rz9TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.sendN)r2rPrQr{r�rUrCr4r4r4r5�NonGen2��
r�c@�&eZdZdd�Zdd�Zddd�ZdS)	z4TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3cSr]rAr4rCr4r4r5rU�rz:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3.closecSr@rAr4rAr4r4r5rC�rz9TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3.sendNcSr]rAr4rGr4r4r5rF�rz:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3.throwrL)r2rPrQrUrCrFr4r4r4r5�NonGen3��r�r=rvrwr�r�r4c@�6eZdZdd�Zdd�Zdd�Zdd�Zdd
d�Zd	S)
z0TestOneTrickPonyABCs.test_Generator.<locals>.GencSrkrAr4rCr4r4r5r{�rz9TestOneTrickPonyABCs.test_Generator.<locals>.Gen.__iter__cSr]rAr4rCr4r4r5r��rz9TestOneTrickPonyABCs.test_Generator.<locals>.Gen.__next__cSr]rAr4rCr4r4r5rU�rz6TestOneTrickPonyABCs.test_Generator.<locals>.Gen.closecSr@rAr4rAr4r4r5rC�rz5TestOneTrickPonyABCs.test_Generator.<locals>.Gen.sendNcSr]rAr4rGr4r4r5rF�rz6TestOneTrickPonyABCs.test_Generator.<locals>.Gen.throwrL)r2rPrQr{r�rUrCrFr4r4r4r5�Gen��r�c�&eZdZdd�Zd�fdd�	Z�ZS)z7TestOneTrickPonyABCs.test_Generator.<locals>.MinimalGencSr@rAr4rAr4r4r5rC�r�z<TestOneTrickPonyABCs.test_Generator.<locals>.MinimalGen.sendNcrDrArErGr�r4r5rF�rKz=TestOneTrickPonyABCs.test_Generator.<locals>.MinimalGen.throwrL)r2rPrQrCrFr�r4r4r�r5�
MinimalGen��r�csr�r�r4r4r4r4r5r6�r4z0TestOneTrickPonyABCs.test_Generator.<locals>.gencss�dVSrAr4r4r4r4r5r
�s�z5TestOneTrickPonyABCs.test_Generator.<locals>.<lambda>rCrFrTz^huhu$�huhuc@r�)z8TestOneTrickPonyABCs.test_Generator.<locals>.FailOnClosecSr@rAr4rAr4r4r5rC�rz=TestOneTrickPonyABCs.test_Generator.<locals>.FailOnClose.sendcW�t�rA�r��r3r�r4r4r5rF�rz>TestOneTrickPonyABCs.test_Generator.<locals>.FailOnClose.throwN�r2rPrQrCrFr4r4r4r5�FailOnClose�r�r�c@r�)z@TestOneTrickPonyABCs.test_Generator.<locals>.IgnoreGeneratorExitcSr@rAr4rAr4r4r5rC�rzETestOneTrickPonyABCs.test_Generator.<locals>.IgnoreGeneratorExit.sendcWr]rAr4r�r4r4r5rF�rzFTestOneTrickPonyABCs.test_Generator.<locals>.IgnoreGeneratorExit.throwNr�r4r4r4r5�IgnoreGeneratorExit�r�r�)r/rrrr�rrerdr.rr�rr<rC�nextr:r�rUr�r�rF�assertRaisesRegex�
StopIteration�RuntimeError)
r3r�r�r�rYr�r�r�r6rZ�mgenr�r�r4r4r5�test_Generators@�  �z#TestOneTrickPonyABCs.test_GeneratorcCsHGdd�d�}Gdd�d�}Gdd�d�}dddd	d
ddgit�td�tg�|�|�|�g}|D]}|�|t�|�tt|�t�tt|���q0Gd
d�d�}Gdd�dt�}dd�}|�|�|�g}	|	D]}|�|t	�|�|t�|�
tt|�t�tt|���qe|�tdd�dd�}
|�}|�||�
��|�|
|�d��|
|����|�d|
|�d���|�|
|����|�t��|
|�t��Wd�n1s�wYGdd�dt�}|�t��|
|����Wd�n1s�wYGdd�dt�}
|�t��|
|
����Wd�dS1�swYdS)Nc@r�)z:TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1cSrkrAr4rCr4r4r5rl�rzDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.__aiter__cSr]rAr4rCr4r4r5rr�rzDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.__anext__cSr]rAr4rCr4r4r5�aclose�rzATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.acloseNcSr]rAr4rGr4r4r5�athrow�rzATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.athrowrL)r2rPrQrlrrr�r�r4r4r4r5�NonAGen1�r�r�c@r�)
z:TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2cSrkrAr4rCr4r4r5rl�rzDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.__aiter__cSr]rAr4rCr4r4r5rr�rzDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.__anext__cSr]rAr4rCr4r4r5r��rzATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.aclosecSr@rAr4rAr4r4r5�asend�rz@TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.asendN)r2rPrQrlrrr�r�r4r4r4r5�NonAGen2�r�r�c@r�)	z:TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3cSr]rAr4rCr4r4r5r��rzATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3.aclosecSr@rAr4rAr4r4r5r��rz@TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3.asendNcSr]rAr4rGr4r4r5r��rzATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3.athrowrL)r2rPrQr�r�r�r4r4r4r5�NonAGen3�r�r�r=rvrwr�r�r4c@r�)
z5TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.GencSrkrAr4rCr4r4r5rl�rz?TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.__aiter__c�r9rAr4rCr4r4r5rr���z?TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.__anext__c�r9rAr4rCr4r4r5r��r�z<TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.aclosec���|SrAr4rAr4r4r5r��r�z;TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.asendNc�r9rAr4rGr4r4r5r��r�z<TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.athrowrL)r2rPrQrlrrr�r�r�r4r4r4r5r��r�r�cr�)z=TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.MinimalAGenc�r�rAr4rAr4r4r5r��r;zCTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.MinimalAGen.asendNc�s�t��|||�IdHdSrA)r�r�rGr�r4r5r��s�zDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.MinimalAGen.athrowrL)r2rPrQr�r�r�r4r4r�r5�MinimalAGen�r�r�cSs�dVdSr�r4r4r4r4r5r6�r4z5TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.genr�r�c
SsRd}	z|�d�Wnty'}z|jr|jdnd}WYd}~|Sd}~wwq)NTr)rCr�r�)r7r��exr4r4r5�	run_async�s
���z;TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.run_asyncrTc@r�)z=TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.FailOnClosec�r�rAr4rAr4r4r5r�
r�zCTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.FailOnClose.asendc�rorAr�r�r4r4r5r�r�zDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.FailOnClose.athrowN�r2rPrQr�r�r4r4r4r5r�	r�r�c@r�)zETestOneTrickPonyABCs.test_AsyncGenerator.<locals>.IgnoreGeneratorExitc�r�rAr4rAr4r4r5r�r�zKTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.IgnoreGeneratorExit.asendc�r9rAr4r�r4r4r5r�r�zLTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.IgnoreGeneratorExit.athrowNr�r4r4r4r5r�r�r�)r/rrrr�rrerdr.rr�rr<rlr�rrr:r�r�r�r�r�r�)r3r�r�r�rYr�r�r�r6rZr�r�r�r�r4r4r5�test_AsyncGenerator�sF�  ��$�z(TestOneTrickPonyABCs.test_AsyncGeneratorcCs�ddddt�dd�dD�g}|D]}|�|t�|�tt|�t�tt|���qt�t�t	�t
�t�t�t
�t
���t
���t
���g
}|D]}|�|t�|�tt|�t�tt|���qF|�td�|�td�dS)Nr=rvrwcsrxrAr4ryr4r4r5r:rzz2TestOneTrickPonyABCs.test_Sized.<locals>.<genexpr>r4r�)r3rrr�rrerdrirBr�rFr/rhrHr�r`r�r.r�rr�r3rYr�rZr4r4r5�
test_Sizeds � � zTestOneTrickPonyABCs.test_Sizedc
Cs�ddddt�dd�dD�g}|D]}|�|t�|�tt|�t�tt|���qt�t�t	�t
�t�t�t
�t
���t
���g	}|D]}|�|t�|�tt|�t�tt|���qB|�td�|�td�dS)Nr=rvrwcsrxrAr4ryr4r4r5r:,rzz6TestOneTrickPonyABCs.test_Container.<locals>.<genexpr>r4r�)r3rrr�rrerdrirBr�rFr/rhrHr�r`r.r�rrr�r4r4r5�test_Container)s � � z#TestOneTrickPonyABCs.test_Containerc
Cs�dddddddgit�t�dd�dD�g}|D]}|�|t�|�tt|�t�tt|���qd	d
�ttt	t
tjgjg}|D]}|�
|t�|�tt|�t�tt|���q>|�td�|�td�dS)Nr=rvrwr�r�r4csrxrAr4ryr4r4r5r:?rzz5TestOneTrickPonyABCs.test_Callable.<locals>.<genexpr>cSr]rAr4r4r4r4r5r
Drz4TestOneTrickPonyABCs.test_Callable.<locals>.<lambda>�__call__)r/r3rrr�rrerdrTr�rarFrKr.r�rrr�r4r4r5�
test_Callable;s$� � z"TestOneTrickPonyABCs.test_CallablecCsLtttttttfD]}Gdd�d|�}|�t||��|�	tt
|��q	dS)Nc@r�)z7TestOneTrickPonyABCs.test_direct_subclassing.<locals>.CNr�r4r4r4r5r�Qr�r�)rrrrrrrr�rr�rT�r3r�r�r4r4r5�test_direct_subclassingOs
�z,TestOneTrickPonyABCs.test_direct_subclassingcCsXtttttttfD] }Gdd�d�}|�t||�|j	�|�
|�|�t||��q	dS)Nc@r�)z1TestOneTrickPonyABCs.test_registration.<locals>.CN)r2rPrQrr4r4r4r5r�Xr�r�)rrrrrrrr�rr2rVr�r�r4r4r5�test_registrationVs
�z&TestOneTrickPonyABCs.test_registrationN)r2rPrQr[rbrjrnrur�r�r�r�r�r�r�r�r�r�r�r4r4r4r5r5�s"4C"9XGQr5c@s>eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�WithSetr4cCst|�|_dSrA)r/r9)r3�itr4r4r5r�`�zWithSet.__init__cC�
t|j�SrA�rar9rCr4r4r5r�cr"zWithSet.__len__cCr�rA�rr9rCr4r4r5r{fr"zWithSet.__iter__cC�
||jvSrA�r9r�r4r4r5r�ir"zWithSet.__contains__cC�|j�|�dSrA)r9r^r�r4r4r5r^lrEzWithSet.addcCr�rA)r9�discardr�r4r4r5r�orEzWithSet.discardN�r4)	r2rPrQr�r�r{r�r^r�r4r4r4r5r�^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+d,�Zd-d.�Zd/d0�Zd1S)2�TestCollectionABCscCs\ttfD]}|�|�t�|�t|t��q|�tddd�Gdd�dt�}|�|��dS)Nr�r{r�c@r)z*TestCollectionABCs.test_Set.<locals>.MySetcSr�r�r4�r3r�r4r4r5r�~r�z7TestCollectionABCs.test_Set.<locals>.MySet.__contains__cSr�rr4rCr4r4r5r��r�z2TestCollectionABCs.test_Set.<locals>.MySet.__len__cSr}rAr~rCr4r4r5r{��z3TestCollectionABCs.test_Set.<locals>.MySet.__iter__N�r2rPrQr�r�r{r4r4r4r5�MySet}rar�)r/rhr.rr�rrr1)r3�sampler�r4r4r5�test_SetxszTestCollectionABCs.test_SetcCs8Gdd�dt�}|�|�}}|�t|�t|�k�dS)Nc@�4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)z8TestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSetcSsgd�|_dS)N�rSrTrZ��contentsrCr4r4r5r��r�zATestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__init__cSr�rAr�r�r4r4r5r��r"zETestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__contains__cSr�rA�rar�rCr4r4r5r��r"z@TestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__len__cSr�rA�rr�rCr4r4r5r{�r"zATestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__iter__cSs|��SrA)�_hashrCr4r4r5r�r�zATestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__hash__N)r2rPrQr�r�r�r{rr4r4r4r5�OneTwoThreeSet��r�)rr�r1)r3r�r,r-r4r4r5�
test_hash_Set�sz TestCollectionABCs.test_hash_SetcCsLGdd�dt�}|d�}|d�}|d�}|�|�|��|�|�|��dS)Nc@r�)
z5TestCollectionABCs.test_isdisjoint_Set.<locals>.MySetcS�
||_dSrAr��r3�itrr4r4r5r��r"z>TestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__init__cSr�rAr�r�r4r4r5r��r"zBTestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__contains__cSr�rAr�rCr4r4r5r{�r"z>TestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__iter__cS�tdd�|jD��S)NcS�g|]}|�qSr4r4ryr4r4r5r9��zQTestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__len__.<locals>.<listcomp>r�rCr4r4r5r��rKz=TestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__len__N�r2rPrQr�r�r{r�r4r4r4r5r���
r�r�)r�r]�)rSr]r)rr��
isdisjointr��r3r��s1�s2�s3r4r4r5�test_isdisjoint_Set�s	z&TestCollectionABCs.test_isdisjoint_SetcCs�Gdd�dt�}|d�}|d�}|d�}|d�}|�||k�|�||k�|�||k�|�||k�|�||k�|�||�|�||�dS)Nc@r�)
z3TestCollectionABCs.test_equality_Set.<locals>.MySetcSr�rAr�r�r4r4r5r��r"z<TestCollectionABCs.test_equality_Set.<locals>.MySet.__init__cSr�rAr�r�r4r4r5r��r"z@TestCollectionABCs.test_equality_Set.<locals>.MySet.__contains__cSr�rAr�rCr4r4r5r{�r"z<TestCollectionABCs.test_equality_Set.<locals>.MySet.__iter__cSr�)NcSr�r4r4ryr4r4r5r9�r�zOTestCollectionABCs.test_equality_Set.<locals>.MySet.__len__.<locals>.<listcomp>r�rCr4r4r5r��rKz;TestCollectionABCs.test_equality_Set.<locals>.MySet.__len__Nrr4r4r4r5r��rr�r5r�)rZr�)rr�r�r:�assertNotEqual)r3r�rrr�s4r4r4r5�test_equality_Set�s	z$TestCollectionABCs.test_equality_SetcCs<Gdd�dt�}|d�}|d�}||@}|�||d��dS)Nc@r�)
z5TestCollectionABCs.test_arithmetic_Set.<locals>.MySetcSr�rAr�r�r4r4r5r��r"z>TestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__init__cSr�rAr�r�r4r4r5r��r"zBTestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__contains__cSr�rAr�rCr4r4r5r{�r"z>TestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__iter__cSr�)NcSr�r4r4ryr4r4r5r9�r�zQTestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__len__.<locals>.<listcomp>r�rCr4r4r5r��rKz=TestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__len__Nrr4r4r4r5r��rr�r�)rZr�r])rZ)rr:rr4r4r5�test_arithmetic_Set�s
	z&TestCollectionABCs.test_arithmetic_SetcCsT|�t�t�|�ttt��|�t�t�|�ttt��|�tddddd�dS)Nr�r{r�r^r�)	r.r/r r�rrrhr�rrCr4r4r5�test_MutableSet�s�z"TestCollectionABCs.test_MutableSetcCs,td�}|td�M}|�t|�td��dS)N�abcd�cdef�cd)r�r:r/�r3rTr4r4r5�test_issue_5647�sz"TestCollectionABCs.test_issue_5647cCs\Gdd�dt�}gd�}||�}|��}|�t|�t|�d�|�||�|�||�dS)Nc@sLeZdZdgZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)z1TestCollectionABCs.test_issue_4920.<locals>.MySet�__sNcSs|durg}t|�|_dSrA)r/�	_MySet__s)r3r`r4r4r5r��sz:TestCollectionABCs.test_issue_4920.<locals>.MySet.__init__cSr�rA)r)r3rrr4r4r5r��r"z>TestCollectionABCs.test_issue_4920.<locals>.MySet.__contains__cSr�rA)rrrCr4r4r5r{�r"z:TestCollectionABCs.test_issue_4920.<locals>.MySet.__iter__cSr�rA)rarrCr4r4r5r��r"z9TestCollectionABCs.test_issue_4920.<locals>.MySet.__len__cSs||jv}|j�|�|SrA)rr^�r3rrr�r4r4r5r^��
z5TestCollectionABCs.test_issue_4920.<locals>.MySet.addcSs||jv}|j�|�|SrA)rr�rr4r4r5r��rz9TestCollectionABCs.test_issue_4920.<locals>.MySet.discardcSsdtt|��S)Nz	MySet(%s))rdrFrCr4r4r5�__repr__�rEz:TestCollectionABCs.test_issue_4920.<locals>.MySet.__repr__rA)r2rPrQr�r�r�r{r�r^r�rr4r4r4r5r��s
r�)r]�+rTrSrS)r r�r:rar�rb)r3r�r`rTrSr4r4r5�test_issue_4920�sz"TestCollectionABCs.test_issue_4920cCs~t�}ttd��}t|�}||8}|�||�t|�}||N}|�||�t|�}||M}|�||�||O}|�||�dS)Nr�)r�rgr:)r3�empty�fullrTr4r4r5�test_issue8750�sz!TestCollectionABCs.test_issue8750cCshGdd�dt�}Gdd�dt�}|�}|�}|�||k�|�||k�|�||k�|�||k�dS)Nc@r)z;TestCollectionABCs.test_issue16373.<locals>.MyComparableSetcSr�r�r4r�r4r4r5r�
r�zHTestCollectionABCs.test_issue16373.<locals>.MyComparableSet.__contains__cSr�rr4rCr4r4r5r�r�zCTestCollectionABCs.test_issue16373.<locals>.MyComparableSet.__len__cSr}rAr~rCr4r4r5r{r�zDTestCollectionABCs.test_issue16373.<locals>.MyComparableSet.__iter__Nr�r4r4r4r5�MyComparableSet	rarc@r�)z>TestCollectionABCs.test_issue16373.<locals>.MyNonComparableSetcSr�r�r4r�r4r4r5r�r�zKTestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__contains__cSr�rr4rCr4r4r5r�r�zFTestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__len__cSr}rAr~rCr4r4r5r{r�zGTestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__iter__cS�tSrA��NotImplementedr�r4r4r5r&r�zETestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__le__cSrrArr�r4r4r5r$r�zETestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__lt__N)r2rPrQr�r�r{r&r$r4r4r4r5�MyNonComparableSetr�r!)rr�r�)r3rr!�cs�ncsr4r4r5�test_issue16373sz"TestCollectionABCs.test_issue16373cCs�Gdd�dt�}td�}tj}||||g�}|t||d��t||d��t||d��g}|D]
}|D]}|�||�q1q-|�|�	|�d�|�|�	|�d�|�|�
|�d�|�|�
|�d�dS)Nc@r)z:TestCollectionABCs.test_issue26915.<locals>.CustomSequencecSr�rA��_seq�r3�seqr4r4r5r�&r"zCTestCollectionABCs.test_issue26915.<locals>.CustomSequence.__init__cS�
|j|SrAr%�r3r�r4r4r5r�(r"zFTestCollectionABCs.test_issue26915.<locals>.CustomSequence.__getitem__cSr�rA)rar&rCr4r4r5r�*r"zBTestCollectionABCs.test_issue26915.<locals>.CustomSequence.__len__N�r2rPrQr�r�r�r4r4r4r5�CustomSequence%rar,�nanr�rrSrT)r&rfr�NEVER_EQr$r#r%rbr:r��count)r3r,r-r=r(�
containers�	container�elemr4r4r5�test_issue26915#s"��z"TestCollectionABCs.test_issue26915cCs|�t|�t|��dSrA)�assertSetEqualr/)r3rrr4r4r5�
assertSameSet>sz TestCollectionABCs.assertSameSetcCs(Gdd�dt�}|gd�d�}|dh}|�||�|�d|j�|�ddh|�|d	hB}|�||�|�d|j�|�hd
�|�|dh@}|�||�|�d|j�|�dh|�|dd	hA}|�||�|�d|j�|�hd�|�|dd	gN}|�||�|�d|j�|�hd�|�dS)
z=Verify _from_iterable overridden to an instance method works.c@r))zOTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterablecSs |std��||_t|�|_dS)Nzcreated_by must be specified)r��
created_byr/�_values)r3r�r6r4r4r5r�EszXTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.__init__cSst|�|d�S)N�
from_iterable)re)r3r�r4r4r5�_from_iterableKr�z^TestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable._from_iterablecSr�rA�r7rAr4r4r5r�Nr"z\TestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.__contains__css�|jEdHdSrAr:rCr4r4r5r{Qs�zXTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.__iter__cSr�rA)rar7rCr4r4r5r�Tr"zWTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.__len__cSr�rA)r7r^rAr4r4r5r^WrEzSTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.addcSr�rA)r7r�rAr4r4r5r�ZrEzWTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.discardN)
r2rPrQr�r9r�r{r�r^r�r4r4r4r5�SetUsingInstanceFromIterableDsr;r�r;rSr8rTrZr�>rSrTrZr�>rSrTr�N)r r.r:r6)r3r;�impl�actualr4r4r5�test_Set_from_iterableBs,


z)TestCollectionABCs.test_Set_from_iterablecCs(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��||
kWd�n	1�s4wY|�t��||kWd�n	1�sNwY|�t��||	kWd�n	1�shwY|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�t��||
kWd�n	1�s�wY|�t��||kWd�n	1�s�wY|�t��||	kWd�n	1�s�wY|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�t��||
kWd�n	1�sNwY|�t��||kWd�n	1�shwY|�t��||	kWd�n	1�s�wY|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�t��||
kWd�n	1�s�wY|�t��||kWd�n	1�s�wY|�t��||	kWd�n	1�swY|�||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>.ListSetr4cSs*g|_|D]
}||jvr|j�|�qdSrA)r9rK)r3�elementsr2r4r4r5r�}s
��zUTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__init__cSr�rAr�)r3r2r4r4r5r��r"zYTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__contains__cSr�rAr�rCr4r4r5r{�r"zUTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__iter__cSr�rAr�rCr4r4r5r��r"zTTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__len__cSsd�|j�S)Nz	Set({!r}))r1r9rCr4r4r5r�r�zUTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__repr__Nr�)r2rPrQr�r�r{r�rr4r4r4r5�ListSet|s
r@rN�bcd�abcde�abccba�bcddcb�
abcdeedcba)rr/rFr5r�r�r�r�)r3r@�r1�r2�r3�f1�f2�f3�l1�l2�l3�target�
fwd_target�
rev_targetr4r4r5�(test_Set_interoperability_with_real_setszs�	
�
�
�
�
�
�
�
�
�
�
�
�z;TestCollectionABCs.test_Set_interoperability_with_real_setscCs�idhdhdhdhdhhd�ddddhhd	�d
dht�t�t�htd�ht�hhtd
��htd
��hd�httjdtjd��g}|D]}t|�}|jt|�t�	|�|d�qGdS)NrSr-grN>rSrTrZr�r[�e>r�r,r-�abFTr-��>�,r[��)�msg)
r�rfrhrgrf�maxsizer:r1rr�)r3�setsrT�fsr4r4r5�test_Set_hash_matches_frozensets��z2TestCollectionABCs.test_Set_hash_matches_frozensetcCsltfD]}|�|�t�|�t|t��q|�tdddd�Gdd�dt�}|�|��|�tt	|��dS)Nr�r{r�r�c@r)z2TestCollectionABCs.test_Mapping.<locals>.MyMappingcSr�rr4rCr4r4r5r�%r�z:TestCollectionABCs.test_Mapping.<locals>.MyMapping.__len__cSr�rA)r0)r3r�r4r4r5r�'r�z>TestCollectionABCs.test_Mapping.<locals>.MyMapping.__getitem__cSstd�S)Nr4r~rCr4r4r5r{)r�z;TestCollectionABCs.test_Mapping.<locals>.MyMapping.__iter__N)r2rPrQr�r�r{r4r4r4r5�	MyMapping$rar])
rHr.r!r�rrr1r�r�r�)r3r�r]r4r4r5�test_Mappings
�zTestCollectionABCs.test_Mappingc	CsDtfD]}|�|�t�|�t|t��q|�tdddddd�dS)Nr�r{r�r��__setitem__�__delitem__)rHr.r"r�rr�r3r�r4r4r5�test_MutableMapping.s
�z&TestCollectionABCs.test_MutableMappingcCst�}d|d<|�|��t�|�|��t�|�|��t�|�|��t�|�|��t�|�|��t	�t�}d|d<|��dhB}|�|t
�t|�d|d<|�t
|�ddg�t�}d|d<|��dhB}|�|t
�t|�d|d<|�|ddh�dS)Nr]�red�orange��blue)rdrZ)rcr])rr.r�rr#r�rr%r`r$r/rFr:�sorted)r3�mymapr\r4r4r5�test_MutableMapping_subclass5s,z/TestCollectionABCs.test_MutableMapping_subclasscCs�ttttfD]}|�|�t�|�t|t��q|�td�t�|�ttt��|�t	d�t�|�tt	t��|�ttt��|�
tdddd�dS)Nr�r�r�r{r�r�)r�rFrirBr.r&r�rrg�
memoryviewrrar4r4r5�
test_SequencePs�z TestCollectionABCs.test_Sequencec

s�Gdd�dt�}�fdd�}ttfD]S}|d�}ddgttdt|�d	��}||�}t|�d
hBD]2}||||f�tdt|�d	�D]}|||||f�tdt|�d	�D]}	||||||	f�qWqDq2qdS)Nc@s&eZdZd	dd�Zdd�Zdd�ZdS)
zATestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclassr4cSr�rA�r(r'r4r4r5r�^r"zJTestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclass.__init__cSr)rArlr*r4r4r5r�ar"zMTestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclass.__getitem__cSr�rA)rar(rCr4r4r5r�dr"zITestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclass.__len__Nr�r+r4r4r4r5�SequenceSubclass]s
rmcs�z|j|�}Wn&ty-��t��|j|�Wd�YdS1s%wYYdSw|j|�}��||d||f�dS)Nz
%r.index%s)r�r�r�r:)�seq1�seq2�
index_args�expectedr=rCr4r5�assert_index_samehs&��
�zBTestCollectionABCs.test_Sequence_mixins.<locals>.assert_index_same�abracadabrai���i������rZr\)r&rFrBrgrar/)
r3rmrr�ty�	nativeseq�indexes�seqseq�letterr��stopr4rCr5�test_Sequence_mixins\s$�����z'TestCollectionABCs.test_Sequence_mixinscCs�ttfD]}|�|�t�|�t|t��qtttfD]}|�	|�t�|�
t|t��q|�	td�t�|�
ttt��|�tdd�dS)Nr�r�r�)
rirer.r(r�rrBrFr�rr�rjrrar4r4r5�test_ByteStringsz"TestCollectionABCs.test_ByteStringc
Cs�tttfD]}|�|�t�|�t|t��qttt	fD]}|�
|�t�|�t|t��q|�ttt��|�tddddddd�dS)Nr�r{r�r�r_r`�insert)
r�rBrirr'r�rrFrerr.r�rrar4r4r5�test_MutableSequence�s

�z'TestCollectionABCs.test_MutableSequencecCs4Gdd�dt�}|�}|�d�|�d�|�t|�d�|�|dd�|��|�|dd�|��|�t|�d�|�d�|�t|�d�|d	7}|�t|�d
�|�|dd�|��|�t|�d�d
}|�}|�||�|��|�|�|�|�|�t|�t|��|�t	|�t	|��dS)Nc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)zOTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclasscSs
g|_dSrA��lstrCr4r4r5r��r"zXTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__init__cSs||j|<dSrAr�r3r�rBr4r4r5r_�r�z[TestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__setitem__cSr)rArr*r4r4r5r��r"z[TestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__getitem__cSr�rA)rar�rCr4r4r5r��r"zWTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__len__cSs|j|=dSrArr*r4r4r5r`�r�z[TestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__delitem__cSs|j�||�dSrA)r�r}r�r4r4r5r}�szVTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.insertN)	r2rPrQr�r_r�r�r`r}r4r4r4r5�MutableSequenceSubclass�sr�r)rSrTrZr�r]rZrSr�r�rr-rV�ABCD)
r'rK�extendr:ra�reverser��remove�clearrF)r3r��mssr`�mss2r4r4r5�test_MutableSequence_mixins�s2




z.TestCollectionABCs.test_MutableSequence_mixinscCs@|�t��Gdd�dt�}Wd�dS1swYdS)Nc@seZdZejejBZdS)z9TestCollectionABCs.test_illegal_patma_flags.<locals>.BothN)r2rPrQr&�	__flags__r!�__abc_tpflags__r4r4r4r5�Both�sr�)r�r�r)r3r�r4r4r5�test_illegal_patma_flags�s"�z+TestCollectionABCs.test_illegal_patma_flagsN)r2rPrQr�r�rrrr
rrrr$r3r5r>rRr\r^rbrirkr{r|r~r�r�r4r4r4r5r�rs48#2r�c@r�)�CounterSubclassWithSetItemcOr�r��r�r	r�r�r4r4r5r��r�z#CounterSubclassWithSetItem.__init__cCsd|_t�|||�dSr�)r�r	r_)r3rprBr4r4r5r_�sz&CounterSubclassWithSetItem.__setitem__N)r2rPrQr�r_r4r4r4r5r���r�c@r�)�CounterSubclassWithGetcOr�r�r�r�r4r4r5r��r�zCounterSubclassWithGet.__init__cCsd|_t�|||�Sr�)r�r	rc)r3rp�defaultr4r4r5rc�szCounterSubclassWithGet.getN)r2rPrQr�rcr4r4r4r5r��r�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),�TestCounterc
Cs�td�}|�|tdddd���|�|tdddd��|�|t�|�|t�|�ttt��|�ttt��|�t|�d�|�t|�	��d�|�t
|�	��gd��|�t
|���gd��|�t
|�gd��|�t
|���gd��|�|d	d�|�|d
d�|�|�
d�d
�|�|�
d
�d�|�|�d	d�d�|�|�d
d�d�|�|tdddd��|�t|�d�|�|��gd��td�D]}|�|�|�gd�d|��q�|�d�|���d�|dd7<|d	d8<|d=|d=|dd8<d|d<|dd7<|�|tdddddd��|�d�|���d�|�|�d�d�|�d|�td�D]}|��\}}|�||��q@|��|�|i�|�t|�d�|�ttjd�|�tt|�|�tddd��|jdd �|�td!��|��|�d"�|�d#�|��|�|td$d%ddd&��|�|�dd�d�|�|dd�|�|�dd�d�|�|dd�dS)'N�abcabarZrTrSrYr)rZrTrS))r,rZr��rWrSr-r\rrWTFr�z!Counter({'a': 3, 'b': 2, 'c': 1})r]r��aaabbcr,ror<rsrwr����)r,r-rorsrw�aaaaffffz	Counter()rNr+)rW�Paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbb� aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb�cdci+r�r�) r	r:r.rHr!r�rra�sumr�rFr�r`r�rcrd�most_commonrgr�r?r�r�r�r�r��NotImplementedErrorrr�r1rr��
setdefault)r3rWr�r2�cntr4r4r5rx�sx��

zTestCounter.test_basicscCs�|�ttdd����dg�|�ttdd����dg�|�ttdd����dg�|�ttd�|�ttdd�|�ttj�dS)Nr=rC�r3r=�r��r�r=�r�Nr4)r:rFr	r`r�r�r�rCr4r4r5�	test_init"szTestCounter.test_initcCs"tdddd�}|�|��d�dS)Nr�r]rrY�)r	r:�total�r3rWr4r4r5�
test_total*szTestCounter.test_totalcs�|�ttd����gd��|�ttd����gd��|�ttd����gd��d}d}d	d
�tt�||��D���fdd�}t|�t|�}}|�||
��|�||��|�|||��|�|||��|�|||B��|�|||@��t|�t|�}}||7}|�||��t|�t|�}}||8}|�||��t|�t|�}}||O}|�||��t|�t|�}}||M}|�||��t|�t|�}}|�	|�|�||��t|�t|�}}|�
|�|�||��dS)
Nrs�)r,r]r�)rSrTr�)rorS�xyzpdqqdpzyx))r�rT)r�rT)r\rT)r�rT)rorT)rIrTzabracadabra simsalabim)r,r,r,r,r,r,r,r-r-r-rSrSrWro� rTrTr�r�r�r��l�aaabbcdddeefggghhijjjkkl�abbcccdeefffhkkllllmmnnocSsi|]\}}||�qSr4r4)r8r�ryr4r4r5�
<dictcomp>Asz7TestCounter.test_order_preservation.<locals>.<dictcomp>cs�fdd�|D�}|t|�kS)z6Return true if the letters occur in the expected ordercsg|]}�|�qSr4r4)r8ry��orderr4r5r9DszRTestCounter.test_order_preservation.<locals>.correctly_ordered.<locals>.<listcomp>)rg)r(�	positionsr�r4r5�correctly_orderedBsz>TestCounter.test_order_preservation.<locals>.correctly_ordered)r:rFr	r`r?r>rHrr�r�subtract)r3�ps�qsr�r�rIr4r�r5r�.sL���

z#TestCounter.test_order_preservationcCs�t�}|jdd�|�t|���dg�t�}|jdd�|�t|���dg�t�}|jdd�|�t|���dg�|�tt�jd�|�tt�jii�|�ttj�dS)Nr=rCr�r�r�r�)r	rr:rFr`r�r�r�r4r4r5�test_updategszTestCounter.test_updatec	s�td������fdd�}|����|t����|t����ttjd�D]#}�j|d��|t�t�	�|���Wd�n1sFwYq(|t
t����t�}|���||�|t���dS)Nz)which witch had which witches wrist watchcs*d|�f}��|�|���|��dS)Nz
copy: %s
words: %s)r8r:)�duprX�r3r�r4r5�checkysz'TestCounter.test_copying.<locals>.checkrS)rv)
r	r�r7rlrgrhri�subTestrjrkrmrdr)r3r�rv�update_testr4r�r5�test_copyingus��
zTestCounter.test_copyingcCsXGdd�dt�}|d�}|��}|�||�|�t|�t|��|�t|�t|��dS)Nc@r�)z1TestCounter.test_copy_subclass.<locals>.MyCounterNr�r4r4r4r5�	MyCounter�r�r��slartibartfast)r	r7r:rare)r3r�rWror4r4r5�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)r:rgr	r?r/rHr`rr4r4r5�test_conversions�s
 zTestCounter.test_conversionscCs6tdddd�}|D]}|�||v�|�||�q	dS)Nr�r�rrY)r	r�rb)r3rWr2r4r4r5�"test_invariant_for_the_in_operator�s
�z.TestCounter.test_invariant_for_the_in_operatorc
Cs�tdddd�t�}|�t|�tdd��d}td�D]q}ttdd	�|D���}|jd
ddd�ttd
d	�|D���}|jd
ddd�tjdd�ftjdd�ftjdd�ftjdd�ffD].\}}|||�}|D]}	|�|||	||	�||	||	||f�qh|�	dd	�|�
�D��q]qd}td�D]J}ttdd	�|D���}ttdd	�|D���}tjtjftjtjftjtjffD] \}}
|||�}|
t|���t|����}|�|t�
|d
��q�q�dS)Nr�r�rrYr�rrUcs��|]
}|tdd�fVqdS�r�r�N�r�r8r2r4r4r5r:���z7TestCounter.test_multiset_operations.<locals>.<genexpr>rSr-�rsrwr�csr�r�r�r�r4r4r5r:�r��r�r�r�cSstd||�Sr�r/r�r4r4r5r
��z6TestCounter.test_multiset_operations.<locals>.<lambda>cSstd||�Srr�r�r4r4r5r
�r�cSstd||�Srr�r�r4r4r5r
�rQcSstdt||��Sr)r/�minr�r4r4r5r
�r�css�|]}|dkVqdS)rNr4ryr4r4r5r:�r��abcdefr[csr��rrTNr�r�r4r4r5r:�r�csr�r�r�r�r4r4r5r:�r�)r	r:rHrgr�__add__�__sub__�__or__�__and__r�r�r/r?r)
r3rWr?r�r�rI�	counterop�numberopr�r��setop�counter_result�
set_resultr4r4r5�test_multiset_operations�sB�

��



�
��z$TestCounter.test_multiset_operationscCs�d}td�D]c}ttdd�|D���}|jdddd�ttd	d�|D���}|jdddd
�tjtjftjtjftjtj	ftj
tjffD]$\}}|��}t
|�}|||�}	|||�}
|�|
|	�|�t
|
�|�qDqdS)NrrUcsr�r�r�r�r4r4r5r:�r�z6TestCounter.test_inplace_operations.<locals>.<genexpr>rSr-rr�csr�r�r�r�r4r4r5r:�r�r�)rgr	rHr�__iadd__r��__isub__r��__ior__r��__iand__r�r7�idr:)r3r?r�r�rI�
inplace_op�
regular_oprW�c_id�regular_result�inplace_resultr4r4r5�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<rr]r�r�rN�r,r-rWrorsr�rSrTrtrUrVi���)r,r-rWrorsrwr�i����r��i��rO)r,r-rWrorsrwr�r��aaabbcd�	aaaabbccer-r�r=rC)r3����r�)r�r�)r	r�r:rFr`r�r�r�r4r4r5�
test_subtract�s$  
zTestCounter.test_subtractc	CsNtddddddd�}|�t|
�tddddd��|�t|�tdd	��dS)
Nr<rr]r�r�rNr�)rWrorsr�r�)r	r:rHr�r4r4r5�
test_unary�szTestCounter.test_unarycCs0tddd�}t|�}|�d|�|�d|�dS)NrTr+z'a': 2z	'b': None)r	rdrb)r3rWrSr4r4r5�test_repr_nonsortable�sz!TestCounter.test_repr_nonsortablec	Cs�td�}t�}t||�|�|dddddd��t�}t||�|�|tgd���td�}|�|j�|�t|�dddddd��td�}|�|j�|�t|�dddddd��dS)Nrsr]rTrS)r,rSr-rWror�)r,r-rWrorS)	rFrHrr:r
r�r�r�r�)r3�elemsror�rWr4r4r5�test_helper_function�s


� z TestCounter.test_helper_functioncsNttdtd����t��fdd�tt��d�D��}dd�|D�}t|dd�D]|\}}t|���}t|���}|�t||�||B�|�t||�||�|�t||B�||B�|�t||@�||@�|�||k||k�|�||k||k�|�||k||k�|�||k||k�|�||k||k�|�||k||k�q(dS)	NrYrTc3s�|]}t�|�VqdSrA)r)r8rS�rTr4r5r:	s�zTTestCounter.test_multiset_operations_equivalent_to_set_operations.<locals>.<genexpr>rScSsg|]}tt|���qSr4)r	rH)r8�groupsr4r4r5r9	szUTestCounter.test_multiset_operations_equivalent_to_set_operations.<locals>.<listcomp>)�repeat)	rFrrgrr8rar/r?r:)r3�powerset�counters�cp�cq�sp�sqr4r�r5�5test_multiset_operations_equivalent_to_set_operations	s"$�zATestCounter.test_multiset_operations_equivalent_to_set_operationscCs6|�tdddd�td��|�tddd�td��dS�NrZrTrrY�ababar+�babab)r:r	r	rCr4r4r5�test_eq&	szTestCounter.test_eqcCs:|�tdddd�td�k�|�tddd�td�k�dSr��r�r	r�rCr4r4r5�test_le*	szTestCounter.test_lecCs<|�tdddd�td�k�|�tdddd�td�k�dS)NrZrSrrYr�rTr�rCr4r4r5�test_lt.	� zTestCounter.test_ltcCs<|�tdddd�td�k�|�tdddd�td�k�dS)NrTrSrrY�aabrZ�aabdr�rCr4r4r5�test_ge2	rzTestCounter.test_gecCs<|�tdddd�td�k�|�tdddd�td�k�dS)NrZrTrrYrrSr�rCr4r4r5�test_gt6	rzTestCounter.test_gtN)r2rPrQrxr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr4r4r4r5r��s,<9	'r�cCs8tjtd�}t|tttttg}t	j
|�t	�t|�dS)Nr)�doctest�DocTestSuiter!r�r5r�r�rRr*r�run_unittest�run_doctest)r��NamedTupleDocs�test_classesr4r4r5�	test_main?	s�
r�__main__T)r�rA)Err!r7rr�r�rh�randomrr�	itertoolsrrrr6rfr;rrRrrr	r
rrr
rrr�collections.abcrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(�TestCaser*rRr�r�rr3r5r�r�r�r�r�rr2r4r4r4r5�<module>sp0
e;dd		
]

�

Youez - 2016 - github.com/yon3zu
LinuXploit