Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_collections.cpython-311.pyc
�

�Ke]q��
�dZddlZddlZddlZddlZddlZddlZddlmZm	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/m0Z0m1Z1m2Z2ddlm3Z3m4Z4ddlm5Z5Gd�dej6��Z7Gd�dej6��Z8edd��Z9Gd�dej6��Z:Gd�dej6��Z;d�Z<Gd�de;��Z=Gd�d e-��Z>Gd!�d"e;��Z?Gd#�d$e��Z@Gd%�d&e��ZAGd'�d(ej6��ZBd)�ZCeDd*krejE��dSdS)+zUnit 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�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�TestUserObjectsc���|�tt|����tt|����d�|j|j�����dS)Nz&{a} should have all the methods of {b}��a�b)�assertGreaterEqual�set�dir�format�__name__)�selfr.r/s   �?/usr/local/apps/python3/lib/python3.11/test/test_collections.py�_superset_testzTestUserObjects._superset_test sd�������A���K�K���A���K�K�4�;�;��*��*�
<�
�
�	
�	
�	
�	
�	
�c��|���}|�|j|j��|�|j|j��dg|_tj|��}|�|j|j��|�|j|j��|�|j|j��dS)Ni�)�copy�assertIsNot�data�assertEqual�test�assertIs)r5�obj�obj_copys   r6�
_copy_testzTestUserObjects._copy_test*s����8�8�:�:�������8�=�1�1�1������8�=�1�1�1��6����9�S�>�>�������8�=�1�1�1������8�=�1�1�1��
�
�c�h��
�.�.�.�.�.r8c�F�|�tt��dS�N)r7r�str�r5s r6�test_str_protocolz!TestUserObjects.test_str_protocol7s�����J��,�,�,�,�,r8c�F�|�tt��dSrD)r7r�listrFs r6�test_list_protocolz"TestUserObjects.test_list_protocol:������H�d�+�+�+�+�+r8c�F�|�tt��dSrD)r7r
�dictrFs r6�test_dict_protocolz"TestUserObjects.test_dict_protocol=rKr8c�v�t��}|�d��|�|��dS)N�{)r�appendrB�r5r@s  r6�test_list_copyzTestUserObjects.test_list_copy@s2���j�j���
�
�3������������r8c�V�t��}d|d<|�|��dS)N�abcrP)r
rBrRs  r6�test_dict_copyzTestUserObjects.test_dict_copyEs,���j�j����C����������r8N)
r4�
__module__�__qualname__r7rBrGrJrNrSrV�r8r6r+r+s}������
�
�
�/�/�/�-�-�-�,�,�,�,�,�,����
����r8r+c�J�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�TestChainMapc�(�t��}d|d<d|d<|���}d|d<d|d<|�|jddd�ddd	�g��|�|���tddd�
�������|�t
|��d��dD]}|�||���tdddd
������D]/\}}|�|�|d
��|���0|d=|�|jddiddd	�g��|�|���tddd�
�������|�t
|��d��dD]}|�||���tdddd
������D]/\}}|�|�|d
��|���0|�t|��t|��jdzt|��jdzg��|���tj|��fD]�}|�||��|�|j|j��|�
||��|�
|jd|jd��t|jdd�|jdd���D]\}}|�||�����t!t"jdz��D]�}	t#jt#j||	����}|�||��|�|j|j��|�
||��t|j|j��D]\}}|�
|||�����tj|��t-t|����fD]�}|�||��|�|j|j��|�
||��t|j|j��D]\}}|�
|||�����|���}
d|
d<|�|
jddiddiddd	�g��|�|
jjddiddd	�g��|�|
dd��|�|
jdd��dS)N�r.�r/���c�r/rar-�r.r/ra�rU�d)r.r/ra�zz({'c': 30}, {'a': 1, 'b': 2})z({'c': 30}, {'b': 2, 'a': 1})r�)r�	new_childr=�maps�itemsrM�len�assertIn�get�repr�typer4r:r;�zipr?�range�pickle�HIGHEST_PROTOCOL�loads�dumps�deepcopy�eval�parents)r5ra�d�key�k�v�e�m1�m2�proto�fs           r6�test_basicszTestChainMap.test_basicsQsz���J�J����#����#��
�K�K�M�M����#����#�������r�r�"2�"2���N�N�!C�D�D�D���������D�1��b�$9�$9�$9�$?�$?�$A�$A�B�B�B�����Q����#�#�#��	"�	"�C��M�M�#�q�!�!�!�!��1��b�C�0�0�0�6�6�8�8�	/�	/�D�A�q����Q�U�U�1�c�]�]�A�.�.�.�.�
�c�F������3�r�(���N�N�!;�<�<�<���������D�1��R�$8�$8�$8�$>�$>�$@�$@�A�A�A�����Q����#�#�#��	"�	"�C��M�M�#�q�!�!�!�!��1��R�3�/�/�/�5�5�7�7�	/�	/�D�A�q����Q�U�U�1�c�]�]�A�.�.�.�.��
�
�d�1�g�g���G�G��>�>���G�G��>�>� 
�	�	�	�
�����4�9�Q�<�<�'�	&�	&�A����Q��"�"�"����Q�V�Q�V�,�,�,����Q��"�"�"����Q�V�A�Y���q�	�2�2�2��a�f�Q�R�R�j�!�&����*�5�5�
&�
&���B��
�
�b�"�%�%�%�%�
&��6�2�Q�6�7�7�	,�	,�E���V�\�!�U�3�3�4�4�A����Q��"�"�"����Q�V�Q�V�,�,�,����Q��"�"�"��a�f�a�f�-�-�
,�
,���B�� � ��R��+�+�+�+�
,��-��"�"��t�A�w�w�-�-��	,�	,�A�
���Q��"�"�"����Q�V�Q�V�,�,�,����Q��"�"�"��a�f�a�f�-�-�
,�
,���B�� � ��R��+�+�+�+�
,�
�K�K�M�M����#�������3��(�S��H�1�!�n�n�!E�F�F�F�������3�r�(���N�N�)C�D�D�D�����3���#�#�#������3���+�+�+�+�+r8c�4�ddd�}ddd�}t||��}|���}|�|��|�t	|�����t	|�������dS)N�bach�	rembrandt)�music�artzvan gogh�carmen)r��opera)rr:�updater=rIrj)r5�baseline�adjustments�cm�combineds     r6�
test_orderingzTestChainMap.test_ordering�s���$�K�8�8��(�8�<�<��
�k�8�
,�
,���=�=�?�?������$�$�$�����h�n�n�.�.�/�/��b�h�h�j�j�1A�1A�B�B�B�B�Br8c��|�t��jig��|�tddi��jddig��dS�Nr]r^)r=rrirFs r6�test_constructorzTestChainMap.test_constructor�sO���������2�$�/�/�/�����1�Q�%���-��1��w�7�7�7�7�7r8c�"�|�t����|�tii����|�tddii����|�tiddi����dSr�)�assertFalser�
assertTruerFs r6�	test_boolzTestChainMap.test_bool�s~��������$�$�$�����"�b�)�)�*�*�*�����!�A���+�+�,�,�,������a��U�+�+�,�,�,�,�,r8c���Gd�dt��}|tdd���tdd�����}tdddd	�
�����D]!\}}|�|||���"tdddd�
�����D]/\}}|�|�|d��|���0tdddd
�
�����D]\}}|�||v|���|�|�dd��d|��|�|�dd��d��|�|���d��|�t��5|���ddd��dS#1swxYwYdS)Nc��eZdZd�ZdS)�2TestChainMap.test_missing.<locals>.DefaultChainMapc��dS)N��rY�r5rzs  r6�__missing__z>TestChainMap.test_missing.<locals>.DefaultChainMap.__missing__�s���sr8N)r4rWrXr�rYr8r6�DefaultChainMapr��s#������
�
�
�
�
r8r�r]r^r-r_r`rbr��r.r/rary�MTFr.i�i��r/r^)	rrMrjr=rm�pop�popitem�assertRaises�KeyError)r5r�ryr{r|s     r6�test_missingzTestChainMap.test_missing�s2��	�	�	�	�	�h�	�	�	�
�O�D�1��N�N�N�D�2��,<�,<�,<�=�=���1��R�3�/�/�/�5�5�7�7�	&�	&�D�A�q����Q�q�T�1�%�%�%�%��1��R�2�.�.�.�4�4�6�6�	.�	.�D�A�q����Q�U�U�1�b�\�\�1�-�-�-�-��4�4�4�5�9�9�9�?�?�A�A�	(�	(�D�A�q����Q�!�V�Q�'�'�'�'�������s�D�)�)�1�a�0�0�0�������s�D�)�)�4�0�0�0���������h�/�/�/�
�
�
�x�
(�
(�	�	�
�I�I�K�K�K�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�4G�G�Gc���ttdd���t��tddd���tdd	d
dd�
��t��tdd���tddddd���t����}|�d�|��d��|�t	|�����gd���dS)Nr�8[)�j�h�'�\�
)�iryra����	�Mix)r�r/�grar��7�)r}r/r]r^rd�rg�r.r/raryr}��
abcdefghij)
)r.r])r/r�)rar�)ryr�)r}r�)r�r�)r�r�)r�r�)r�r�)r�r)rrr=�joinrIrj�r5rys  r6�test_order_preservationz$TestChainMap.test_order_preservation�s�����a�5�)�)�)��
�
��d�d�d�3�3�3��c�S�C�3�#�>�>�>��
�
��b�B�'�'�'��a�1��Q�!�4�4�4��
�
�	
�	
��	
���������\�2�2�2�����a�g�g�i�i���
$�
$�
$�	%�	%�	%�	%�	%r8c���Gd�dt��}|d���}t|��}d|_t|��|�|jd��dS)Nc��eZdZd�Zd�ZdS)�KTestChainMap.test_iter_not_calling_getitem_on_maps.<locals>.DictWithGetItemc�>�d|_tj|g|�Ri|��dS�NF)�calledr
�__init__�r5�args�kwdss   r6r�zTTestChainMap.test_iter_not_calling_getitem_on_maps.<locals>.DictWithGetItem.__init__�s0��#����!�$�6��6�6�6��6�6�6�6�6r8c�>�d|_tj||��dS�NT)r�r
�__getitem__�r5�items  r6r�zWTestChainMap.test_iter_not_calling_getitem_on_maps.<locals>.DictWithGetItem.__getitem__�s"��"����$�T�4�0�0�0�0�0r8N)r4rWrXr�r�rYr8r6�DictWithGetItemr��s2������
7�
7�
7�
1�
1�
1�
1�
1r8r�r]�r.Fz__getitem__ was called)r
rr�r1r�)r5r�ryras    r6�%test_iter_not_calling_getitem_on_mapsz2TestChainMap.test_iter_not_calling_getitem_on_maps�s|��	1�	1�	1�	1�	1�h�	1�	1�	1�
�O�a� � � ���Q�K�K������A���������#;�<�<�<�<�<r8c�R�ttdd���tdd�����}|�t|��tddd�����|�t|�����tddd�����dS)Nr]r^r-r_r`rbrc)rrMr=rjr�s  r6�test_dict_coercionzTestChainMap.test_dict_coercion�s����T�A��^�^�^�T�B�"�%5�%5�%5�6�6������a���$��a�2�"6�"6�"6�7�7�7�����a�g�g�i�i���$��a�2�*>�*>�*>�?�?�?�?�?r8c�F�t��}d|d<d|d<ddd�}|�|��}|�|jddd�ddd�g��|�||jd	��Gd
�dt
��}t��}d|d<d|d<|dd���}|�|��}|�||jd	��dD]}|�||���tdddd
������D]/\}}|�|�|d
��|���0tddd���}|�dd���}|�|jddd�ddd�g��dS)z#Tests for changes for issue #16613.r]r.r^r/r_r`rbr-rc��eZdZd�Zd�ZdS)�.TestChainMap.test_new_child.<locals>.lowerdictc��t|t��r|���}t�||��SrD)�
isinstancerE�lowerrMr�r�s  r6r�z:TestChainMap.test_new_child.<locals>.lowerdict.__getitem__�s7���c�3�'�'�&��)�)�+�+�C��'�'��c�2�2�2r8c��t|t��r|���}t�||��SrD)r�rEr�rM�__contains__r�s  r6r�z;TestChainMap.test_new_child.<locals>.lowerdict.__contains__�s7���c�3�'�'�&��)�)�+�+�C��(�(��s�3�3�3r8N)r4rWrXr�r�rYr8r6�	lowerdictr��s2������
3�
3�
3�
4�
4�
4�
4�
4r8r�rUre)r.�B�CrfN)	rrhr=rir?rMrlrjrm)r5ra�mryr�rzr{r|s        r6�test_new_childzTestChainMap.test_new_child�s����J�J����#����#���"����
�K�K��N�N�������r�r�"2�"2���N�N�!C�D�D�D��
�
�a�����#�#�#�	4�	4�	4�	4�	4��	4�	4�	4�
�J�J����#����#���I��b�!�!�!��
�K�K��N�N���
�
�a�����#�#�#��	"�	"�C��M�M�#�q�!�!�!�!��1��b�C�0�0�0�6�6�8�8�	/�	/�D�A�q����Q�U�U�1�c�]�]�A�.�.�.�.��1�1�%�%�&�&��
�K�K�"��K�#�#���������"4�"4�A�A�6F�6F�!G�H�H�H�H�Hr8c��ttdd���tdd�����}ttdd�	��td
d�����}|���}tdd�
��}ddg}||z}|�|j|jdt|��zg|jdd����||z}|�||��||z}|�|j|jd|zg|jdd����|�||zj|t|��zg��||z}|�||��|�t��5||zddd��n#1swxYwY|���}||z}|�|j|jdt|��zg|jdd����Gd�dt��}Gd�dt��}t��t��z}|�t|��t��|�t|jd��t��t��|��z}|�t|��t��|�t|jd��t��|��t��z}|�t|��|��|�t|jd��t��t��|��z}|�t|��|��|�t|jd��t��dS)Nr]r^r-rdr�)rary�
rg)r.r}r_)r/ryr`)r.ra)rard)�prrc��eZdZdS)�3TestChainMap.test_union_operators.<locals>.SubclassN�r4rWrXrYr8r6�Subclassr���������Dr8r�c���eZdZ�fd�Z�xZS)�6TestChainMap.test_union_operators.<locals>.SubclassRorc�F��t���|��SrD)�super�__ror__)r5�other�	__class__s  �r6r�z>TestChainMap.test_union_operators.<locals>.SubclassRor.__ror__s����w�w���u�-�-�-r8)r4rWrXr��
__classcell__�r�s@r6�SubclassRorr�s8�������
.�
.�
.�
.�
.�
.�
.�
.�
.r8r�)	rrMr:r=rir��	TypeErrorr?ro)	r5�cm1�cm2�cm3ry�pairs�tmpr�r�s	         r6�test_union_operatorsz!TestChainMap.test_union_operatorss����t�a�1�~�~�~�t�a�1�~�~�~�6�6���t�b�A�����r�Q����8�8���h�h�j�j���2�������7�#���C�i�������C�H�Q�K�$�s�)�)�$;�#K�c�h�q�r�r�l�#K�L�L�L��s�
������c�"�"�"��A�g�������C�H�Q�K�!�O�#C�c�h�q�r�r�l�#C�D�D�D����!�c�'��!�d�3�i�i�-��9�9�9��q�������c�"�"�"��
�
�y�
)�
)�	�	��%�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��h�h�j�j���u��������C�H�Q�K�$�u�+�+�$=�#M�������#M�N�N�N�	�	�	�	�	�x�	�	�	�	.�	.�	.�	.�	.�(�	.�	.�	.��j�j�8�:�:�%���
�
�d�3�i�i��*�*�*��
�
�d�3�8�A�;�'�'��.�.�.��j�j�8�8�:�:�%���
�
�d�3�i�i��*�*�*��
�
�d�3�8�A�;�'�'��.�.�.��h�j�j�8�:�:�%���
�
�d�3�i�i��*�*�*��
�
�d�3�8�A�;�'�'��.�.�.��j�j�;�;�=�=�(���
�
�d�3�i�i��-�-�-��
�
�d�3�8�A�;�'�'��.�.�.�.�.s�F � F$�'F$N)
r4rWrXr�r�r�r�r�r�r�r�r�r�rYr8r6r[r[Os�������:,�:,�:,�xC�C�C�8�8�8�-�-�-����"%�%�%�"=�=�=� @�@�@�
"I�"I�"I�H,/�,/�,/�,/�,/r8r[�TestNTzx y zc��eZdZd�Zd�Zd�Zejej	j
dkd��d���Zejej	j
dkd��d���Ze
jejej	j
dkd��d�����Ze
jd	���Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Ze
jd���Zd�Zd�Zd�ZdS)�TestNamedTuplec��tdd��}|�|jd��|�|jd��|�|jt��|�|jtj��|�|jd��|�ttdd��|�ttdd��|�ttdd��|�ttd	d
��|�ttd	d��|�ttd	d��|�ttd	d
��|�ttd	d��tdd��tdd��tdd��}|�
dt|j����tdd��}|�
dt|j����|�t|j
dg��|�t|j
gd���dS)N�Point�x yrY��x�yzabc%zefg ghi�class�9abcrUzefg g%hiz	abc classz	8efg 9ghiz_efg ghizefg efg ghi�Point0zx1 y2�_za b c�ntzthe quick brown foxzu')�the�quick�)rr��!)r	r=r4�	__slots__rWr��tuple�_fieldsr��
ValueError�assertNotInrnr��_make)r5r�rs   r6�test_factoryzTestNamedTuple.test_factory7s���7�E�*�*��������1�1�1������"�-�-�-�����)�8�4�4�4�����*�E�,=�>�>�>������
�3�3�3����*�j�&�)�D�D�D����*�j�'�9�E�E�E����*�j�&�)�D�D�D����*�j�%��D�D�D����*�j�%��E�E�E����*�j�%��E�E�E����*�j�%��D�D�D����*�j�%��G�G�G��8�W�%�%�%��3�� � � �
��3�
4�
4������t�B�J�/�/�0�0�0�
��.�
/�
/������t�B�J�/�/�0�0�0����)�U�[�2�$�7�7�7����)�U�[�,�,�,�?�?�?�?�?r8c��	�tddd���}|�|jddd���|�|dd	��d
��|�|d��d��|�|��d��tddd���}|�|jd
di��|�|dd	��d
��|�|d��d��tddd���}|�|ji��|�|dd	��d
��|�t��5|d��ddd��n#1swxYwY|�t��5|��ddd��n#1swxYwY|�t��5|dd	d��ddd��n#1swxYwY|�t��5tddd���}ddd��n#1swxYwY|�t��5tddd���}ddd��n#1swxYwY|�t��5tddd���}ddd��n#1swxYwYtddd���}|�|ji��|�|jjd��|�|dd��d��|�t��5|d��ddd��n#1swxYwYtddddg���}|�|jddd���|�|jjd��|�|dd	��d
��|�|d��d��|�|��d��tddtddg�����}|�|jddd���|�|jjd��|�|dd	��d
��|�|d��d��|�|��d��dS)Nr�r�)r�r_)�defaultsr�r_r�r]r^�r]r^)r]r_)r_r�rYrd�r�r_r`F)	r	r=�_field_defaultsr�r��assertIsNone�__new__�__defaults__�iter�r5r�s  r6�
test_defaultszTestNamedTuple.test_defaultsTs����7�E�H�=�=�=������.�b�r�0B�0B�C�C�C������q�!���f�-�-�-������q���7�+�+�+��������(�+�+�+��7�E�E�:�:�:������.��b�	�:�:�:������q�!���f�-�-�-������q���7�+�+�+��7�E�B�7�7�7������.��3�3�3������q�!���f�-�-�-�
�
�
�y�
)�
)�	�	��E�!�H�H�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	��E�G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��E�!�Q��N�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	F�	F��w���E�E�E�E�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F����	F�	F�	F�	F�
�
�
�y�
)�
)�	<�	<��w���;�;�;�E�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�
�
�
�y�
)�
)�	?�	?��w���>�>�>�E�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?��7�E�D�9�9�9������.��3�3�3����%�-�4�d�;�;�;������r�2����1�1�1�
�
�
�y�
)�
)�	�	��E�"�I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��7�E�R��H�=�=�=������.�b�r�0B�0B�C�C�C������3�X�>�>�>������q�!���f�-�-�-������q���7�+�+�+��������(�+�+�+��7�E�D�"�b��N�N�C�C�C������.�b�r�0B�0B�C�C�C������3�X�>�>�>������q�!���f�-�-�-������q���7�+�+�+��������(�+�+�+�+�+s~�#E;�;E?�E?� F7�7F;�>F;�G6�6G:�=G:�H:�:H>�H>�I>�>J�J�#K�K�	K�M,�,M0�3M0c�^�tdd��}|dd��}|�t��5d|_ddd��n#1swxYwY|�t��5|`ddd��n#1swxYwY|�t��5d|d<ddd��n#1swxYwY|�t��5|d=ddd��n#1swxYwY|�|jd��|�|dd��dS)Nr�r�rr�rr)r	r��AttributeErrorr�r�r=�r5r�r�s   r6�
test_readonlyzTestNamedTuple.test_readonly�s���7�E�*�*���E�"�b�M�M��
�
�
�~�
.�
.�	�	��A�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�~�
.�
.�	�	���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��A�a�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��!��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������b�!�!�!�����1��r�"�"�"�"�"sG�A�A�A�0A?�?B�B�$B6�6B:�=B:�C+�+C/�2C/r^z)Docstrings are omitted with -O2 and abovec��tdd��}|�|jd��d|_|�|jd��dS)Nr�r�zPoint(x, y)z2D point)r	r=�__doc__rs  r6�test_factory_doc_attrz$TestNamedTuple.test_factory_doc_attr�sP���7�E�*�*�������
�6�6�6�"��
������
�3�3�3�3�3r8c��tdd��}|�|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)r	r=r�r r�)r5r�r#s   r6�test_field_doczTestNamedTuple.test_field_doc�s����7�E�*�*��������*D�E�E�E�������*D�E�E�E�1����������*A�B�B�B��H�e�,�,�������)�+E�F�F�F�3���������)�+C�D�D�D�D�Dr8c��tdddg��}tdddg��}|�|jj|jj��|�|jj|jj��dS)N�Pr��n�Q�or�)r	r?r�r r)r'r�)r5r&r(s   r6�test_field_doc_reusez#TestNamedTuple.test_field_doc_reuse�sh��
�s�S�#�J�'�'���s�S�#�J�'�'���
�
�a�c�k�1�3�;�/�/�/��
�
�a�c�k�1�3�;�/�/�/�/�/r8c��tdd��}|�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'))r	r=rnr�r�r rs  r6�test_field_reprzTestNamedTuple.test_field_repr�s����7�E�*�*������e�g���(U�V�V�V�����e�g���(U�V�V�V�,����,��������e�g���(M�N�N�N�����e�g���(M�N�N�N�N�Nr8c��ddgddgddgddgdd	gd
dgfD]0\}}|�td|d
���j|���1dS)N)�efgzg%hi)r.�_1)rUr�rUr/)�8efg�9ghi)�_0r/)rU�_efg)rUr.r.�ghi)rUr.�_2r5)rUr�r�)rUr/r��NTT��rename)r=r	r)r5�spec�renameds   r6�test_name_fixerzTestNamedTuple.test_name_fixer�s���
�}�-�
�}�-�
�|�,�
�m�,�
)�+F�G�
�1�2�

�	S�	S�M�D�'�
���Z��d�4�@�@�@�H�'�R�R�R�R�	S�	Sr8c�x�tdddgt���}|�|jt��dS)Nr7r�r�)�module)r	�collectionsr=rW�r5r7s  r6�test_module_parameterz$TestNamedTuple.test_module_parameter�s8��
��s�C�j��
=�
=�
=��������4�4�4�4�4r8c�P�tdd��}|dd��}|�||dd�����|�||dd�����|�||dd�����|�||d���|�||ditdd�������|�t|d	��|�t|d	d
d��|�t��5|d	d
���ddd��n#1swxYwY|�t��5|d	�
��ddd��n#1swxYwY|�t|��d��|�dt|����|�||�ddg����|�|j	d��|�|�
d	�
��d��|�|���tdd�����	|�
d	d
���|�d��n#t$rYnwxYwtdd��}|dd���}|�t|��d��tdd��}|dd���}|�t|��d��dS)Nr�r�rr�r�)r�)r�r��rr�r]r^rd)�XXXr��r�zPoint(x=11, y=22)�__weakref__)r]r�)r��errorz%Did not detect an incorrect fieldnamezx, yrY)r	r=rMr�r�rnr
r2rr�_replace�_asdict�_failrrs   r6�
test_instancezTestNamedTuple.test_instance�s����7�E�*�*���E�"�b�M�M������E�E�B�"�-�-�-�.�.�.�����E�E�"��O�O�O�,�,�,�����E�E�B�"�-�-�-�.�.�.�����E�E�8�,�-�-�-�����E�E�5�5�D�2��$4�$4�$4�5�5�6�6�6����)�U�A�.�.�.����)�U�A�q�!�4�4�4�
�
�
�y�
)�
)�	�	��E�a�1�����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��E�A�J�J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�����a���"5�6�6�6������A���/�/�/�����E�K�K��R��1�1�2�2�2������J�/�/�/�������a����'�2�2�2���������d�R�2�&6�&6�&6�7�7�7�	@�
�J�J��!�J�$�$�$�
�J�J�>�?�?�?�?���	�	�	��D�	�����7�F�+�+���E�B�"���������a���"5�6�6�6��7�J�/�/���E�B�"���������a���"5�6�6�6�6�6s6�D2�2D6�9D6�
E0�0E4�7E4�)J�
J#�"J#c��tdd��}|dd��}|�|t��|�|d��|�t|��d��|�t	|��ddg��|�t|��d��|�t|�d��|\}}|�|||f��|�|d|dfd��|�t��5|dddd��n#1swxYwY|�|d	d��|�t|��td����|�|j	|��|�|j
|��|�t��5|jddd��dS#1swxYwYdS)
Nr�r�rr�rCrr]rd���)
r	�assertIsInstancer
r=rI�maxr��
IndexError�hashr�r�rrf)r5r�r�r�r�s     r6�test_tuplenesszTestNamedTuple.test_tupleness�s`���7�E�*�*���E�"�b�M�M�����a��'�'�'�����H�%�%�%�����q���8�,�,�,�����a���2�r�(�+�+�+�����Q����$�$�$�����a��"�%�%�%����1�����Q��F�#�#�#����!�A�$��!���x�0�0�0�
�
�
�z�
*�
*�	�	�
�a�D�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�����2���#�#�#�����a���$�x�.�.�1�1�1������a� � � ������a� � � �
�
�
�~�
.�
.�	�	�
�C�C�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s$�1	E�E
�
E
�-H�H�	Hc	�T�tdd��}|�|��d��|�|�g��d��|�t|����d��|�|�����i��|�|��jd��tdd��}|�|d��d��|�|�dg��d��|�|d��jd��|�t|d����d	��|�|d�����ddi��|�|d���d
���d��|�|d��jd��d
}ttd�t|��D������}t|��}td|��}|t|���}|�|tt|������|�|�t|����tt|������t|��D])\}}|�t||��|���*t|��|���}	tt!|t|������}
|�|	|
��|jdit|dd
f|ddfg����}tt|����}d
|d<d|d<|�|t|����|�|jt|����dS)N�Zeror�rYzZero()�Dotryr]�r]zDot(d=1)r�)ry)r�i�c3�nK�|]0}d�d�td��D����V��1dS)r�c�@�g|]}ttj����SrY)r�string�
ascii_letters)�.0r�s  r6�
<listcomp>z;TestNamedTuple.test_odd_sizes.<locals>.<genexpr>.<listcomp>s3��"6�"6�"6�&'�#)��)=�">�">�"6�"6�"6r8r�N)r�rq)r[r�s  r6�	<genexpr>z0TestNamedTuple.test_odd_sizes.<locals>.<genexpr>sn����J�J�;<����"6�"6�+0��9�9�"6�"6�"6�7�7�J�J�J�J�J�Jr8�Big����*)r	r=rrnrIrryrHrIr1rqrkr
�	enumerate�getattrrMrp)
r5rTrUr'�namesr^r/�pos�namery�
d_expected�b2�b2_expecteds
             r6�test_odd_sizeszTestNamedTuple.test_odd_sizess����&�"�%�%����������$�$�$�������B����,�,�,�����d�d�f�f���x�0�0�0����������)�)�2�.�.�.����������,�,�,����$�$�������Q����&�&�&�������A�3����.�.�.������Q����1�%�%�%�����c�c�!�f�f���z�2�2�2������Q�����)�)�C��7�3�3�3������Q�����3��/�/��8�8�8������Q�����0�0�0����S�J�J�@E�a���J�J�J�J�J�K�K����J�J�����&�&���C��q���N������E�%��(�(�O�O�,�,�,�������5��8�8�,�,�e�E�!�H�H�o�o�>�>�>�"�5�)�)�	4�	4�I�C�����W�Q��-�-�s�3�3�3�3��Q����
�I�I�K�K���#�e�U�1�X�X�.�.�/�/�
�����J�'�'�'�
�Q�Z�
B�
B�$��q��3���r��B��@�A�A�
B�
B���5��8�8�n�n����A����B������U�;�/�/�0�0�0������E�%�L�L�1�1�1�1�1r8c	��tddd���}tfD]�}t|d��}t|d��}td|jdz��D]m}||||����}|�||��|�|j|j��|�d	|||�����n��dS)
Nr�r_r`�r�r�rfrtrurMr]sOrderedDict)r�rrrbrqrsr=rr
)r5r�r>rtru�protocol�qs       r6�test_picklezTestNamedTuple.test_pickle1s����R�2��$�$�$���i�	E�	E�F��F�G�,�,�E��F�G�,�,�E�!�"�f�&=��&A�B�B�
E�
E���E�%�%��8�,�,�-�-��� � ��A�&�&�&�� � ���A�I�6�6�6�� � ����q�(�1C�1C�D�D�D�D�	
E�	E�	Er8c���tddd���}tjtjfD]C}||��}|�||��|�|j|j���DdS)Nr�r_r`rk)r�r:rvr=r)r5r��copierrms    r6�	test_copyzTestNamedTuple.test_copy<sx���R�2��$�$�$���i���.�	3�	3�F���q�	�	�A����Q��"�"�"����Q�Y��	�2�2�2�2�	3�	3r8c
��tdd��}|ddddd��}|�|d��|�d	d
ddd
���}|�|d��hd�}td|��}tt	t|������}||�}|�||��|dit
t|j|������}|�||��|�	|��}|�||��t|��|�|���t
t|j|������|�	|��}td�|D����}|jdit
t|j|������}|�||��|�|jt|����|�|���|��dS)N�Tz"itemgetter property self cls tupler]r^rdr�rg)r]r^rdr�rgr�r_r`�(�2)�
itemgetter�propertyr5�clsr
)r�r_r`rtru>�r.ryr�r��r�sr�r�rf�At�an�be�by�of�to�up�For�Got�add�all�butrx�docrm�got�hasrk�map�newr�r1rE�sysr�userp�Make�Note�Type�Used�alsor�r:rM�exec�helpr�r��likerIri�mustrern�seenr5�side�step�than�thisro�used�user�work�Alias�Build�Fieldr��added�buildrG�field�frame�index�namedrc�needs�plain�split�start�theirr
�valid�where�which�Bypass�Create�Helper�Jython�Modify�Return�cannot�effect�either�fields�getter�methodr>�nicely�number�object�optionrrr9�resultrY�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�picklingrw�repr_fmt�sequence�subclass�typename�variabler��	Variables�	arguments�	debugging�	docstring�	duplicatera�	f_globals�	formatted�	functions�	indexable�	interning�	namespace�	replacing�	specified�	tuple_new�
IronPythonr�
accessible�
dictionary�
docstringsr�rvr	�
num_fields�
particular�
positional�
startswith�
underscore�
unexpected�Encounteredr�classmethodr?�field_names�identifiers�instantiate�module_name�namedtuple_�environments�isidentifier�
automatically�
introspectionr�representation�class_namespace�reuse_itemgetterc3� K�|]	}|dzV��
dS)r�NrY)r[r|s  r6r]z5TestNamedTuple.test_name_conflicts.<locals>.<genexpr>{s&����/�/�1�!�B�$�/�/�/�/�/�/r8rY)
r	r=rHr
rqrkrMrprrrnrI�__getnewargs__)r5rs�t�newt�wordsr��	newvaluess       r6�test_name_conflictsz"TestNamedTuple.test_name_conflictsCs$��
�s�@�A�A��
�A�a��A�q�!��������K�(�(�(��z�z�R�"�2�2�R�z�P�P������/�0�0�0�/�/�/��:
�s�E�"�"���u�S��Z�Z�(�(�)�)��
�A�v�J������F�#�#�#�
�A�-�-��S���F�+�+�,�,�-�-������F�#�#�#�
�G�G�F�O�O������F�#�#�#��Q������������d�3�q�y�&�+A�+A�&B�&B�C�C�C�
�G�G�F�O�O���/�/��/�/�/�/�/�	��q�z�<�<�D��Q�Y�	�!:�!:�;�;�<�<������y�)�)�)������E�%�L�L�1�1�1�����)�)�+�+�V�4�4�4�4�4r8c���tdd��}|�t|d����d��Gd�d|��}|�t|d����d��dS)N�Ar�r]zA(x=1)c��eZdZdS)�#TestNamedTuple.test_repr.<locals>.BNr�rYr8r6r�r�r�r8r�zB(x=1))r	r=rn)r5rr�s   r6�	test_reprzTestNamedTuple.test_repr�s����s�C� � ������a�a��d�d���X�.�.�.�	�	�	�	�	��	�	�	�����a�a��d�d���X�.�.�.�.�.r8c�|�|�t��5tdddgd��}ddd��n#1swxYwYtdddgd���}|�|jd��|�t��5tdddgd	d��}ddd��dS#1swxYwYdS)
Nr7r�r�TrU�defr8r0F)r�r�r	r=rr@s  r6�test_keyword_only_argumentsz*TestNamedTuple.test_keyword_only_arguments�sA��
�
�
�y�
)�
)�	4�	4��D�3��*�d�3�3�B�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4���u�e�n�T�
:�
:�
:�������]�3�3�3�
�
�
�y�
)�
)�	?�	?��D�5�%�.�%��>�>�B�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?s�;�?�?�B1�1B5�8B5c	��Gd�dtdddg����}|dd��}|�|���tdd	g����d
|_|�|jdd
i��dS)Nc��eZdZdS)�BTestNamedTuple.test_namedtuple_subclass_issue_24931.<locals>.PointNr�rYr8r6r�r�r�r8r��_Pointr�r�rdr�)r�rd)r�r�rg�w)r	r=rIrr�__dict__)r5r�r.s   r6�$test_namedtuple_subclass_issue_24931z3TestNamedTuple.test_namedtuple_subclass_issue_24931�s���	�	�	�	�	�J�x�#�s��4�4�	�	�	�
�E�!�Q�K�K����������k�8�X�2F�&G�&G�H�H�H���������c�1�X�.�.�.�.�.r8c�����tdd����dd��}|�tj�j����|��j�|��d��|�t�jj	|d��|�t�jj
|��ttj
dz��D]��|�����5G��fd�d	t��}|dd
g��}|�|jd��|�|jd
��ddd��n#1swxYwY��dS)Nr�r�rr�rr]�r�c���eZdZejej�j�����Zejej�j�����ZdS)�6TestNamedTuple.test_field_descriptor.<locals>.NewPointN)r4rWrXrrrtrur�r�)r�r�s��r6�NewPointr"�sQ�������$���\�V�\�%�'�5�%A�%A�B�B�A�$���\�V�\�%�'�5�%A�%A�B�B�A�A�Ar8r#r^)r	r��inspect�isdatadescriptorr�r=�__get__r�r�__set__�
__delete__rqrrrs�subTestr
r�)r5r�r#�npr�r�s    @@r6�test_field_descriptorz$TestNamedTuple.test_field_descriptor�s������7�E�*�*���E�"�b�M�M������0���9�9�:�:�:���������+�+�R�0�0�0����.�%�'�/�1�b�A�A�A����.�%�'�*<�a�@�@�@��6�2�Q�6�7�7�		*�		*�E����E��*�*�
*�
*�C�C�C�C�C�C�C�C�u�C�C�C��X�q�!�f�%�%��� � ���q�)�)�)�� � ���q�)�)�)�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*����
*�
*�
*�
*��		*�		*s�:AE � E$	�'E$	c��tdd��}|j}|�|jdi��|�|ji��dS)Nr�rY�__builtins__)r	rr=�__globals__r-)r5r@�new_funcs   r6�test_new_builtins_issue_43102z,TestNamedTuple.test_new_builtins_issue_43102�sU����b�!�!���;������-�n�=�r�B�B�B�����.��3�3�3�3�3r8c�\�tdd��}|�|jd��dS)Nr�r�r�)r	r=�__match_args__rs  r6�test_match_argszTestNamedTuple.test_match_args�s0���7�E�*�*������-�z�:�:�:�:�:r8c���tjdd��}|tttf}|�|j|��|�|jd��|�|jtttf��|ddg��}|�t|��|��|�|ddgf��dS)N�Groupz	key grouprYr]r^)
r?r	�intrIr=�
__origin__�__parameters__�__args__r?ro)r5r5rr.s    r6�test_non_generic_subscriptz)TestNamedTuple.test_non_generic_subscript�s����&�w��<�<���#�t�C�y�.�!�������u�-�-�-�����)�2�.�.�.������c�4��9�%5�6�6�6�
�A�a�!��I�I���
�
�d�1�g�g�u�%�%�%�����Q���H�%�%�%�%�%r8N) r4rWrXrrr�unittest�skipIfr��flags�optimizer!r$r�cpython_onlyr*r,r<rArKrRrirnrqrrrrr+r0r3r:rYr8r6r�r�5s/������@�@�@�:0,�0,�0,�d#�#�#��X�_�S�Y�'�1�,�@�B�B�4�4�B�B�4��X�_�S�Y�'�1�,�@�B�B�
E�
E�B�B�
E�
���X�_�S�Y�'�1�,�@�B�B�0�0�B�B���0�
��	O�	O���	O�	S�	S�	S�5�5�5�$7�$7�$7�L���.$2�$2�$2�L	E�	E�	E�3�3�3�>5�>5�>5�@/�/�/�?�?�?�/�/�/�
��*�*���*�&4�4�4�;�;�;�
&�
&�
&�
&�
&r8r�c� �eZdZd�Zd�Zd�ZdS)�ABCTestCasec�
�t�|d���}td|f|��}|��|D]G}|���}||=td|f|��}|�t
||���HdS)Nc��dS�NrrY�rzr�s  r6�<lambda>z7ABCTestCase.validate_abstract_methods.<locals>.<lambda>�s��A�r8r�)rM�fromkeysror:r�r�)r5rUrc�methodstubsr�re�stubss       r6�validate_abstract_methodsz%ABCTestCase.validate_abstract_methods�s����m�m�E�+=�+=�>�>��
��s�f�k�*�*��	������	2�	2�D��$�$�&�&�E��d���S�3�&�%�(�(�A����i��D�1�1�1�1�		2�	2r8c��d�}tdtfddi��}t|||��|�|��|��|�t||����tdtfddi��}|�|��|��|�t||����dS)Nc��dSrDrYrEs  r6rFz1ABCTestCase.validate_isinstance.<locals>.<lambda>�s���r8r��__hash__)ror��setattrrNr��
issubclass�assertNotIsInstancer�)r5rUre�stubr�s     r6�validate_isinstancezABCTestCase.validate_isinstance�s���!�!����v�i�*�d�!3�4�4����4��������a�a�c�c�3�'�'�'����
�1�c�*�*�+�+�+���v�i�*�d�!3�4�4��� � �����c�*�*�*�����A�s�+�+�,�,�,�,�,r8c�T�gd�}i}|D]"}d|zdz}tt|��||<�#Gd�d��}|���D]Z\}}t||��s�|��}|||��|�|jdt
|���d|�����[dS)N)	�lt�gt�le�ge�ne�or�and�xor�sub�__c�>�eZdZd�Zd�ZeZeZeZeZeZ	eZ
eZeZeZ
dS)�.ABCTestCase.validate_comparison.<locals>.Otherc��d|_dSr���
right_siderFs r6r�z7ABCTestCase.validate_comparison.<locals>.Other.__init__�s
��"'����r8c��d|_dSr�ra)r5r�s  r6�__eq__z5ABCTestCase.validate_comparison.<locals>.Other.__eq__�s��"&����tr8N)r4rWrXr�rd�__lt__�__gt__�__le__�__ge__�__ne__r��__rand__�__rxor__�__rsub__rYr8r6�Otherr_�s[������
(�
(�
(�
�
�
��F��F��F��F��F��G��H��H��H�H�Hr8rmzRight side not called for �.)rbr�rj�hasattrr�rbro)r5r��ops�	operators�oprermr�s        r6�validate_comparisonzABCTestCase.validate_comparison�s��G�G�G���	��	6�	6�B��"�9�t�#�D�%�h��5�5�I�d�O�O�	�	�	�	�	�	�	�	� "���)�)�	6�	6�H�D�"��8�T�*�*�
���E�G�G�E��B�x������O�O�E�,�,�#�H�~�~�~�~�t�t�.5�
6�
6�
6�
6�	6�	6r8N)r4rWrXrJrRrsrYr8r6rArA�sA������2�2�2�
-�
-�
-�6�6�6�6�6r8rAc#�K�dV�dSrDrYrYr8r6�	_test_genru	s����	�E�E�E�E�Er8c�n�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�ZdS)�TestOneTrickPonyABCsc	��d�}tjd���}d�}Gd�d��}Gd�dt��}|�td��dt��|��t
��g}|D]m}|�|t��|�tt|��t��tt|�������n|��|��g}|D]R}|�|t��|�
tt|��t�����S|��}	|�|	t��|��}	|�|	t��|	���Gd	�d
��}
tj|
��|�
t!|
��t����|�
t|
t����d}
t#j��dS)Nc3�K�dV�dSrDrYrYr8r6�genz0TestOneTrickPonyABCs.test_Awaitable.<locals>.gen������E�E�E�E�Er8c3�K�dV�dSrDrYrYr8r6�coroz1TestOneTrickPonyABCs.test_Awaitable.<locals>.coro������E�E�E�E�Er8c��
K�dSrDrYrYr8r6�new_coroz5TestOneTrickPonyABCs.test_Awaitable.<locals>.new_coro������Dr8c��eZdZd�ZdS)�0TestOneTrickPonyABCs.test_Awaitable.<locals>.Barc3�K�dV�dSrDrYrFs r6�	__await__z:TestOneTrickPonyABCs.test_Awaitable.<locals>.Bar.__await__����������r8N�r4rWrXr�rYr8r6�Barr��#������
�
�
�
�
r8r�c�,��eZdZd�Zd�fd�	Zd�Z�xZS)�8TestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoroc��|SrDrY�r5�values  r6�sendz=TestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoro.send����r8Nc�N��t���|||��dSrD�r��throw�r5�typ�val�tbr�s    �r6r�z>TestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoro.throw �#������
�
�c�3��+�+�+�+�+r8c3�K�dV�dSrDrYrFs r6r�zBTestOneTrickPonyABCs.test_Awaitable.<locals>.MinimalCoro.__await__"r�r8�NN�r4rWrXr�r�r�r�r�s@r6�MinimalCoror��[�������
�
�
�
,�
,�
,�
,�
,�
,�
�
�
�
�
�
�
r8r�r�c��eZdZdS)�5TestOneTrickPonyABCs.test_Awaitable.<locals>.CoroLikeNr�rYr8r6�CoroLiker�;��������r8r�)�types�	coroutinerrJrr6r�rPr�rOrornrNr��close�registerr�r�
gc_collect�r5rzr}r�r�r��non_samplesr��samplesrar�s           r6�test_Awaitablez#TestOneTrickPonyABCs.test_AwaitablesQ��	�	�	�
��	�	�
��	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�)�	�	�	�	
�&�&�y�+�>�>�>��S�U�U�C�C�E�E�6�8�8�4���	L�	L�A��$�$�Q�	�2�2�2����Z��Q����;�;�T�$�q�'�'�]�]�K�K�K�K��3�5�5�+�+�-�-�(���	<�	<�A��!�!�!�Y�/�/�/��O�O�J�t�A�w�w�	�:�:�;�;�;�;��D�F�F��	
� � ��I�.�.�.��H�J�J�����a��+�+�+�	���	�	�	�����������8�$�$�$����
�8�8�:�:�y�9�9�:�:�:����
�8�Y�7�7�8�8�8���������r8c	��d�}tjd���}d�}Gd�d��}Gd�dt��}|�tdd	d
��dt	��|��t��|��g}|D]m}|�|t��|�tt|��t��tt|�������n|��g}|D]R}|�|t��|�
tt|��t�����S|��}	|�|	t��|��}	|�|	t��|	���Gd�d��}
|�
t|
��t����|�
t|
t����Gd
�d��}
|�t|
��t����|�t|
t����dS)Nc3�K�dV�dSrDrYrYr8r6rzz0TestOneTrickPonyABCs.test_Coroutine.<locals>.genCr{r8c3�K�dV�dSrDrYrYr8r6r}z1TestOneTrickPonyABCs.test_Coroutine.<locals>.coroFr~r8c��
K�dSrDrYrYr8r6r�z5TestOneTrickPonyABCs.test_Coroutine.<locals>.new_coroJr�r8c��eZdZd�ZdS)�0TestOneTrickPonyABCs.test_Coroutine.<locals>.Barc3�K�dV�dSrDrYrFs r6r�z:TestOneTrickPonyABCs.test_Coroutine.<locals>.Bar.__await__Nr�r8Nr�rYr8r6r�r�Mr�r8r�c�,��eZdZd�Zd�fd�	Zd�Z�xZS)�8TestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoroc��|SrDrYr�s  r6r�z=TestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoro.sendRr�r8Nc�N��t���|||��dSrDr�r�s    �r6r�z>TestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoro.throwTr�r8c3�K�dV�dSrDrYrFs r6r�zBTestOneTrickPonyABCs.test_Coroutine.<locals>.MinimalCoro.__await__Vr�r8r�r�r�s@r6r�r�Qr�r8r�r�r�r�c�(�eZdZd�Zdd�Zd�Zd�ZdS)�5TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLikec��dSrDrYr�s  r6r�z:TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.sendp����r8Nc��dSrDrY�r5r�r�r�s    r6r�z;TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.throwrr�r8c��dSrDrYrFs r6r�z;TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.closetr�r8c��dSrDrYrFs r6r�z?TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.__await__vr�r8r�)r4rWrXr�r�r�r�rYr8r6r�r�osU������
�
�
�
�
�
�
�
�
�
�
�
�
�
�
r8r�c� �eZdZd�Zd�Zd�ZdS)r�c��dSrDrYr�s  r6r�z:TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.send|r�r8c��dSrDrYrFs r6r�z;TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.close~r�r8c��dSrDrYrFs r6r�z?TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike.__await__�r�r8N)r4rWrXr�r�r�rYr8r6r�z5TestOneTrickPonyABCs.test_Coroutine.<locals>.CoroLike{sA������
�
�
�
�
�
�
�
�
�
�
r8)r�r�rrJr6r�rPr�rOrornrNrr�r�r�r�s           r6�test_Coroutinez#TestOneTrickPonyABCs.test_CoroutineBs���	�	�	�
��	�	�
��	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�)�	�	�	�	
�&�&�y�+�v�w�O�O�O��S�U�U�C�C�E�E�6�8�8�S�S�U�U�;���	L�	L�A��$�$�Q�	�2�2�2����Z��Q����;�;�T�$�q�'�'�]�]�K�K�K�K��;�=�=�/���	<�	<�A��!�!�!�Y�/�/�/��O�O�J�t�A�w�w�	�:�:�;�;�;�;��D�F�F��	
� � ��I�.�.�.��H�J�J�����a��+�+�+�	���	�	�	�	�	�	�	�	�	�	�	�	
���
�8�8�:�:�y�9�9�:�:�:����
�8�Y�7�7�8�8�8�	�	�	�	�	�	�	�	�	
����H�H�J�J�	�:�:�;�;�;�����H�i�8�8�9�9�9�9�9r8c
��t��t��t��t��g}|D]m}|�|t
��|�tt|��t
��tt|�������ndt��t��t��t��t��t��ttt tt#��g}|D]m}|�|t
��|�tt|��t
��tt|�������n|�t*t
��Gd�dt
��}|�t/|����d��|�tt|����|�t
d��|�t
d��dS)Nc���eZdZ�fd�Z�xZS)�-TestOneTrickPonyABCs.test_Hashable.<locals>.Hc�D��t�����SrD)r�rM�r5r�s �r6rMz6TestOneTrickPonyABCs.test_Hashable.<locals>.H.__hash__������w�w�'�'�)�)�)r8)r4rWrXrMr�r�s@r6�Hr���8�������
*�
*�
*�
*�
*�
*�
*�
*�
*r8r�rrM)�	bytearrayrIr1rMrPrr�rOrornr6�float�complexrEr
�	frozensetr��bytesrNr�r�r�r=rQrJrR)r5r�r�r�r�s     r6�
test_Hashablez"TestOneTrickPonyABCs.test_Hashable�s��� �{�{�D�F�F�C�E�E�4�6�6�:���	K�	K�A��$�$�Q��1�1�1����Z��Q����:�:�D��a���M�M�J�J�J�J���5�5�%�'�'�7�9�9��5�5��7�7�I�K�K���f�d�E�G�G�	���	J�	J�A��!�!�!�X�.�.�.��O�O�J�t�A�w�w��9�9�4��Q���=�=�I�I�I�I����)�X�.�.�.�	*�	*�	*�	*�	*��	*�	*�	*�	
����a�a�c�c���A�&�&�&�����C��+�+�,�,�,��&�&�x��<�<�<�� � ��:�6�6�6�6�6r8c	�0�Gd�d��}|�t|��t����|�t|t����dtgg}|D]m}|�|t��|�tt|��t��tt|�������n|�	td��|�
td��dS)Nc��eZdZd�ZdS)�3TestOneTrickPonyABCs.test_AsyncIterable.<locals>.AIc��|SrDrYrFs r6�	__aiter__z=TestOneTrickPonyABCs.test_AsyncIterable.<locals>.AI.__aiter__�����r8N)r4rWrXr�rYr8r6�AIr��s#������
�
�
�
�
r8r�r�)r�r�rrOr�rPr�rornrJrR)r5r�r�r�s    r6�test_AsyncIterablez'TestOneTrickPonyABCs.test_AsyncIterable�s��	�	�	�	�	�	�	�	�	
���
�2�2�4�4��7�7�8�8�8����
�2�}�5�5�6�6�6��V�R�(���	P�	P�A��$�$�Q�
�6�6�6����Z��Q����?�?��d�1�g�g���O�O�O�O��&�&�}�k�B�B�B�� � ���<�<�<�<�<r8c	�\�Gd�d��}|�t|��t����|�t|t����dtgg}|D]m}|�|t��|�tt|��t��tt|�������nGd�d��}|�|��t��|�	tdd��dS)Nc��eZdZd�Zd�ZdS)�3TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AIc��|SrDrYrFs r6r�z=TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AI.__aiter__�r�r8c��K�t�rD��StopAsyncIterationrFs r6�	__anext__z=TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AI.__anext__������(�(r8N)r4rWrXr�r�rYr8r6r�r��s2������
�
�
�
)�
)�
)�
)�
)r8r�c��eZdZd�ZdS)�:TestOneTrickPonyABCs.test_AsyncIterator.<locals>.AnextOnlyc��K�t�rDr�rFs r6r�zDTestOneTrickPonyABCs.test_AsyncIterator.<locals>.AnextOnly.__anext__�r�r8N)r4rWrXr�rYr8r6�	AnextOnlyr��s#������
)�
)�
)�
)�
)r8r�r�r�)
r�r�rrOr�rPr�rornrJ)r5r�r�r�r�s     r6�test_AsyncIteratorz'TestOneTrickPonyABCs.test_AsyncIterator�s6��	)�	)�	)�	)�	)�	)�	)�	)�
	
���
�2�2�4�4��7�7�8�8�8����
�2�}�5�5�6�6�6��V�R�(���	P�	P�A��$�$�Q�
�6�6�6����Z��Q����?�?��d�1�g�g���O�O�O�O�	)�	)�	)�	)�	)�	)�	)�	)�	
� � �����m�<�<�<��&�&�}�k�;�O�O�O�O�Or8c
�@�gd�}|D]m}|�|t��|�tt	|��t��tt	|�������nt
��t��t��t��t��t��t��t���
��t�����t�����t!��d�dD��g}|D]m}|�|t��|�tt	|��t��tt	|�������nGd�dt��}|�t|����g��|�tt|����|�td��|�td��Gd�d��}Gd	�d
|��}|�t|t����|�t-|��t����|�t|t����|�t-|��t����dS)N)Nr`���Q�	@��?c3�K�|]}|V��dSrDrY�r[r�s  r6r]z5TestOneTrickPonyABCs.test_Iterable.<locals>.<genexpr>������?�?�!�A�?�?�?�?�?�?r8rYc���eZdZ�fd�Z�xZS)�-TestOneTrickPonyABCs.test_Iterable.<locals>.Ic�D��t�����SrD)r��__iter__r�s �r6r�z6TestOneTrickPonyABCs.test_Iterable.<locals>.I.__iter__�r�r8)r4rWrXr�r�r�s@r6�Ir��r�r8r�r�c��eZdZd�ZdS)�.TestOneTrickPonyABCs.test_Iterable.<locals>.Itc� �tg��SrD�rrFs r6r�z7TestOneTrickPonyABCs.test_Iterable.<locals>.It.__iter__����t�B�x�x�r8N�r4rWrXr�rYr8r6�Itr���������/�/�/�/�/r8r�c��eZdZdZdS)�5TestOneTrickPonyABCs.test_Iterable.<locals>.ItBlockedNr�rYr8r6�	ItBlockedr����������H�H�Hr8r�)rPrr�rOrornr�rEr
rIr1r�rM�keysrjr�rurNr�r=rJrRr�)r5r�r�r�r�r�r�s       r6�
test_Iterablez"TestOneTrickPonyABCs.test_Iterable�s���*�*�*���	K�	K�A��$�$�Q��1�1�1����Z��Q����:�:�D��a���M�M�J�J�J�J��7�7�C�E�E��7�7�D�F�F�C�E�E�9�;�;�����6�6�;�;�=�=�$�&�&�,�,�.�.�$�&�&�-�-�/�/��;�;�"�?�r�?�?�?�	���	J�	J�A��!�!�!�X�.�.�.��O�O�J�t�A�w�w��9�9�4��Q���=�=�I�I�I�I�	*�	*�	*�	*�	*��	*�	*�	*�	
����a�a�c�c���B�'�'�'�����C��+�+�,�,�,��&�&�x��<�<�<�� � ��:�6�6�6�	0�	0�	0�	0�	0�	0�	0�	0�	�	�	�	�	��	�	�	����
�2�x�0�0�1�1�1����
�2�2�4�4��2�2�3�3�3�����I�x�8�8�9�9�9�����I�I�K�K��:�:�;�;�;�;�;r8c���ddddt��t��g}|D]m}|�|t��|�tt
|��t��tt
|�������nt��d�dD��tg��tg��g}|D]m}|�|t��|�tt
|��t��tt
|�������nt��t��t��t��t��t�����t�����t�����t'��t'�����t'�����t'�����t)��t)�����t)�����t)�����g}|D]m}|�|t��|�tt
|��t��tt
|�������n|�tt.t��tt.����|�tt0t��tt0����|�tt2t��tt2����Gd�dt��}|�tt|������g��|�tt6|����|�tdd	��Gd
�d��}Gd�d
|��}|�t|t����|�t;|��t����|�t|t����|�t;|��t����Gd�d��}Gd�d|��}	Gd�d|��}
|�t|t����|�t;|��t����|�t|	t����|�t;|	��t����|�t|
t����|�t;|
��t����dS)Nr`r�r�c3�K�|]}|V��dSrDrYr�s  r6r]z7TestOneTrickPonyABCs.test_Reversible.<locals>.<genexpr>�s������q�������r8rYc��eZdZd�Zd�ZdS)�/TestOneTrickPonyABCs.test_Reversible.<locals>.Rc�8�tt����SrD�rrIrFs r6r�z8TestOneTrickPonyABCs.test_Reversible.<locals>.R.__iter__�����D�F�F�|�|�#r8c�8�tt����SrDrrFs r6�__reversed__z<TestOneTrickPonyABCs.test_Reversible.<locals>.R.__reversed__�rr8N�r4rWrXr�r	rYr8r6�Rr�s2������
$�
$�
$�
$�
$�
$�
$�
$r8rr	r�c��eZdZd�ZdS)�7TestOneTrickPonyABCs.test_Reversible.<locals>.RevNoIterc� �tg��SrD��reversedrFs r6r	zDTestOneTrickPonyABCs.test_Reversible.<locals>.RevNoIter.__reversed__�
��8�B�<�<�$7r8N�r4rWrXr	rYr8r6�	RevNoIterr
s������7�7�7�7�7r8rc��eZdZd�ZdS)�9TestOneTrickPonyABCs.test_Reversible.<locals>.RevPlusIterc� �tg��SrDr�rFs r6r�zBTestOneTrickPonyABCs.test_Reversible.<locals>.RevPlusIter.__iter__r�r8Nr�rYr8r6�RevPlusIterrr�r8rc��eZdZd�Zd�ZdS)�1TestOneTrickPonyABCs.test_Reversible.<locals>.Revc� �tg��SrDr�rFs r6r�z:TestOneTrickPonyABCs.test_Reversible.<locals>.Rev.__iter__r�r8c� �tg��SrDrrFs r6r	z>TestOneTrickPonyABCs.test_Reversible.<locals>.Rev.__reversed__rr8Nr
rYr8r6�Revrs"������/�/�/�7�7�7�7�7r8rc��eZdZdZdS)�:TestOneTrickPonyABCs.test_Reversible.<locals>.RevItBlockedNr�rYr8r6�RevItBlockedrr�r8rc��eZdZdZdS)�;TestOneTrickPonyABCs.test_Reversible.<locals>.RevRevBlockedNrrYr8r6�
RevRevBlockedr!��������L�L�Lr8r")r1r�rPrr�rOrornrurrr�rEr
rIrr�rjr�r
rMrNr�r'r"r#r=r�rJr�)r5r�r��non_reversiblesr�rrrrrr"s           r6�test_Reversiblez$TestOneTrickPonyABCs.test_Reversible�s5���R��r�3�5�5�)�+�+�>���	M�	M�A��$�$�Q�
�3�3�3����Z��Q����<�<�d�4��7�7�m�m�L�L�L�L�$�;�;���B�����b���8�B�<�<�P�� �	M�	M�A��$�$�Q�
�3�3�3����Z��Q����<�<�d�4��7�7�m�m�L�L�L�L��7�7�C�E�E�5�7�7�D�F�F�K�M�M��=�=�%�%�'�'����)<�)<�)>�)>��=�=�'�'�)�)�7�9�9�g�i�i�n�n�6F�6F��9�9�?�?�$�$�g�i�i�&6�&6�&8�&8�$�&�&��6�6�;�;�=�=�$�&�&�,�,�.�.�$�&�&�-�-�/�/�	C��
�	L�	L�A��!�!�!�Z�0�0�0��O�O�J�t�A�w�w�
�;�;�T�$�q�'�'�]�]�K�K�K�K����
�8�Z�8�8�$�x�.�.�I�I�I�����G�Z�8�8�$�w�-�-�H�H�H�����N�J�?�?��n�AU�AU�V�V�V�	$�	$�	$�	$�	$�
�	$�	$�	$�
	
����h�q�q�s�s�m�m�,�,�b�1�1�1�����E�1�-�-�.�.�.��&�&�z�>�:�N�N�N�	8�	8�	8�	8�	8�	8�	8�	8�	0�	0�	0�	0�	0�)�	0�	0�	0�����I�z�:�:�;�;�;�����I�I�K�K��<�<�=�=�=����
�;�
�;�;�<�<�<����
�;�;�=�=�*�=�=�>�>�>�	8�	8�	8�	8�	8�	8�	8�	8�	�	�	�	�	�3�	�	�	�	 �	 �	 �	 �	 �C�	 �	 �	 ����
�3�
�3�3�4�4�4����
�3�3�5�5�*�5�5�6�6�6�����L�*�=�=�>�>�>�����L�L�N�N�J�?�?�@�@�@�����M�:�>�>�?�?�?�����M�M�O�O�Z�@�@�A�A�A�A�Ar8c���ddddd�g}|D]m}|�|t��|�tt	|��t��tt	|�������nt
��td��tt����d�dD��g}|D]m}|�|t��|�tt	|��t��tt	|�������nt��t��t��t��t��t��t��t�����t�����t�����g
}|D]m}|�|t��|�tt	|��t��tt	|�������n|�tt*t��tt*����|�tt,t��tt,����|�tt.t��tt.����|�tt0t��tt0����|�tt2t��tt2����|�tt*t��tt2����Gd�d	t��}Gd
�d|��}|�tt|������g��|�tt|����|�tt|����|�tt6|����|�tt|������g��|�tt|����|�tt|����|�tt6|����|�tdd
d��Gd�d��}Gd�d��}Gd�d��}	|�t|t����|�t;|��t����|�t|t����|�t;|��t����|�t|	t����|�t;|	��t����Gd�d��}
Gd�d��}|�t|
t����|�t;|
��t����|�t|t����|�t;|��t����Gd�d��}Gd�d|��}
|�t|
t����|�t;|
��t����dS)Nr`r�r�c��d|zS)Nr^rYrEs r6rFz6TestOneTrickPonyABCs.test_Collection.<locals>.<lambda>s
���1��r8r8c3�K�|]}|V��dSrDrYr�s  r6r]z7TestOneTrickPonyABCs.test_Collection.<locals>.<genexpr>$s����_�_�A�a�_�_�_�_�_�_r8rYc� �eZdZd�Zd�Zd�ZdS)�1TestOneTrickPonyABCs.test_Collection.<locals>.Colc�8�tt����SrDrrFs r6r�z:TestOneTrickPonyABCs.test_Collection.<locals>.Col.__iter__8rr8c��dSrDrYrFs r6�__len__z9TestOneTrickPonyABCs.test_Collection.<locals>.Col.__len__:����qr8c��dSr�rYr�s  r6r�z>TestOneTrickPonyABCs.test_Collection.<locals>.Col.__contains__<����ur8N�r4rWrXr�r-r�rYr8r6�Colr*7�A������
$�
$�
$�
�
�
�
�
�
�
�
r8r2c��eZdZdS)�4TestOneTrickPonyABCs.test_Collection.<locals>.DerColNr�rYr8r6�DerColr5>r�r8r6r-r�r�c��eZdZd�Zd�ZdS)�7TestOneTrickPonyABCs.test_Collection.<locals>.ColNoIterc��dSrDrYrFs r6r-z?TestOneTrickPonyABCs.test_Collection.<locals>.ColNoIter.__len__K���a�ar8c��dSr�rYr�s  r6r�zDTestOneTrickPonyABCs.test_Collection.<locals>.ColNoIter.__contains__L����r8N)r4rWrXr-r�rYr8r6�	ColNoIterr8Js"������'�'�'�6�6�6�6�6r8r=c��eZdZd�Zd�ZdS)�7TestOneTrickPonyABCs.test_Collection.<locals>.ColNoSizec� �tg��SrDr�rFs r6r�z@TestOneTrickPonyABCs.test_Collection.<locals>.ColNoSize.__iter__Nr�r8c��dSr�rYr�s  r6r�zDTestOneTrickPonyABCs.test_Collection.<locals>.ColNoSize.__contains__Or<r8N)r4rWrXr�r�rYr8r6�	ColNoSizer?Ms"������/�/�/�6�6�6�6�6r8rBc��eZdZd�Zd�ZdS)�7TestOneTrickPonyABCs.test_Collection.<locals>.ColNoContc� �tg��SrDr�rFs r6r�z@TestOneTrickPonyABCs.test_Collection.<locals>.ColNoCont.__iter__Qr�r8c��dSrDrYrFs r6r-z?TestOneTrickPonyABCs.test_Collection.<locals>.ColNoCont.__len__Rr:r8N)r4rWrXr�r-rYr8r6�	ColNoContrDPs"������/�/�/�'�'�'�'�'r8rGc��eZdZd�Zd�ZdZdS)�7TestOneTrickPonyABCs.test_Collection.<locals>.SizeBlockc� �tg��SrDr�rFs r6r�z@TestOneTrickPonyABCs.test_Collection.<locals>.SizeBlock.__iter__[r�r8c��dSr�rYrFs r6r�zDTestOneTrickPonyABCs.test_Collection.<locals>.SizeBlock.__contains__\s��5�5r8N)r4rWrXr�r�r-rYr8r6�	SizeBlockrIZs%������/�/�/�0�0�0��G�G�Gr8rLc��eZdZd�Zd�ZdZdS)�7TestOneTrickPonyABCs.test_Collection.<locals>.IterBlockc��dSrDrYrFs r6r-z?TestOneTrickPonyABCs.test_Collection.<locals>.IterBlock.__len___r:r8c��dSr�rYrFs r6r�zDTestOneTrickPonyABCs.test_Collection.<locals>.IterBlock.__contains__`s��4�4r8N)r4rWrXr-r�r�rYr8r6�	IterBlockrN^s%������'�'�'�/�/�/��H�H�Hr8rQc� �eZdZd�Zd�Zd�ZdS)�5TestOneTrickPonyABCs.test_Collection.<locals>.ColImplc�8�tt����SrDrrFs r6r�z>TestOneTrickPonyABCs.test_Collection.<locals>.ColImpl.__iter__hrr8c��dSrDrYrFs r6r-z=TestOneTrickPonyABCs.test_Collection.<locals>.ColImpl.__len__jr.r8c��dSr�rYr�s  r6r�zBTestOneTrickPonyABCs.test_Collection.<locals>.ColImpl.__contains__lr0r8Nr1rYr8r6�ColImplrSgr3r8rWc��eZdZdZdS)�4TestOneTrickPonyABCs.test_Collection.<locals>.NonColN)r4rWrXr�rYr8r6�NonColrYnr#r8rZ)rPrr�rOrornrurr�r1r�rMr�rEr
rIr�rjr�rNr�r'r"r#r r!r=r�rJr�)r5�non_collectionsr��non_col_iterablesr�r2r6r=rBrGrLrQrWrZs              r6�test_Collectionz$TestOneTrickPonyABCs.test_Collections�����T�2�}�}�=�� �	M�	M�A��$�$�Q�
�3�3�3����Z��Q����<�<�d�4��7�7�m�m�L�L�L�L�&�[�[�$�s�)�)�T�)�+�+�5F�5F�,�_��_�_�_�.��"�	M�	M�A��$�$�Q�
�3�3�3����Z��Q����<�<�d�4��7�7�m�m�L�L�L�L��5�5�)�+�+�t�v�v�u�w�w����u�w�w��6�6�4�6�6�;�;�=�=�$�&�&�,�,�.�.�$�&�&�-�-�/�/�K���	L�	L�A��!�!�!�Z�0�0�0��O�O�J�t�A�w�w�
�;�;�T�$�q�'�'�]�]�K�K�K�K����
�8�Z�8�8�$�x�.�.�I�I�I����
�7�J�7�7��g���G�G�G����
�>�:�>�>�$(��$8�$8�	:�	:�	:����
�3�
�3�3�T�#�Y�Y�?�?�?����
�:�z�:�:�D��<L�<L�M�M�M����
�8�Z�8�8�$�z�:J�:J�K�K�K�	�	�	�	�	�*�	�	�	�	 �����S��������d�3�3�5�5�k�k�*�*�B�/�/�/�����D�#�.�.�/�/�/�����C��-�-�.�.�.�����E�3�/�/�0�0�0�����d�6�6�8�8�n�n�-�-�r�2�2�2�����D�&�1�1�2�2�2�����C��0�0�1�1�1�����E�6�2�2�3�3�3��&�&�z�9�j�3A�	C�	C�	C�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	(�	(�	(�	(�	(�	(�	(�	(�	
����I�z�:�:�;�;�;�����I�I�K�K��<�<�=�=�=�����I�z�:�:�;�;�;�����I�I�K�K��<�<�=�=�=�����I�z�:�:�;�;�;�����I�I�K�K��<�<�=�=�=�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	
����I�z�:�:�;�;�;�����I�I�K�K��<�<�=�=�=�����I�z�:�:�;�;�;�����I�I�K�K��<�<�=�=�=�	�	�	�	�	�	�	�	�	 �	 �	 �	 �	 �W�	 �	 �	 �����F�J�7�7�8�8�8�����F�F�H�H�j�9�9�:�:�:�:�:r8c
�6�dddddddgit��g
}|D]m}|�|t��|�t	t|��t��t
t|�������ntt����tt����tt����tt����tt����tt����tt����tt�������tt�������tt�������t#��d�dD��g}|D]m}|�|t��|�t	t|��t��t
t|�������n|�tdd	��Gd
�d��}|�|��t��dS)Nr`r�r�r8r�rYc3�K�|]}|V��dSrDrYr�s  r6r]z5TestOneTrickPonyABCs.test_Iterator.<locals>.<genexpr>r�r8�__next__r�c��eZdZd�ZdS)�4TestOneTrickPonyABCs.test_Iterator.<locals>.NextOnlyc3�K�dV�dS�Nr]rYrFs r6r`z=TestOneTrickPonyABCs.test_Iterator.<locals>.NextOnly.__next__�s���������r8N)r4rWrXr`rYr8r6�NextOnlyrb�s#������
�
�
�
�
r8re)r1rPrr�rOrornrr�rEr
rIrMr�r�rjr�rurNr�rJ)r5r�r�r�res     r6�
test_Iteratorz"TestOneTrickPonyABCs.test_Iteratorts����R��r�3��B��B����F���	K�	K�A��$�$�Q��1�1�1����Z��Q����:�:�D��a���M�M�J�J�J�J�����=�=�$�s�u�u�+�+�����=�=�$�t�v�v�,�,��T�V�V�������;�;��Y�[�[� 1� 1�������
�
�&�&��T�V�V�\�\�^�^�(<�(<�����
�
���(�(��;�;�"�?�r�?�?�?�
���	J�	J�A��!�!�!�X�.�.�.��O�O�J�t�A�w�w��9�9�4��Q���=�=�I�I�I�I��&�&�x��Z�H�H�H�	�	�	�	�	�	�	�	�	
� � �����X�6�6�6�6�6r8c��Gd�d��}Gd�d��}Gd�d��}dddd	d
ddgit��td��tg��|��|��|��g}|D]m}|�|t��|�tt
|��t��tt
|�������nGd
�d��}Gd�dt��}d�}|��d���|��|��g}	|	D]�}|�|t��|�|t��|�
tt
|��t��tt
|��������|�tdd��|��}
|�|
t|
����|�|
�
d��t|
����|�d|
�
d����|�|
�����|�t&|
jt&��|�t&d|
jt&t'd����|�t,|
jt-����Gd�dt��}|�t&|��j��Gd�dt��}|�t.|��j��dS)Nc�(�eZdZd�Zd�Zd�Zdd�ZdS)�4TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1c��|SrDrYrFs r6r�z=TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.__iter__����t�r8c��dSrDrYrFs r6r`z=TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.__next__����t�tr8c��dSrDrYrFs r6r�z:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.close�����r8Nc��dSrDrYr�s    r6r�z:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen1.throw�ror8r�)r4rWrXr�r`r�r�rYr8r6�NonGen1ri�s7������+�+�+�+�+�+�!�!�!�9�9�9�9�9�9r8rqc�&�eZdZd�Zd�Zd�Zd�ZdS)�4TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2c��|SrDrYrFs r6r�z=TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.__iter__�rkr8c��dSrDrYrFs r6r`z=TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.__next__�rmr8c��dSrDrYrFs r6r�z:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.close�ror8c��|SrDrYr�s  r6r�z9TestOneTrickPonyABCs.test_Generator.<locals>.NonGen2.send����%�<r8N)r4rWrXr�r`r�r�rYr8r6�NonGen2rs�s4������+�+�+�+�+�+�!�!�!�/�/�/�/�/r8ryc�"�eZdZd�Zd�Zdd�ZdS)�4TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3c��dSrDrYrFs r6r�z:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3.close�ror8c��|SrDrYr�s  r6r�z9TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3.send�rxr8Nc��dSrDrYr�s    r6r�z:TestOneTrickPonyABCs.test_Generator.<locals>.NonGen3.throw�ror8r�)r4rWrXr�r�r�rYr8r6�NonGen3r{�s.������!�!�!�/�/�/�9�9�9�9�9�9r8rr`r�r�r8r�rYc�.�eZdZd�Zd�Zd�Zd�Zdd�ZdS)�0TestOneTrickPonyABCs.test_Generator.<locals>.Genc��|SrDrYrFs r6r�z9TestOneTrickPonyABCs.test_Generator.<locals>.Gen.__iter__�rkr8c��dSrDrYrFs r6r`z9TestOneTrickPonyABCs.test_Generator.<locals>.Gen.__next__�rmr8c��dSrDrYrFs r6r�z6TestOneTrickPonyABCs.test_Generator.<locals>.Gen.close�ror8c��|SrDrYr�s  r6r�z5TestOneTrickPonyABCs.test_Generator.<locals>.Gen.send�rxr8Nc��dSrDrYr�s    r6r�z6TestOneTrickPonyABCs.test_Generator.<locals>.Gen.throw�ror8r�)r4rWrXr�r`r�r�r�rYr8r6�Genr��s@������+�+�+�+�+�+�!�!�!�/�/�/�9�9�9�9�9�9r8r�c�&��eZdZd�Zd�fd�	Z�xZS)�7TestOneTrickPonyABCs.test_Generator.<locals>.MinimalGenc��|SrDrYr�s  r6r�z<TestOneTrickPonyABCs.test_Generator.<locals>.MinimalGen.send�r�r8Nc�N��t���|||��dSrDr�r�s    �r6r�z=TestOneTrickPonyABCs.test_Generator.<locals>.MinimalGen.throw�r�r8r�)r4rWrXr�r�r�r�s@r6�
MinimalGenr��sL�������
�
�
�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,r8r�c3�K�dV�dSrdrYrYr8r6rzz0TestOneTrickPonyABCs.test_Generator.<locals>.gen�s�����G�G�G�G�Gr8c3�K�dV�SrDrYrYr8r6rFz5TestOneTrickPonyABCs.test_Generator.<locals>.<lambda>�s����E�E�E�Er8r�r�r^z^huhu$�huhuc��eZdZd�Zd�ZdS)�8TestOneTrickPonyABCs.test_Generator.<locals>.FailOnClosec��|SrDrYr�s  r6r�z=TestOneTrickPonyABCs.test_Generator.<locals>.FailOnClose.send�rxr8c��t�rD�r�r5r�s  r6r�z>TestOneTrickPonyABCs.test_Generator.<locals>.FailOnClose.throw�s��*�$4r8N�r4rWrXr�r�rYr8r6�FailOnCloser��s"������/�/�/�4�4�4�4�4r8r�c��eZdZd�Zd�ZdS)�@TestOneTrickPonyABCs.test_Generator.<locals>.IgnoreGeneratorExitc��|SrDrYr�s  r6r�zETestOneTrickPonyABCs.test_Generator.<locals>.IgnoreGeneratorExit.send�rxr8c��dSrDrYr�s  r6r�zFTestOneTrickPonyABCs.test_Generator.<locals>.IgnoreGeneratorExit.throw�ror8Nr�rYr8r6�IgnoreGeneratorExitr��s"������/�/�/�(�(�(�(�(r8r�)r1rrPrr�rOrornrNrr�rJr?r��nextr=rr�r�rr��assertRaisesRegex�
StopIteration�RuntimeError)
r5rqryrr�r�r�r�rzr��mgenr�r�s
             r6�test_Generatorz#TestOneTrickPonyABCs.test_Generator�s���	:�	:�	:�	:�	:�	:�	:�	:�	0�	0�	0�	0�	0�	0�	0�	0�	:�	:�	:�	:�	:�	:�	:�	:�
�"�d�B��R��R��S�U�U���H�H�d�2�h�h���	�	�7�7�9�9�g�g�i�i�A���	L�	L�A��$�$�Q�	�2�2�2����Z��Q����;�;�T�$�q�'�'�]�]�K�K�K�K�	:�	:�	:�	:�	:�	:�	:�	:�	,�	,�	,�	,�	,��	,�	,�	,�	�	�	��3�5�5�?�?�?�-�-�s�s�u�u�j�j�l�l�C���	K�	K�A��!�!�!�X�.�.�.��!�!�!�Y�/�/�/��O�O�J�t�A�w�w�	�:�:�D��a���M�M�J�J�J�J��&�&�y�&�'�B�B�B��z�|�|���
�
�d�D��J�J�'�'�'��
�
�d�i�i��o�o�t�D�z�z�2�2�2�����D�I�I�a�L�L�)�)�)����$�*�*�,�,�'�'�'����*�d�j�*�=�=�=����z�8�#�z�:�z�&�7I�7I�	K�	K�	K����-���]�_�_�E�E�E�	5�	5�	5�	5�	5�)�	5�	5�	5�	
���*�k�k�m�m�&9�:�:�:�	)�	)�	)�	)�	)�)�	)�	)�	)�	
���,�(;�(;�(=�(=�(C�D�D�D�D�Dr8c��Gd�d��}Gd�d��}Gd�d��}dddd	d
ddgit��td��tg��|��|��|��g}|D]m}|�|t��|�tt
|��t��tt
|�������nGd
�d��}Gd�dt��}d�}|��|��|��g}	|	D]�}|�|t��|�|t��|�
tt
|��t��tt
|��������|�tdd��d�}
|��}|�||�
����|�|
|�d����|
|�������|�d|
|�d������|�|
|�������|�t(��5|
|�t(����ddd��n#1swxYwYGd�dt��}|�t(��5|
|�������ddd��n#1swxYwYGd�dt��}
|�t,��5|
|
�������ddd��dS#1swxYwYdS)Nc�(�eZdZd�Zd�Zd�Zdd�ZdS)�:TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1c��|SrDrYrFs r6r�zDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.__aiter__�����r8c��dSrDrYrFs r6r�zDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.__anext__�����r8c��dSrDrYrFs r6�aclosezATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.aclose�ror8Nc��dSrDrYr�s    r6�athrowzATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen1.athrow�ror8r�)r4rWrXr�r�r�r�rYr8r6�NonAGen1r��s7������,�,�,�,�,�,�"�"�"�:�:�:�:�:�:r8r�c�&�eZdZd�Zd�Zd�Zd�ZdS)�:TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2c��|SrDrYrFs r6r�zDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.__aiter__�r�r8c��dSrDrYrFs r6r�zDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.__anext__�r�r8c��dSrDrYrFs r6r�zATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.aclose�ror8c��|SrDrYr�s  r6�asendz@TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen2.asend����5�Lr8N)r4rWrXr�r�r�r�rYr8r6�NonAGen2r��s4������,�,�,�,�,�,�"�"�"�0�0�0�0�0r8r�c�"�eZdZd�Zd�Zdd�ZdS)�:TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3c��dSrDrYrFs r6r�zATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3.aclose�ror8c��|SrDrYr�s  r6r�z@TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3.asend�r�r8Nc��dSrDrYr�s    r6r�zATestOneTrickPonyABCs.test_AsyncGenerator.<locals>.NonAGen3.athrow�ror8r�)r4rWrXr�r�r�rYr8r6�NonAGen3r��s.������"�"�"�0�0�0�:�:�:�:�:�:r8r�r`r�r�r8r�rYc�.�eZdZd�Zd�Zd�Zd�Zdd�ZdS)�5TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Genc��|SrDrYrFs r6r�z?TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.__aiter__�r�r8c��
K�dSrDrYrFs r6r�z?TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.__anext__�s
����d�dr8c��
K�dSrDrYrFs r6r�z<TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.aclose��
�����r8c��
K�|SrDrYr�s  r6r�z;TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.asend��
�����,r8Nc��
K�dSrDrYr�s    r6r�z<TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.Gen.athrow�r�r8r�)r4rWrXr�r�r�r�r�rYr8r6r�r��s@������,�,�,�2�2�2�(�(�(�6�6�6�@�@�@�@�@�@r8r�c�&��eZdZd�Zd�fd�	Z�xZS)�=TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.MinimalAGenc��
K�|SrDrYr�s  r6r�zCTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.MinimalAGen.asend�s�����r8Nc��^�K�t���|||���d{V��dSrD)r�r�r�s    �r6r�zDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.MinimalAGen.athrow�s9������g�g�n�n�S�#�r�2�2�2�2�2�2�2�2�2�2�2r8r�)r4rWrXr�r�r�r�s@r6�MinimalAGenr��sL�������
�
�
�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3r8r�c�K�dWV�dSrdrYrYr8r6rzz5TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.gen�s�����G�G�G�G�G�Gr8r�r�c��d}		|�d��n-#t$r }|jr
|jdnd}Yd}~n	d}~wwxYw�E|S)NTr)r�r�r�)r}r��exs   r6�	run_asyncz;TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.run_asyncsn���F�
���I�I�d�O�O�O�O��$����+-�7�<�R�W�Q�Z�Z��F��E�E�E�E���������
��Ms��
A�A�Ar^c��eZdZd�Zd�ZdS)�=TestOneTrickPonyABCs.test_AsyncGenerator.<locals>.FailOnClosec��
K�|SrDrYr�s  r6r�zCTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.FailOnClose.asendr�r8c��K�t�rDr�r�s  r6r�zDTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.FailOnClose.athrows�����+;r8N�r4rWrXr�r�rYr8r6r�r�s"������6�6�6�;�;�;�;�;r8r�c��eZdZd�Zd�ZdS)�ETestOneTrickPonyABCs.test_AsyncGenerator.<locals>.IgnoreGeneratorExitc��
K�|SrDrYr�s  r6r�zKTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.IgnoreGeneratorExit.asendr�r8c��
K�dSrDrYr�s  r6r�zLTestOneTrickPonyABCs.test_AsyncGenerator.<locals>.IgnoreGeneratorExit.athrow r�r8Nr�rYr8r6r�r�s"������6�6�6�/�/�/�/�/r8r�)r1rrPrr�rOrornrNrr�rJr?r�r�r�r=rr�r�rr�r�)r5r�r�r�r�r�r�r�rzr�r�r�r�r�s              r6�test_AsyncGeneratorz(TestOneTrickPonyABCs.test_AsyncGenerator�s��	;�	;�	;�	;�	;�	;�	;�	;�	1�	1�	1�	1�	1�	1�	1�	1�	;�	;�	;�	;�	;�	;�	;�	;�
�"�d�B��R��R��S�U�U���H�H�d�2�h�h���
�
�H�H�J�J���
�
�D���	Q�	Q�A��$�$�Q��7�7�7����Z��Q����@�@�$�t�A�w�w�-�-�P�P�P�P�	A�	A�	A�	A�	A�	A�	A�	A�	3�	3�	3�	3�	3�.�	3�	3�	3�	�	�	��3�5�5�#�#�%�%�����/���	P�	P�A��!�!�!�]�3�3�3��!�!�!�^�4�4�4��O�O�J�t�A�w�w��?�?��d�1�g�g���O�O�O�O��&�&�~�w��I�I�I�	�	�	��{�}�}���
�
�d�D�N�N�,�,�-�-�-��
�
�i�i��
�
�4� 0� 0�1�1�9�9�T�^�^�=M�=M�3N�3N�O�O�O�����I�I�d�j�j��m�m�4�4�5�5�5����)�)�D�K�K�M�M�2�2�3�3�3�
�
�
�z�
*�
*�	/�	/��I�d�k�k�*�-�-�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	<�	<�	<�	<�	<�.�	<�	<�	<��
�
�z�
*�
*�	.�	.��I�k�k�m�m�*�*�,�,�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	0�	0�	0�	0�	0�.�	0�	0�	0��
�
�|�
,�
,�	6�	6��I�)�)�+�+�2�2�4�4�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s6�$K<�<L�L�4&M&�&M*�-M*�&O�O�Oc���ddddt��d�dD��g}|D]m}|�|t��|�t	t|��t��t
t|�������nt��t��t��t��t��t��t��t�����t�����t�����g
}|D]m}|�|t��|�t	t|��t��t
t|�������n|�td��|�td��dS)Nr`r�r�c3�K�|]}|V��dSrDrYr�s  r6r]z2TestOneTrickPonyABCs.test_Sized.<locals>.<genexpr>(�������a�������r8rYr-)rurPrr�rOrornr�rEr
rIr1r�rMr�rjr�rNr�rJrR�r5r�r�r�s    r6�
test_SizedzTestOneTrickPonyABCs.test_Sized%sp���R��r� �{�{�&��2�������	H�	H�A��$�$�Q��.�.�.����Z��Q����7�7��d�1�g�g���G�G�G�G��7�7�C�E�E��7�7�D�F�F�C�E�E�9�;�;�����6�6�;�;�=�=�$�&�&�,�,�.�.�$�&�&�-�-�/�/����	G�	G�A��!�!�!�U�+�+�+��O�O�J�t�A�w�w��6�6��T�!�W�W�
�
�F�F�F�F��&�&�u�i�8�8�8�� � ��	�2�2�2�2�2r8c
��ddddt��d�dD��g}|D]m}|�|t��|�t	t|��t��t
t|�������nt��t��t��t��t��t��t��t�����t�����g	}|D]m}|�|t��|�t	t|��t��t
t|�������n|�td��|�td��dS)Nr`r�r�c3�K�|]}|V��dSrDrYr�s  r6r]z6TestOneTrickPonyABCs.test_Container.<locals>.<genexpr>:r�r8rYr�)rurPrr�rOrornr�rEr
rIr1r�rMr�rjrNr�rJrRr�s    r6�test_Containerz#TestOneTrickPonyABCs.test_Container7sb���R��r� �{�{�&��2�������	L�	L�A��$�$�Q�	�2�2�2����Z��Q����;�;�T�$�q�'�'�]�]�K�K�K�K��7�7�C�E�E��7�7�D�F�F�C�E�E�9�;�;�����6�6�;�;�=�=�$�&�&�,�,�.�.����	K�	K�A��!�!�!�Y�/�/�/��O�O�J�t�A�w�w�	�:�:�D��a���M�M�J�J�J�J��&�&�y�.�A�A�A�� � ��N�;�;�;�;�;r8c
���dddddddgit��t��d�dD��g}|D]m}|�|t��|�tt
|��t��tt
|�������nd�tttttjgjg}|D]m}|�
|t��|�tt
|��t��tt
|�������n|�td	��|�td	��dS)
Nr`r�r�r�r8rYc3�K�|]}|V��dSrDrYr�s  r6r]z5TestOneTrickPonyABCs.test_Callable.<locals>.<genexpr>Mr�r8c��dSrDrYrYr8r6rFz4TestOneTrickPonyABCs.test_Callable.<locals>.<lambda>Rs��4�r8�__call__)r1rurPrr�rOrornr6r�rkrIrQrNr�rJrRr�s    r6�
test_Callablez"TestOneTrickPonyABCs.test_CallableIsB���R��r��3��B��C�E�E� �{�{�&��2������
�	K�	K�A��$�$�Q��1�1�1����Z��Q����:�:�D��a���M�M�J�J�J�J��<���f���;��	���
�	J�	J�A��!�!�!�X�.�.�.��O�O�J�t�A�w�w��9�9�4��Q���=�=�I�I�I�I��&�&�x��<�<�<�� � ��:�6�6�6�6�6r8c��tttttt
tfD][}Gd�d|��}|�t||����|�	tt|�����\dS)Nc��eZdZdS)�7TestOneTrickPonyABCs.test_direct_subclassing.<locals>.CNr�rYr8r6r�r�_s�������r8r�)rrrrrrrr�rOr�r6�r5r�r�s   r6�test_direct_subclassingz,TestOneTrickPonyABCs.test_direct_subclassing]s����8�X�z�5�)�X�U�	1�	1�A�
�
�
�
�
�A�
�
�
��O�O�J�q�!�,�,�-�-�-����Z��Q�/�/�0�0�0�0�		1�	1r8c�@�tttttt
tfD]p}Gd�d��}|�t||��|j	��|�
|��|�t||�����qdS)Nc��eZdZdZdS)�1TestOneTrickPonyABCs.test_registration.<locals>.CN)r4rWrXrMrYr8r6r�r�fs���������r8r�)rrrrrrrr�rOr4r�r�r�s   r6�test_registrationz&TestOneTrickPonyABCs.test_registrationds����8�X�z�5�)�X�U�	.�	.�A�
 �
 �
 �
 �
 �
 �
 �
 ����Z��1�-�-�q�z�:�:�:�
�J�J�q�M�M�M��O�O�J�q�!�,�,�-�-�-�-�	.�	.r8N)r4rWrXr�r�r�r�r�rr%r]rfr�r�r�r�r�r�r�rYr8r6rwrws ������2�2�2�hA:�A:�A:�F7�7�7�4=�=�=�P�P�P�( <� <� <�D7B�7B�7B�rU;�U;�U;�p7�7�7�2EE�EE�EE�NO6�O6�O6�b3�3�3�$<�<�<�$7�7�7�(1�1�1�.�.�.�.�.r8rwc�4�eZdZd	d�Zd�Zd�Zd�Zd�Zd�ZdS)
�WithSetrYc�.�t|��|_dSrD)r1r<)r5�its  r6r�zWithSet.__init__ns����G�G��	�	�	r8c�*�t|j��SrD�rkr<rFs r6r-zWithSet.__len__qs���4�9�~�~�r8c�*�t|j��SrD�rr<rFs r6r�zWithSet.__iter__ts���D�I���r8c��||jvSrD�r<r�s  r6r�zWithSet.__contains__ws���t�y� � r8c�:�|j�|��dSrD)r<r�r�s  r6r�zWithSet.addzs���	�
�
�d�����r8c�:�|j�|��dSrD)r<�discardr�s  r6r�zWithSet.discard}s���	���$�����r8N�rY)	r4rWrXr�r-r�r�r�r�rYr8r6r�r�lss����������������!�!�!���� � � � � r8r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestCollectionABCsc�X�ttfD]M}|�|��t��|�t|t�����N|�tddd��Gd�dt��}|�|����dS)Nr�r�r-c� �eZdZd�Zd�Zd�ZdS)�*TestCollectionABCs.test_Set.<locals>.MySetc��dSr�rY�r5r�s  r6r�z7TestCollectionABCs.test_Set.<locals>.MySet.__contains__�r0r8c��dSrDrYrFs r6r-z2TestCollectionABCs.test_Set.<locals>.MySet.__len__�r.r8c� �tg��SrDr�rFs r6r�z3TestCollectionABCs.test_Set.<locals>.MySet.__iter__��
���B�x�x�r8N�r4rWrXr�r-r�rYr8r6�MySetr��A������
�
�
�
�
�
�
 �
 �
 �
 �
 r8r	)r1r�rNr r�rOrJrs)r5�sampler	s   r6�test_SetzTestCollectionABCs.test_Set�s����I�&�	5�	5�F��!�!�&�&�(�(�C�0�0�0��O�O�J�v�s�3�3�4�4�4�4��&�&�s�N�J�	�R�R�R�	 �	 �	 �	 �	 �C�	 �	 �	 �	
� � �����)�)�)�)�)r8c��Gd�dt��}|��|��}}|�t|��t|��k��dS)Nc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�8TestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSetc��gd�|_dS)N�r]r^rd��contentsrFs r6r�zATestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__init__�s�� )�	�	��
�
�
r8c��||jvSrDrrs  r6r�zETestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__contains__�����D�M�)�)r8c�*�t|j��SrD�rkrrFs r6r-z@TestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__len__�s���4�=�)�)�)r8c�*�t|j��SrD�rrrFs r6r�zATestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__iter__�����D�M�*�*�*r8c�*�|���SrD)�_hashrFs r6rMzATestCollectionABCs.test_hash_Set.<locals>.OneTwoThreeSet.__hash__�s���z�z�|�|�#r8N)r4rWrXr�r�r-r�rMrYr8r6�OneTwoThreeSetr�s_������
*�
*�
*�
*�
*�
*�
*�
*�
*�
+�
+�
+�
$�
$�
$�
$�
$r8r)r r�rQ)r5rr.r/s    r6�
test_hash_Setz TestCollectionABCs.test_hash_Set�sp��
	$�
	$�
	$�
	$�
	$�S�
	$�
	$�
	$��~�����!1�!1�1������Q���4��7�7�*�+�+�+�+�+r8c��Gd�dt��}|d��}|d��}|d��}|�|�|����|�|�|����dS)Nc�&�eZdZd�Zd�Zd�Zd�ZdS)�5TestCollectionABCs.test_isdisjoint_Set.<locals>.MySetc��||_dSrDr�r5�itrs  r6r�z>TestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__init__��
�� #��
�
�
r8c��||jvSrDrrs  r6r�zBTestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__contains__�rr8c�*�t|j��SrDrrFs r6r�z>TestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__iter__�rr8c�>�td�|jD����S)Nc��g|]}|��SrYrYr�s  r6r\zQTestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__len__.<locals>.<listcomp>����5�5�5�!�A�5�5�5r8rrFs r6r-z=TestCollectionABCs.test_isdisjoint_Set.<locals>.MySet.__len__��!���5�5�t�}�5�5�5�6�6�6r8N�r4rWrXr�r�r�r-rYr8r6r	r!��P������
$�
$�
$�
*�
*�
*�
+�
+�
+�
7�
7�
7�
7�
7r8r	r)r�rg�)r]rgr.)r r��
isdisjointr��r5r	�s1�s2�s3s     r6�test_isdisjoint_Setz&TestCollectionABCs.test_isdisjoint_Set�s���	7�	7�	7�	7�	7�C�	7�	7�	7��U�9�
�
��
�U�9�
�
��
�U�9�
�
������
�
�b�)�)�*�*�*�������r�*�*�+�+�+�+�+r8c���Gd�dt��}|d��}|d��}|d��}|d��}|�||k��|�||k��|�||k��|�||k��|�||k��|�||��|�||��dS)Nc�&�eZdZd�Zd�Zd�Zd�ZdS)�3TestCollectionABCs.test_equality_Set.<locals>.MySetc��||_dSrDrr#s  r6r�z<TestCollectionABCs.test_equality_Set.<locals>.MySet.__init__�r%r8c��||jvSrDrrs  r6r�z@TestCollectionABCs.test_equality_Set.<locals>.MySet.__contains__�rr8c�*�t|j��SrDrrFs r6r�z<TestCollectionABCs.test_equality_Set.<locals>.MySet.__iter__�rr8c�>�td�|jD����S)Nc��g|]}|��SrYrYr�s  r6r\zOTestCollectionABCs.test_equality_Set.<locals>.MySet.__len__.<locals>.<listcomp>�r*r8rrFs r6r-z;TestCollectionABCs.test_equality_Set.<locals>.MySet.__len__�r+r8Nr,rYr8r6r	r7�r-r8r	rVr)rdr�)r r�r�r=�assertNotEqual)r5r	r1r2r3�s4s      r6�test_equality_Setz$TestCollectionABCs.test_equality_Set�s��	7�	7�	7�	7�	7�C�	7�	7�	7��U�4�[�[��
�U�6�]�]��
�U�6�]�]��
�U�6�]�]������R�� � � �����R�� � � �����r��"�"�"�����r��"�"�"�����r��"�"�"�����R� � � ����B��#�#�#�#�#r8c��Gd�dt��}|d��}|d��}||z}|�||d����dS)Nc�&�eZdZd�Zd�Zd�Zd�ZdS)�5TestCollectionABCs.test_arithmetic_Set.<locals>.MySetc��||_dSrDrr#s  r6r�z>TestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__init__�r%r8c��||jvSrDrrs  r6r�zBTestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__contains__�rr8c�*�t|j��SrDrrFs r6r�z>TestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__iter__�rr8c�>�td�|jD����S)Nc��g|]}|��SrYrYr�s  r6r\zQTestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__len__.<locals>.<listcomp>�r*r8rrFs r6r-z=TestCollectionABCs.test_arithmetic_Set.<locals>.MySet.__len__�r+r8Nr,rYr8r6r	rB�r-r8r	r)rdr�rg)rd)r r=r0s     r6�test_arithmetic_Setz&TestCollectionABCs.test_arithmetic_Set�sy��	7�	7�	7�	7�	7�C�	7�	7�	7��U�9�
�
��
�U�9�
�
��
�"�W������U�U�4�[�[�)�)�)�)�)r8c��|�t��t��|�t	tt����|�t
��t��|�t	tt����|�tddddd��dS)Nr�r�r-r�r�)	rNr1r!r�rOrPr�r�rJrFs r6�test_MutableSetz"TestCollectionABCs.test_MutableSet�s������c�e�e�Z�0�0�0����
�3�
�3�3�4�4�4�� � ����j�9�9�9�����I�z�:�:�;�;�;��&�&�z�>�:�y��9�	�	�	�	�	r8c��td��}|td��z}|�t|��td����dS)N�abcd�cdef�cd)r�r=r1�r5rzs  r6�test_issue_5647z"TestCollectionABCs.test_issue_5647�sE���F�O�O��	�W�V�_�_�������Q����T���+�+�+�+�+r8c�0�Gd�dt��}gd�}||��}|���}|�t|��t|��dz
��|�||��|�||��dS)Nc�@�eZdZdgZd
d�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
dS)�1TestCollectionABCs.test_issue_4920.<locals>.MySet�__sNc�6�|�g}t|��|_dSrD)r1�	_MySet__s)r5rjs  r6r�z:TestCollectionABCs.test_issue_4920.<locals>.MySet.__init__�s���=��E��U������r8c��||jvSrD)rV)r5r|s  r6r�z>TestCollectionABCs.test_issue_4920.<locals>.MySet.__contains__�s���D�H�}�$r8c�*�t|j��SrD)rrVrFs r6r�z:TestCollectionABCs.test_issue_4920.<locals>.MySet.__iter__�s���D�H�~�~�%r8c�*�t|j��SrD)rkrVrFs r6r-z9TestCollectionABCs.test_issue_4920.<locals>.MySet.__len__�����4�8�}�}�$r8c�L�||jv}|j�|��|SrD)rVr��r5r|r�s   r6r�z5TestCollectionABCs.test_issue_4920.<locals>.MySet.add�s$�����(������Q�����
r8c�L�||jv}|j�|��|SrD)rVr�r\s   r6r�z9TestCollectionABCs.test_issue_4920.<locals>.MySet.discard�s(���D�H�}���� � ��#�#�#��
r8c�@�dtt|����zS)Nz	MySet(%s))rnrIrFs r6�__repr__z:TestCollectionABCs.test_issue_4920.<locals>.MySet.__repr__�s��"�T�$�t�*�*�%5�%5�5�5r8rD)r4rWrXr	r�r�r�r-r�r�r_rYr8r6r	rS�s��������g�I�
$�
$�
$�
$�
%�
%�
%�
&�
&�
&�
%�
%�
%�
�
�
�
�
�
�
6�
6�
6�
6�
6r8r	)rg�+r^r]r])r!r�r=rkr
rl)r5r	rjrzrys     r6�test_issue_4920z"TestCollectionABCs.test_issue_4920�s���	6�	6�	6�	6�	6�J�	6�	6�	6�,�
�
���E�%�L�L��
�E�E�G�G������Q����U���a��0�0�0�����A�����
�
�a������r8c��t��}ttd����}t|��}||z}|�||��t|��}||z}|�||��t|��}||z}|�||��||z}|�||��dS)Nr�)r�rqr=)r5�empty�fullrzs    r6�test_issue8750z!TestCollectionABCs.test_issue8750s����	�	���u�R�y�y�!�!���D�M�M��	�Q�������E�"�"�"��D�M�M��	�Q�������E�"�"�"��D�M�M��	�Q�������D�!�!�!�	�Q�������D�!�!�!�!�!r8c�B�Gd�dt��}Gd�dt��}|��}|��}|�||k��|�||k��|�||k��|�||k��dS)Nc� �eZdZd�Zd�Zd�ZdS)�;TestCollectionABCs.test_issue16373.<locals>.MyComparableSetc��dSr�rYrs  r6r�zHTestCollectionABCs.test_issue16373.<locals>.MyComparableSet.__contains__r0r8c��dSrDrYrFs r6r-zCTestCollectionABCs.test_issue16373.<locals>.MyComparableSet.__len__r.r8c� �tg��SrDr�rFs r6r�zDTestCollectionABCs.test_issue16373.<locals>.MyComparableSet.__iter__rr8NrrYr8r6�MyComparableSetrhr
r8rlc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�>TestCollectionABCs.test_issue16373.<locals>.MyNonComparableSetc��dSr�rYrs  r6r�zKTestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__contains__r0r8c��dSrDrYrFs r6r-zFTestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__len__!r.r8c� �tg��SrDr�rFs r6r�zGTestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__iter__#rr8c��tSrD��NotImplementedrs  r6rgzETestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__le__%���%�%r8c��tSrDrsrs  r6rezETestCollectionABCs.test_issue16373.<locals>.MyNonComparableSet.__lt__'rur8N)r4rWrXr�r-r�rgrerYr8r6�MyNonComparableSetrns_������
�
�
�
�
�
�
 �
 �
 �
&�
&�
&�
&�
&�
&�
&�
&r8rw)r r�r�)r5rlrw�cs�ncss     r6�test_issue16373z"TestCollectionABCs.test_issue16373s���	 �	 �	 �	 �	 �c�	 �	 �	 �
	&�
	&�
	&�
	&�
	&��
	&�
	&�
	&��_�
�
�� � �"�"������r��"�"�"�����r�	�"�"�"�����r��"�"�"�����r�	�"�"�"�"�"r8c�r�Gd�dt��}td��}tj}||||g��}|t	||d���t||d���t
||d���g}|D]}|D]}|�||����|�|�	|��d��|�|�	|��d��|�|�
|��d��|�|�
|��d��dS)Nc� �eZdZd�Zd�Zd�ZdS)�:TestCollectionABCs.test_issue26915.<locals>.CustomSequencec��||_dSrD��_seq�r5�seqs  r6r�zCTestCollectionABCs.test_issue26915.<locals>.CustomSequence.__init__4s
����	�	�	r8c��|j|SrDr�r5r�s  r6r�zFTestCollectionABCs.test_issue26915.<locals>.CustomSequence.__getitem__6s���y��'�'r8c�*�t|j��SrD)rkr�rFs r6r-zBTestCollectionABCs.test_issue26915.<locals>.CustomSequence.__len__8����4�9�~�~�%r8N�r4rWrXr�r�r-rYr8r6�CustomSequencer}3sA������
 �
 �
 �
(�
(�
(�
&�
&�
&�
&�
&r8r��nanrrr]r^)r'r�r�NEVER_EQr%r$r&rlr=r��count)r5r�r�r@r��
containers�	container�elems        r6�test_issue26915z"TestCollectionABCs.test_issue269151s[��	&�	&�	&�	&�	&�X�	&�	&�	&��E�l�l������n�c�3��_�-�-����#�#�&�&�'�'����%�%�&�&��3�3�'�'�(�(�	
�
�$�	/�	/�I�!�
/�
/���
�
�d�I�.�.�.�.�
/�������3����+�+�+�������3����+�+�+�������3����+�+�+�������3����+�+�+�+�+r8c�f�|�t|��t|����dSrD)�assertSetEqualr1)r5r1r2s   r6�
assertSameSetz TestCollectionABCs.assertSameSetLs*�����C��G�G�S��W�W�-�-�-�-�-r8c�`�Gd�dt��}|gd�d��}|dhz
}|�||��|�d|j��|�ddh|��|d	hz}|�||��|�d|j��|�hd
�|��|dhz}|�||��|�d|j��|�dh|��|dd	hz}|�||��|�d|j��|�hd�|��|dd	gz}|�||��|�d|j��|�hd�|��dS)
z=Verify _from_iterable overridden to an instance method works.c�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�OTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterablec�^�|std���||_t|��|_dS)Nzcreated_by must be specified)r�
created_byr1�_values)r5r�r�s   r6r�zXTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.__init__Ss2��!�F�$�%D�E�E�E�",���"�6�{�{����r8c�4�t|��|d��S)N�
from_iterable)ro)r5r�s  r6�_from_iterablez^TestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable._from_iterableYs��!�t�D�z�z�&�/�:�:�:r8c��||jvSrD�r�r�s  r6r�z\TestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.__contains__\s�����,�,r8c3�$K�|jEd{V��dSrDr�rFs r6r�zXTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.__iter___s&�����<�'�'�'�'�'�'�'�'�'r8c�*�t|j��SrD)rkr�rFs r6r-zWTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.__len__bs���4�<�(�(�(r8c�:�|j�|��dSrD)r�r�r�s  r6r�zSTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.addes���� � ��'�'�'�'�'r8c�:�|j�|��dSrD)r�r�r�s  r6r�zWTestCollectionABCs.test_Set_from_iterable.<locals>.SetUsingInstanceFromIterable.discardhs����$�$�U�+�+�+�+�+r8N)
r4rWrXr�r�r�r�r-r�r�rYr8r6�SetUsingInstanceFromIterabler�Rs}������
+�
+�
+�
;�
;�
;�
-�
-�
-�
(�
(�
(�
)�
)�
)�
(�
(�
(�
,�
,�
,�
,�
,r8r�rr>r]r�r^rdr�>r]r^rdr�>r]r^r�N)r!rNr=r�)r5r��impl�actuals    r6�test_Set_from_iterablez)TestCollectionABCs.test_Set_from_iterablePs���	,�	,�	,�	,�	,�:�	,�	,�	,�2,�+�I�I�I�v�>�>����������f�&B�C�C�C�����&�*;�<�<�<����!�Q���(�(�(���������f�&B�C�C�C�����&�*;�<�<�<�������v�.�.�.���������f�&B�C�C�C�����&�*;�<�<�<����!��f�%�%�%���A�������f�&B�C�C�C�����&�*;�<�<�<�������F�+�+�+�	
��A�������d�$@�A�A�A�������1�1�1�������D�)�)�)�)�)r8c��Gd�dt��}td��}td��}td��}|d��}|d��}|d��}td��}td��}	td��}
||z}|�||z|��|�||z|��|�||z|��|�||	z|��||z}|�||z|��|�||z|��|�||z|��|�||	z|��||z
}||z
}
|�||z
|��|�||z
|
��|�||z
|��|�||z
|
��|�||z
|��|�||z
|
��|�||	z
|��|�||z
|
��||z}|�||z|��|�||z|��|�||z|��|�||	z|��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�t��5||
kddd��n#1swxYwY|�t��5||kddd��n#1swxYwY|�t��5||	kddd��n#1swxYwY|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�t��5||
kddd��n#1swxYwY|�t��5||kddd��n#1swxYwY|�t��5||	kddd��n#1swxYwY|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�t��5||
kddd��n#1swxYwY|�t��5||kddd��n#1swxYwY|�t��5||	kddd��n#1swxYwY|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�t��5||
kddd��n#1swxYwY|�t��5||kddd��n#1swxYwY|�t��5||	kddd��n#1swxYwY|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||
k��|�||k��|�||	k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||
k��|�||k��|�||	k��dS)	Nc�.�eZdZdd�Zd�Zd�Zd�Zd�ZdS)	�LTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSetrYc�d�g|_|D]%}||jvr|j�|���&dSrD)r<rQ)r5�elementsr�s   r6r�zUTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__init__�sF����	�$�/�/�D��4�9�,�,��	�(�(��.�.�.��/�/r8c��||jvSrDr�)r5r�s  r6r�zYTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__contains__�s���t�y�(�(r8c�*�t|j��SrDr�rFs r6r�zUTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__iter__�s���D�I���&r8c�*�t|j��SrDr�rFs r6r-zTTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__len__�r�r8c�6�d�|j��S)Nz	Set({!r}))r3r<rFs r6r_zUTestCollectionABCs.test_Set_interoperability_with_real_sets.<locals>.ListSet.__repr__�s��"�)�)�$�)�4�4�4r8Nr�)r4rWrXr�r�r�r-r_rYr8r6�ListSetr��sd������
/�
/�
/�
/�

)�
)�
)�
'�
'�
'�
&�
&�
&�
5�
5�
5�
5�
5r8r�rU�bcd�abcde�abccba�bcddcb�
abcdeedcba)r r1rIr�r�r�r�r�)r5r��r1�r2�r3�f1�f2�f3�l1�l2�l3�target�
fwd_target�
rev_targets              r6�(test_Set_interoperability_with_real_setsz;TestCollectionABCs.test_Set_interoperability_with_real_sets�s
��
	5�
	5�
	5�
	5�
	5�c�
	5�
	5�
	5���Z�Z��
��Z�Z��
��\�\��
�W�U�^�^��
�W�U�^�^��
�W�W�
�
��
�(�^�^��
�(�^�^��
�,�
�
���b������2��7�F�+�+�+����2��7�F�+�+�+����2��7�F�+�+�+����2��7�F�+�+�+��b������2��7�F�+�+�+����2��7�F�+�+�+����2��7�F�+�+�+����2��7�F�+�+�+��"�W�
��"�W�
����2��7�J�/�/�/����2��7�J�/�/�/����2��7�J�/�/�/����2��7�J�/�/�/����2��7�J�/�/�/����2��7�J�/�/�/����2��7�J�/�/�/����2��7�J�/�/�/��b������2��7�F�+�+�+����2��7�F�+�+�+����2��7�F�+�+�+����2��7�F�+�+�+�	
����R�� � � �����b��!�!�!�����b��!�!�!�����R�� � � �����b��!�!�!�����b��!�!�!�����R�� � � �����b��!�!�!�����b��!�!�!�
�
�
�y�
)�
)�	�	���G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	���G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	���G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����b��!�!�!�����b��!�!�!�����r��"�"�"�����b��!�!�!�����b��!�!�!�����r��"�"�"�����b��!�!�!�����b��!�!�!�����r��"�"�"�
�
�
�y�
)�
)�	�	��"�H�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��"�H�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��"�H�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����R�� � � �����b��!�!�!�����b��!�!�!�����R�� � � �����b��!�!�!�����b��!�!�!�����R�� � � �����b��!�!�!�����b��!�!�!�
�
�
�y�
)�
)�	�	���G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	���G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	���G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����b��!�!�!�����b��!�!�!�����r��"�"�"�����b��!�!�!�����b��!�!�!�����r��"�"�"�����b��!�!�!�����b��!�!�!�����r��"�"�"�
�
�
�y�
)�
)�	�	��"�H�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	���G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��"�H�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����b��!�!�!�����b��!�!�!�����b��!�!�!�����r��"�"�"�����r��"�"�"�����r��"�"�"�����r��"�"�"�����r��"�"�"�����r��"�"�"�	
����r��"�"�"�����r��"�"�"�����r��"�"�"�����b��!�!�!�����b��!�!�!�����b��!�!�!�����b��!�!�!�����b��!�!�!�����b��!�!�!�!�!s��N*�*N.�1N.�O"�"O&�)O&�P�P�!P� T3�3T7�:T7�U+�+U/�2U/�V#�#V'�*V'�)Z<�<[�[�![4�4[8�;[8�\,�,\0�3\0�2a�a	�a	�*a=�=b�b�"b5�5b9�<b9c��idhdhdhdhdhhd�ddzddzhhd	�d
dht��t��t��htd��ht��hhtd
���htd
���hd�z
httjdz
tjdz���g}|D]H}t|��}|�t|��tj	|��|����IdS)Nr]rMgrU>r]r^rdr�re�e>r�r.r/�abFTr���>�,re��)�msg)
r�r�r�rqr��maxsizer=rQr r)r5�setsrz�fss    r6�test_Set_hash_matches_frozensetz2TestCollectionABCs.test_Set_hash_matches_frozenset s�����d�V�b�T�C�5�5�'�9�9�9�
��W�b�#�g�� 4� 4� 4�u�d�m�
�X�X�v�x�x����*�U�5�\�\�N�i�k�k�]��e�D�k�k�N�N�e�D�k�k�N�_�_�_�<�8�e�C�K�"�$�c�k�B�&6�7�7�8�
���	=�	=�A��1���B����T�"�X�X�s�y��}�}�!��<�<�<�<�	=�	=r8c��tfD]M}|�|��t��|�t	|t�����N|�tdddd��Gd�dt��}|�|����|�tt|����dS)Nr�r�r-r�c� �eZdZd�Zd�Zd�ZdS)�2TestCollectionABCs.test_Mapping.<locals>.MyMappingc��dSrDrYrFs r6r-z:TestCollectionABCs.test_Mapping.<locals>.MyMapping.__len__3r.r8c��t�rD)rP)r5r�s  r6r�z>TestCollectionABCs.test_Mapping.<locals>.MyMapping.__getitem__5s�� � r8c� �td��S)NrYr�rFs r6r�z;TestCollectionABCs.test_Mapping.<locals>.MyMapping.__iter__7rr8N)r4rWrXr-r�r�rYr8r6�	MyMappingr�2sA������
�
�
�
!�
!�
!�
 �
 �
 �
 �
 r8r�)
rMrNr"r�rOrJrsr�r�r)r5rr�s   r6�test_MappingzTestCollectionABCs.test_Mapping,s����f�	9�	9�F��!�!�&�&�(�(�G�4�4�4��O�O�J�v�w�7�7�8�8�8�8��&�&�w��
�I��	�	�	�	 �	 �	 �	 �	 ��	 �	 �	 �	
� � �����-�-�-����)�X�y�y�{�{�;�;�;�;�;r8c	���tfD]M}|�|��t��|�t	|t�����N|�tdddddd��dS)Nr�r�r-r��__setitem__�__delitem__)rMrNr#r�rOrJ�r5rs  r6�test_MutableMappingz&TestCollectionABCs.test_MutableMapping<s����f�	@�	@�F��!�!�&�&�(�(�N�;�;�;��O�O�J�v�~�>�>�?�?�?�?��&�&�~�~�z�S\��=�-�	9�	9�	9�	9�	9r8c�*�t��}d|d<|�|���t��|�|���t��|�|���t��|�|���t��|�|���t��|�|���t��t��}d|d<|���dhz}|�|t��t|��d|d<|�t|��ddg��t��}d|d<|���dhz}|�|t��t|��d|d<|�|ddh��dS)Nrg�red�orange��blue)r�rd)r�rg)r
rNr�r r$r�rr&rjr%r1rIr=�sorted)r5�mymaprfs   r6�test_MutableMapping_subclassz/TestCollectionABCs.test_MutableMapping_subclassCs����
�
����e�����e�j�j�l�l�C�0�0�0����e�j�j�l�l�H�5�5�5����e�l�l�n�n�j�9�9�9����e�l�l�n�n�j�9�9�9����e�k�k�m�m�S�1�1�1����e�k�k�m�m�Y�7�7�7��
�
����e���J�J�L�L�H�:�%�����a��%�%�%��Q������f�
��������X�u�$5�6�6�6��
�
����e���K�K�M�M�]�O�+�����a��%�%�%��Q������f�
�����]�J�7�8�8�8�8�8r8c��ttttfD]M}|�|��t
��|�t|t
�����N|�td��t
��|�ttt
����|�td��t
��|�ttt
����|�ttt
����|�
t
dddd��dS)Nr�r8r�r�r-r�)r
rIr�rErNr'r�rOrq�
memoryviewrJr�s  r6�
test_Sequencez TestCollectionABCs.test_Sequence^s���d�E�3�/�	:�	:�F��!�!�&�&�(�(�H�5�5�5��O�O�J�v�x�8�8�9�9�9�9����e�B�i�i��2�2�2����
�5�(�3�3�4�4�4����j��o�o�x�8�8�8����
�:�x�8�8�9�9�9����
�3��1�1�2�2�2��&�&�x���Y��	�	�	�	�	r8c���Gd�dt��}�fd�}ttfD]�}|d��}ddgttdt	|��dz����z}||��}t|��d	hzD]u}||||f��tdt	|��dz��D]D}|||||f��tdt	|��dz��D]}	||||||	f����E�v��dS)
Nc�"�eZdZdd�Zd�Zd�ZdS)�ATestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclassrYc��||_dSrD�r�r�s  r6r�zJTestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclass.__init__ls
������r8c��|j|SrDr�r�s  r6r�zMTestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclass.__getitem__o����x���&r8c�*�t|j��SrD)rkr�rFs r6r-zITestCollectionABCs.test_Sequence_mixins.<locals>.SequenceSubclass.__len__rrZr8Nr�r�rYr8r6�SequenceSubclassr�ksF������
�
�
�
�
'�
'�
'�
%�
%�
%�
%�
%r8r�c���	|j|�}|j|�}��|||�d|����dS#t$rB��t��5|j|�ddd��YdS#1swxYwYYdSwxYw)Nz.index)r�r=rr�)�seq1�seq2�
index_args�expectedr�r5s     �r6�assert_index_samezBTestCollectionABCs.test_Sequence_mixins.<locals>.assert_index_samevs���
I�%�4�:�z�2��
$���Z�0��� � ��H�d�d�d�J�J�&G�I�I�I�I�I���
,�
,�
,��&�&�z�2�2�,�,��D�J�
�+�+�,�,�,�,�,�,�,�,�,�,�,�,�,����,�,�,�,�,�,�,�
,���s3�
5�$B�A2�$B�2A6	�6B�9A6	�:B�B�abracadabrai���i������rdrf)r'rIrErqrkr1)
r5r�r��ty�	nativeseq�indexes�seqseq�letterr��stops
`         r6�test_Sequence_mixinsz'TestCollectionABCs.test_Sequence_mixinsjs����	%�	%�	%�	%�	%�x�	%�	%�	%�		I�		I�		I�		I�		I���)�
	F�
	F�B���=�)�)�I��u�o��U�2�s�9�~�~��7I�-J�-J�(K�(K�K�G�%�%�i�0�0�F��i�.�.�C�5�0�
F�
F��!�!�)�V�f�Y�?�?�?�"�2�s�9�~�~��'9�:�:�F�F�E�%�%�i��&�%��I�I�I� %�b�#�i�.�.�1�*<� =� =�F�F��)�)�%�v���t�/D�F�F�F�F�F�F�
F�	
	F�
	Fr8c�d�ttfD]M}|�|��t��|�t|t�����NtttfD]M}|�	|��t��|�
t|t�����N|�	td��t��|�
ttt����|�tdd��dS)Nr8r�r-)
r�r�rNr)r�rOrErIr
rPr�r�rJr�s  r6�test_ByteStringz"TestCollectionABCs.test_ByteString�s����i�(�	<�	<�F��!�!�&�&�(�(�J�7�7�7��O�O�J�v�z�:�:�;�;�;�;��D�%�(�	=�	=�F��$�$�V�V�X�X�z�:�:�:����Z��
�;�;�<�<�<�<�� � ��C���*�=�=�=�����J�
�;�;�<�<�<��&�&�z�=�)�L�L�L�L�Lr8c
�*�tttfD]M}|�|��t��|�t
|t�����NtttfD]M}|�
|��t��|�t
|t�����N|�t
tt����|�tddddddd��dS)Nr�r�r-r�r�r��insert)
r
rEr�rPr(r�rOrIr�rrNr�rJr�s  r6�test_MutableSequencez'TestCollectionABCs.test_MutableSequence�s���c�5�)�	B�	B�F��$�$�V�V�X�X��?�?�?����Z���@�@�A�A�A�A��Y��.�	A�	A�F��!�!�&�&�(�(�O�<�<�<��O�O�J�v��?�?�@�@�@�@�����C��9�9�:�:�:��&�&���
��}�m�]�H�	N�	N�	N�	N�	Nr8c���Gd�dt��}|��}|�d��|�d��|�t	|��d��|�|dd��|���|�|dd��|���|�t	|��d��|�d��|�t	|��d��|d	z
}|�t	|��d
��|�|dd��|���|�t	|��d��d
}|��}|�||z��|���|�|��|�|��|�t	|��t	|����|�t|��t|����dS)Nc�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�OTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclassc��g|_dSrD��lstrFs r6r�zXTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__init__�s
������r8c��||j|<dSrDr�r5r�r�s   r6r�z[TestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__setitem__�s��"'������r8c��|j|SrDrr�s  r6r�z[TestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__getitem__�r�r8c�*�t|j��SrD)rkrrFs r6r-zWTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__len__�rZr8c��|j|=dSrDrr�s  r6r�z[TestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.__delitem__�s���H�U�O�O�Or8c�<�|j�||��dSrD)rrr	s   r6rzVTestCollectionABCs.test_MutableSequence_mixins.<locals>.MutableSequenceSubclass.insert�s�������u�-�-�-�-�-r8N)	r4rWrXr�r�r�r-r�rrYr8r6�MutableSequenceSubclassr�sn������
�
�
�
(�
(�
(�
'�
'�
'�
%�
%�
%�
$�
$�
$�
.�
.�
.�
.�
.r8rr)r]r^rdr�rgrdr]r�rr.rMr`�ABCD)
r(rQ�extendr=rk�reverser��remove�clearrI)r5r�mssrj�mss2s     r6�test_MutableSequence_mixinsz.TestCollectionABCs.test_MutableSequence_mixins�s��	.�	.�	.�	.�	.�o�	.�	.�	.�&&�%�'�'���
�
�1�
�
�
��
�
�<� � � �����S���1�%�%�%�����Q���#�#�#����
�
�
�����Q���#�#�#����	�	�	�����S���1�%�%�%��
�
�1�
�
�
�����S���1�%�%�%��|�������S���1�%�%�%�����R��"�%�%�%��	�	��������S���1�%�%�%���&�&�(�(�����E�E�M�"�"�"��	�	�����
�
�5�����
�
�3��������S���3�t�9�9�-�-�-�����c���D��J�J�/�/�/�/�/r8c��|�t��5Gd�dt��}ddd��dS#1swxYwYdS)Nc�,�eZdZejejzZdS)�9TestCollectionABCs.test_illegal_patma_flags.<locals>.BothN)r4rWrXr'�	__flags__r"�__abc_tpflags__rYr8r6�Bothr�s������#+�#5��8I�#I���r8r)r�r�r)r5rs  r6�test_illegal_patma_flagsz+TestCollectionABCs.test_illegal_patma_flags�s���
�
�
�y�
)�
)�	K�	K�
K�
K�
K�
K�
K�z�
K�
K�
K�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K����	K�	K�	K�	K�	K�	Ks�<�A�AN)r4rWrXrrr4r?rHrJrPrarerzr�r�r�r�r�r�r�r�r�r�r�rrrrYr8r6r�r��s�������*�*�*�
,�
,�
,�,�,�,� $�$�$�,
*�
*�
*����,�,�,� � � �>
"�
"�
"�#�#�#�:,�,�,�6.�.�.�6*�6*�6*�pV"�V"�V"�p
=�
=�
=�<�<�<� 9�9�9�9�9�9�6
�
�
�!F�!F�!F�F	M�	M�	M�	N�	N�	N�00�00�00�dK�K�K�K�Kr8r�c��eZdZd�Zd�ZdS)�CounterSubclassWithSetItemc�>�d|_tj|g|�Ri|��dSr��r�r
r�r�s   r6r�z#CounterSubclassWithSetItem.__init__��0��������-��-�-�-��-�-�-�-�-r8c�@�d|_tj|||��dSr�)r�r
r�)r5rzr�s   r6r�z&CounterSubclassWithSetItem.__setitem__�s$�������D�#�u�-�-�-�-�-r8N)r4rWrXr�r�rYr8r6rr�s2������.�.�.�.�.�.�.�.r8rc��eZdZd�Zd�ZdS)�CounterSubclassWithGetc�>�d|_tj|g|�Ri|��dSr�r!r�s   r6r�zCounterSubclassWithGet.__init__�r"r8c�<�d|_tj|||��Sr�)r�r
rm)r5rz�defaults   r6rmzCounterSubclassWithGet.get�s������{�4��g�.�.�.r8N)r4rWrXr�rmrYr8r6r%r%�s2������.�.�.�/�/�/�/�/r8r%c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestCounterc
��td��}|�|tdddd�����|�|tddd�����|�|t��|�|t��|�t
tt����|�t
tt����|�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��|�|tddd�����|�t|��d��|�|���gd���t#d��D]5}|�|�|��gd�d|����6|�d�|�����d��|dxxdz
cc<|d	xxdzcc<|d=|d=|dxxdzcc<d|d<|dxxdz
cc<|�|tddddd�����|�d�|�����d��|�|�d��d��|�d|��t#d��D]/}|���\}}|�||���0|���|�|i��|�t|��d��|�t2tjd��|�t6t8|��|�tdd�����|�d� ��|�td!����|���|�d"��|�d#��|���|�|td$d%dd�&����|�|�dd��d��|�|dd��|�|�dd��d��|�|dd��dS)'N�abcabardr^r]rcr.)rdr^r]))r.rdr��rar]r/rfrraTFr�z!Counter({'a': 3, 'b': 2, 'c': 1})rgr��aaabbcr.ryr_r}r�r����)r.r/ryr}r��aaaaffffz	Counter()rUr-)ra�Paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbb� aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb�cdci+r�r�) r
r=rNrMr"r�rOrk�sumr�rIr�rjr�rmrn�most_commonrqr�r�r�r
r�rr��NotImplementedErrorrGr�rQr�r��
setdefault)r5rar�r��cnts     r6r�zTestCounter.test_basics�s���H��������G��!�!�$<�$<�=�=�>�>�>�����G�a�1��2�2�2�3�3�3����a��&�&�&����a��)�)�)����
�7�D�1�1�2�2�2����
�7�G�4�4�5�5�5�����Q����#�#�#�����Q�X�X�Z�Z���!�,�,�,�����a�h�h�j�j�)�)�9�9�9�5�5�5�����a�f�f�h�h������9�9�9�����a���/�/�/�2�2�2�����a�g�g�i�i���7�7�7�	9�	9�	9�����3���#�#�#�����3���#�#�#��������,�,�d�3�3�3��������,�,�e�4�4�4�������s�B����+�+�+�������s�B����,�,�,�����D�1��Q�/�/�/�0�0�0�����a���"E�F�F�F���������*H�*H�*H�I�I�I��q���	A�	A�A����Q�]�]�1�-�-�;�;�;�B�Q�B�?�
A�
A�
A�
A������������.�.��9�9�9�	�#����!�����	�#����!�����
�c�F�
�c�F�	�#����!�������#��	�#����!���������D�1��R�2��;�;�;�<�<�<������������.�.�
�;�;�;�������s���Q�'�'�'�����a� � � ��q���	&�	&�A��	�	���I�D�#����T�1�%�%�%�%�	���	�	�	�����B��������a���+�.�.�.����-�w�/?��G�G�G����)�T�1�-�-�-�	�����Q���� � � �	���1��
�
�
�	����,�-�-�.�.�.�	���
�
�
�	�
�
�(�)�)�)�	�
�
�5����	�
�
��������D�3�#��a�8�8�8�9�9�9�������c�1�-�-�q�1�1�1�����3���#�#�#�������c�1�-�-�q�1�1�1�����3���#�#�#�#�#r8c�n�|�ttd��������dg��|�ttd��������dg��|�ttd��������dg��|�t
td��|�t
tdd��|�t
tj��dS)Nr`rF�r5r`�r��r�r`�r�NrY)r=rIr
rjr�r�r�rFs r6�	test_initzTestCounter.test_init0s�������g�2�.�.�.�4�4�6�6�7�7�,��H�H�H�����g�r�2�2�2�8�8�:�:�;�;�>N�=O�P�P�P�����g�t�4�4�4�:�:�<�<�=�=�@R�?S�T�T�T����)�W�b�1�1�1����)�W�b�"�5�5�5����)�W�%5�6�6�6�6�6r8c�z�tddd���}|�|���d��dS)Nr�rgrrc�)r
r=�total�r5ras  r6�
test_totalzTestCounter.test_total8s:���b�A��#�#�#����������B�'�'�'�'�'r8c�&��|�ttd�������gd���|�ttd�������gd���|�ttd�������gd���d}d}d	�tt�||z����D����fd
�}t|��t|��}}|�||
����|�||����|�|||z����|�|||z
����|�|||z����|�|||z����t|��t|��}}||z
}|�||����t|��t|��}}||z}|�||����t|��t|��}}||z}|�||����t|��t|��}}||z}|�||����t|��t|��}}|�	|��|�||����t|��t|��}}|�
|��|�||����dS)Nr��)r.rgr�)ryr^r-)ryr]�xyzpdqqdpzyx))r�r^)r�r^)rfr^)r�r^)ryr^)rmr^zabracadabra simsalabim)r.r.r.r.r.r.r.r/r/r/ryryrary� rzrzr�r�r�r��l�aaabbcdddeefggghhijjjkkl�abbcccdeefffhkkllllmmnnoc��i|]\}}||��	SrYrY)r[r�r�s   r6�
<dictcomp>z7TestCounter.test_order_preservation.<locals>.<dictcomp>Os��N�N�N�y�q�&���N�N�Nr8c�F���fd�|D��}|t|��kS)z6Return true if the letters occur in the expected orderc� ��g|]
}�|��SrYrY)r[r��orders  �r6r\zRTestCounter.test_order_preservation.<locals>.correctly_ordered.<locals>.<listcomp>Rs���9�9�9�6��v��9�9�9r8)r�)r��	positionsrOs  �r6�correctly_orderedz>TestCounter.test_order_preservation.<locals>.correctly_orderedPs/���9�9�9�9�S�9�9�9�I���y� 1� 1�1�1r8)r=rIr
rjr�rarMrGr�r��subtract)r5�ps�qsrQr�rmrOs      @r6r�z#TestCounter.test_order_preservation<s��������g�m�4�4�:�:�<�<�=�=�A�A�A�	C�	C�	C�
	
����g�n�5�5�;�;�=�=�>�>�K�K�K�	M�	M�	M�	
����g�&>�?�?�H�H�J�J�K�K�H�H�H�	I�	I�	I�(��
'��N�N�I�d�m�m�B��G�6L�6L�,M�,M�N�N�N��	2�	2�	2�	2�	2�
�r�{�{�G�B�K�K�1�����)�)�1�"�-�-�.�.�.����)�)�1�"�-�-�.�.�.����)�)�!�a�%�0�0�1�1�1����)�)�!�a�%�0�0�1�1�1����)�)�!�a�%�0�0�1�1�1����)�)�!�a�%�0�0�1�1�1��r�{�{�G�B�K�K�1��	�Q������)�)�!�,�,�-�-�-��r�{�{�G�B�K�K�1��	�Q������)�)�!�,�,�-�-�-��r�{�{�G�B�K�K�1��	�Q������)�)�!�,�,�-�-�-��r�{�{�G�B�K�K�1��	�Q������)�)�!�,�,�-�-�-��r�{�{�G�B�K�K�1��	����������)�)�!�,�,�-�-�-��r�{�{�G�B�K�K�1��	�
�
�1�
�
�
����)�)�!�,�,�-�-�-�-�-r8c�"�t��}|�d���|�t|�����dg��t��}|�d���|�t|�����dg��t��}|�d���|�t|�����dg��|�tt��jd��|�tt��jii��|�ttj��dS)Nr`rFr:r;r<r=)r
r�r=rIrjr�r�rBs  r6�test_updatezTestCounter.test_updateus-���I�I��	���b���������a�g�g�i�i���<�.�9�9�9��I�I��	���"���������a�g�g�i�i���+;�*<�=�=�=��I�I��	���$���������a�g�g�i�i���+=�*>�?�?�?����)�W�Y�Y�%5�r�:�:�:����)�W�Y�Y�%5�r�2�>�>�>����)�W�^�4�4�4�4�4r8c
�����td��������fd�}|������|tj�����|tj�����t	t
jdz��D]`}��|���5|tjtj	�|������ddd��n#1swxYwY�a|tt�������t��}|����||��|t�����dS)Nz)which witch had which witches wrist watchc�r��d|�d���}��|�|����|���dS)Nz
copy: z
words: )r;r=)�dupr�r5r
s  ��r6�checkz'TestCounter.test_copying.<locals>.check�sI����-0�S�S�%�%�8�C����S�%��-�-�-����S�%�(�(�(�(�(r8r]r )
r
r�r:rvrqrrrsr)rtrurwrnr�)r5rZr��update_testr
s`   @r6�test_copyingzTestCounter.test_copying�s������C�I�I�K�K�L�L��	)�	)�	)�	)�	)�	)�	��e�j�j�l�l����
��d�i�������
��d�m�E�"�"�#�#�#��6�2�Q�6�7�7�	@�	@�E����E��*�*�
@�
@���f�l�6�<��u�#=�#=�>�>�?�?�?�
@�
@�
@�
@�
@�
@�
@�
@�
@�
@�
@����
@�
@�
@�
@��
��d�4��;�;��� � � ��i�i�����5�!�!�!�
��k����
��g�e�n�n�����s�51C2�2C6	�9C6	c�V�Gd�dt��}|d��}|���}|�||��|�t|��t|����|�t	|��t	|����dS)Nc��eZdZdS)�1TestCounter.test_copy_subclass.<locals>.MyCounterNr�rYr8r6�	MyCounterr_�r�r8r`�slartibartfast)r
r:r=rkro)r5r`rarys    r6�test_copy_subclasszTestCounter.test_copy_subclass�s���	�	�	�	�	��	�	�	��I�&�'�'��
�F�F�H�H������A��������Q����Q���(�(�(�����a���$�q�'�'�*�*�*�*�*r8c�n�d}|�tt|�������t|����|�tt|����tt	|������|�tt|����tt|���������|�t	t|����t	|����dS)Nz%she sells sea shells by the sea shore)r=r�r
r�r1rMrjrOs  r6�test_conversionszTestCounter.test_conversions�s���3��������
�
� 3� 3� 5� 5�6�6��q�	�	�B�B�B�������
�
�+�+�V�C��F�F�^�^�<�<�<�����g�a�j�j�)�)�4���
�
�0@�0@�0B�0B�+C�+C�D�D�D�����W�Q�Z�Z���#�a�&�&�1�1�1�1�1r8c��tddd���}|D]/}|�||v��|�||���0dS)Nr�r/rrc)r
r�rl)r5rar�s   r6�"test_invariant_for_the_in_operatorz.TestCounter.test_invariant_for_the_in_operator�s\���b�B�!�$�$�$���	#�	#�D��O�O�D�A�I�&�&�&��M�M�$��"�"�"�"�	#�	#r8c��tddd���t��z}|�t|��td�����d}td��D�]8}ttd�|D������}|�d	d
d���ttd�|D������}|�d	d
d�
��tjd�ftjd�ftjd�ftjd�ffD]~\}}|||��}|D]9}	|�|||	||	��||	||	||f���:|�	d�|�
��D�������:d}td��D�]!}ttd�|D������}ttd�|D������}tjtjftjtjftjtjffD]�\}}
|||��}|
t|�����t|�������}|�|t�
|d	��������#dS)Nr�r/rrcr�rLr�c3�:K�|]}|tdd��fV��dS�r/r�N�r�r[r�s  r6r]z7TestCounter.test_multiset_operations.<locals>.<genexpr>��/����J�J��d�I�b��O�O�4�J�J�J�J�J�Jr8r]rM�r}r�r�c3�:K�|]}|tdd��fV��dSrirjrks  r6r]z7TestCounter.test_multiset_operations.<locals>.<genexpr>�rlr8�r�r�r�c�(�td||z��SrD�rOr�s  r6rFz6TestCounter.test_multiset_operations.<locals>.<lambda>����s�1�a��c�{�{�r8c�(�td||z
��SrDrqr�s  r6rFz6TestCounter.test_multiset_operations.<locals>.<lambda>�rrr8c�$�td||��SrDrqr�s  r6rFz6TestCounter.test_multiset_operations.<locals>.<lambda>�s��c�!�A�a�j�j�r8c�>�tdt||����SrD)rO�minr�s  r6rFz6TestCounter.test_multiset_operations.<locals>.<lambda>�s��s�1�c�!�A�h�h�/?�/?�r8c3�"K�|]
}|dkV��dS)rNrYr�s  r6r]z7TestCounter.test_multiset_operations.<locals>.<genexpr>�s&����=�=���!��=�=�=�=�=�=r8�abcdefrec3�:K�|]}|tdd��fV��dS�rr^Nrjrks  r6r]z7TestCounter.test_multiset_operations.<locals>.<genexpr>��/����J�J��d�I�a��O�O�4�J�J�J�J�J�Jr8c3�:K�|]}|tdd��fV��dSrzrjrks  r6r]z7TestCounter.test_multiset_operations.<locals>.<genexpr>�r{r8)r
r=rMrqr��__add__�__sub__�__or__�__and__r�r�r1r�rG)
r5rar�r�r�rm�	counterop�numberopr�r��setop�counter_result�
set_results
             r6�test_multiset_operationsz$TestCounter.test_multiset_operations�s����b�B�!�$�$�$�w�y�y�0������a���$��*�*�*�-�-�-����t���	>�	>�A���J�J��J�J�J�J�J�K�K�A�
�H�H�q�B�!�H�$�$�$���J�J��J�J�J�J�J�K�K�A�
�H�H�q�B�!�H�$�$�$���":�":�;���":�":�;���!8�!8�9���"?�"?�@�	(�
>�
>�#�	�8�#��1�a����!�;�;�A��$�$�X�X�a��d�A�a�D�%9�%9�6�!�9�&/��A�q�%9�;�;�;�;����=�=�V�]�]�_�_�=�=�=�=�=�=�=�
>����s���	O�	O�A���J�J��J�J�J�J�J�K�K�A���J�J��J�J�J�J�J�K�K�A���#�+�.�����,���#�+�.�%�
O�
O� �	�5�
"+��1�a����"�U�3�q�z�z�|�|�#4�#4�c�!�*�*�,�,�6G�6G�H�H�
�� � �����z�1�1M�1M�N�N�N�N�
O�		O�	Or8c���d}td��D�]W}ttd�|D������}|�ddd���ttd�|D������}|�ddd�	��tjtjftjtjftjtj	ftj
tjffD]y\}}|���}t|��}|||��}	|||��}
|�|
|	��|�t|
��|���z��YdS)
NrLr�c3�:K�|]}|tdd��fV��dSrirjrks  r6r]z6TestCounter.test_inplace_operations.<locals>.<genexpr>�rlr8r]rMrrmc3�:K�|]}|tdd��fV��dSrirjrks  r6r]z6TestCounter.test_inplace_operations.<locals>.<genexpr>�rlr8ro)rqr
rMr��__iadd__r}�__isub__r~�__ior__r�__iand__r�r:�idr=)r5r�r�r�rm�
inplace_op�
regular_opra�c_id�regular_result�inplace_results           r6�test_inplace_operationsz#TestCounter.test_inplace_operations�s_�����t���	;�	;�A���J�J��J�J�J�J�J�K�K�A�
�H�H�q�B�!�H�$�$�$���J�J��J�J�J�J�J�K�K�A�
�H�H�q�B�!�H�$�$�$��!�7�?�3��!�7�?�3���'�.�1��!�7�?�3�	+�
;�
;�&�
�J��F�F�H�H���!�u�u��!+��A�q�!1�!1��!+��A�q�!1�!1��� � ���@�@�@�� � ��N�!3�!3�T�:�:�:�:�
;�
	;�	;r8c
��tdddddd���}|�dd	d
dddd
���|�|tdddddddd�����tdddddd���}|�tdd	d
dddd
�����|�|tdddddddd�����td��}|�d��|�|tddddd�����t��}|�d���|�t|�����dg��t��}|�d���|�t|�����dg��|�tt��jd��|�tt��jii��|�ttj��dS)Nr_rrgr�r@rt�r.r/raryr}r�r]r^r�r_r`i���)r.r/raryr}r�r�i����r/�i��ru)r.r/raryr}r�r�r��aaabbcd�	aaaabbccerMr�r`rF)r5����r;)r�r�)r
rRr=rIrjr�r�rBs  r6�
test_subtractzTestCounter.test_subtract�s���b�A��b�B��4�4�4��	�
�
�Q�!�r�R�2��s�
�;�;�;�����G�b�B�!�q�B�#��r�R�R�R�S�S�S��b�A��b�B��4�4�4��	�
�
�7�Q�!�r�R�2��s�C�C�C�D�D�D�����G�b�B�!�q�B�#��r�R�R�R�S�S�S��I����	�
�
�;��������G�b�A��q�B�?�?�?�@�@�@��I�I��	�
�
��
��������a�g�g�i�i���=�/�:�:�:��I�I��	�
�
�B�
��������a�g�g�i�i���+<�*=�>�>�>����)�W�Y�Y�%7��<�<�<����)�W�Y�Y�%7��R�@�@�@����)�W�%5�6�6�6�6�6r8c	��tdddddd���}|�t|
��tdddd�����|�t|��td�	����dS)
Nr_rrgr�r@rtr�)raryr}r�r�)r
r=rMrBs  r6�
test_unaryzTestCounter.test_unary�sw���b�A��b�B��4�4�4������q�b���4�!�r�R�2�#>�#>�#>�?�?�?�����q�b���4�!�9�9�9�-�-�-�-�-r8c��tdd���}t|��}|�d|��|�d|��dS)Nr^r-z'a': 2z	'b': None)r
rnrl)r5rarys   r6�test_repr_nonsortablez!TestCounter.test_repr_nonsortable	sM���a�4� � � ����G�G���
�
�h��"�"�"��
�
�k�1�%�%�%�%�%r8c	�f�td��}t��}t||��|�|dddddd���t	��}t||��|�|t	gd�����td��}|�|j��|�t|��dddddd���td��}|�|j��|�t|��dddddd���dS)Nr�rgr^r])r.ryr/raryrE)r.r/raryry)	rIrMrr=rrr�r�r%)r5�elemsryr�ras     r6�test_helper_functionz TestCounter.test_helper_function
	s2���]�#�#���F�F����5�!�!�!�����!�!�!�!�!�D�D�E�E�E��M�M����5�!�!�!�����
�K�K�K�
L�
L�	N�	N�	N�
'�}�5�5�������!�!�!�����a�������q�"J�"J�K�K�K�"�=�1�1�������!�!�!�����a�������q�"J�"J�K�K�K�K�Kr8c�T��ttdtd�������tj�fd�tt���dz��D����}d�|D��}t|d���D�]�\}}t
|�����}t
|�����}|�t
||z��||z��|�t
||z
��||z
��|�t
||z��||z��|�t
||z��||z��|�||k||k��|�||k||k��|�||k||k��|�||k||k��|�||k||k��|�||k||k�����dS)Nrcr^c3�8�K�|]}t�|��V��dSrD)r)r[ryrzs  �r6r]zTTestCounter.test_multiset_operations_equivalent_to_set_operations.<locals>.<genexpr>$	s-�����&S�&S�a�|�A�q�'9�'9�&S�&S�&S�&S�&S�&Sr8r]c�F�g|]}tt|������SrY)r
rM)r[�groupss  r6r\zUTestCounter.test_multiset_operations_equivalent_to_set_operations.<locals>.<listcomp>%	s&��A�A�A�f�G�D��L�L�)�)�A�A�Ar8)�repeat)	rIrrqrr�rkr1r�r=)r5�powerset�counters�cp�cq�sp�sqrzs       @r6�5test_multiset_operations_equivalent_to_set_operationszATestCounter.test_multiset_operations_equivalent_to_set_operations	s���
���%��(�(�3�3�4�4���&�&S�&S�&S�&S�5��Q���PQ��?�?�&S�&S�&S�S�S��A�A��A�A�A���h�q�1�1�1�	/�	/�F�B���R�[�[�]�]�#�#�B��R�[�[�]�]�#�#�B����S��b��\�\�2��7�3�3�3����S��b��\�\�2��7�3�3�3����S��b��\�\�2��7�3�3�3����S��b��\�\�2��7�3�3�3����R�2�X�r�R�x�0�0�0����R�2�X�r�R�x�0�0�0����R�2�X�r�R�x�0�0�0����R�2�X�r�R�x�0�0�0����R�"�W�b�2�g�.�.�.����R�"�W�b�2�g�.�.�.�.�	/�	/r8c���|�tddd���td����|�tdd���td����dS�Nrdr^rrc�ababar-�babab)r=r
r=rFs r6�test_eqzTestCounter.test_eq4	s`������1��Q�/�/�/���1A�1A�B�B�B����G�a�1�-�-�-�w�w�/?�/?�@�@�@�@�@r8c���|�tddd���td��k��|�tdd���td��k��dSr��r�r
r�rFs r6�test_lezTestCounter.test_le8	sd������!�q�A�.�.�.�'�'�2B�2B�B�C�C�C�����1��*�*�*�g�g�.>�.>�>�?�?�?�?�?r8c���|�tddd���td��k��|�tddd���td��k��dS)Nrdr]rrcr�r^r�rFs r6�test_ltzTestCounter.test_lt<	sf������!�q�A�.�.�.���1A�1A�A�B�B�B�����1��Q�/�/�/�'�'�2B�2B�B�C�C�C�C�Cr8c���|�tddd���td��k��|�tddd���td��k��dS)Nr^r]rrc�aabrd�aabdr�rFs r6�test_gezTestCounter.test_ge@	sb������!�q�A�.�.�.�'�%�.�.�@�A�A�A�����1��Q�/�/�/�7�6�?�?�B�C�C�C�C�Cr8c���|�tddd���td��k��|�tddd���td��k��dS)Nrdr^rrcr�r]r�rFs r6�test_gtzTestCounter.test_gtD	sb������!�q�A�.�.�.�����?�@�@�@�����1��Q�/�/�/�'�%�.�.�@�A�A�A�A�Ar8N)r4rWrXr�r>rCr�rVr\rbrdrfr�r�r�r�r�r�r�r�r�r�r�r�rYr8r6r*r*�si������:$�:$�:$�x7�7�7�(�(�(�7.�7.�7.�r5�5�5����(+�+�+�2�2�2�#�#�#�%O�%O�%O�N;�;�;�*7�7�7�*.�.�.�
&�&�&�L�L�L�*/�/�/�*A�A�A�@�@�@�D�D�D�D�D�D�B�B�B�B�Br8r*c�^�|�tjt����|SrD)�addTest�doctest�DocTestSuiter?)�loader�tests�patterns   r6�
load_testsr�I	s$��	�M�M�'�&�{�3�3�4�4�4��Lr8�__main__)Fr r?r:r�r$r�rr�randomrr�	itertoolsrrrrYr�r>rr�r;r	r
rrr
rrrr�collections.abcrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)�TestCaser+r[r�r�rArurwr�r�rr%r*r�r4�mainrYr8r6�<module>r�sO��$�$���������������������
�
�
�
�$�$�$�$�$�$�$�$�2�2�2�2�2�2�2�2�2�2�
�
�
�
�
�
�
�
���������������I�I�I�I�I�I�I�I�I�I�I�I�6�6�6�6�6�6�6�6�6�6� � � � � � �������0�0�0�0�0�0�0�0�H�H�H�H�H�H�H�H�H�H�O�O�O�O�O�O�O�O�O�O�O�O�O�O�B�B�B�B�B�B�B�B�B�B�B�B�+�+�+�+�+�+�+�+�T�T�T�T�T�T�T�T�T�T�T�T�T�T�5�5�5�5�5�5�5�5�&�&�&�&�&�&�)�)�)�)�)�h�'�)�)�)�`]/�]/�]/�]/�]/�8�$�]/�]/�]/�H
��H�g�	&�	&��R&�R&�R&�R&�R&�X�&�R&�R&�R&�r96�96�96�96�96�(�#�96�96�96�v
�
�
�^	.�^	.�^	.�^	.�^	.�;�^	.�^	.�^	.�@ � � � � �j� � � �(X	K�X	K�X	K�X	K�X	K��X	K�X	K�X	K�@.�.�.�.�.��.�.�.�/�/�/�/�/�W�/�/�/�TB�TB�TB�TB�TB�(�#�TB�TB�TB�n
���
�z����H�M�O�O�O�O�O��r8