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

�Ke����T�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZGd�dej
��ZGd�dej
��Zddl	mZGd	�d
ej��ZGd�de��ZGd
�dej��Zedkrej��dSdS)�N)�support)�
import_helperc�0�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�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4e5j6d3���Z7e5j6d4���Z8e5j6d5���Z9d6�Z:e5j6d7���Z;e5j6d8���Z<e5j6d9���Z=e5j6d:���Z>e5j6d;���Z?e5j6d<���Z@d=�ZAd>�ZBd?�ZCd@�ZDdA�ZEdB�ZFdC�ZGdD�ZHdE�ZIdF�ZJdG�ZKdH�ZLdI�ZMdJ�ZNdK�ZOdL�ZPdM�ZQdN�ZRdO�ZSdP�ZTdQ�ZUdR�ZVdS�ZWe5j6dT���ZXe5j6dU���ZYdV�ZZdWS)X�DictTestc�N�Gd�dt��}ddi|ddi��fD]}|�t��5tdi|��ddd��n#1swxYwY|�t��5ijdi|��ddd��n#1swxYwY��dS)Nc��eZdZdS)�7DictTest.test_invalid_keyword_arguments.<locals>.CustomN��__name__�
__module__�__qualname__���8/usr/local/apps/python3/lib/python3.11/test/test_dict.py�Customr	��������Drr��r)�dict�assertRaises�	TypeError�update)�selfr�invalids   r�test_invalid_keyword_argumentsz'DictTest.test_invalid_keyword_argumentssT��	�	�	�	�	�T�	�	�	��A�w����A�w���/�	%�	%�G��"�"�9�-�-�
 �
 ����w����
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 ����
 �
 �
 �
 ��"�"�9�-�-�
%�
%���	�$�$�G�$�$�$�
%�
%�
%�
%�
%�
%�
%�
%�
%�
%�
%����
%�
%�
%�
%��	%�	%s$�
A�A	�!A	�?B�B	� B	c��|�t��i��|�t��i��dS�N)�assertEqualr�assertIsNot�rs r�test_constructorzDictTest.test_constructors<���������$�$�$��������$�$�$�$�$rc��dD]�}d�t|��D��}tj|��d�|D��}dd�|��zdz}|�t|��t
|������dS)N)rr��i�c�v�g|]6}d�tjtjd����|f��7S)��)�join�random�sample�string�
ascii_letters��.0�is  r�
<listcomp>z5DictTest.test_literal_constructor.<locals>.<listcomp>"sH��(�(�(���g�g�f�m�F�,@�!�D�D�E�E�q�I�(�(�(rc3�HK�|]\}}d�||��V��dS)z
{!r}: {:d}N)�format)r.�k�vs   r�	<genexpr>z4DictTest.test_literal_constructor.<locals>.<genexpr>%s6����K�K�T�Q��|�2�2�1�a�8�8�K�K�K�K�K�Kr�{z, �})�ranger)�shuffler(r�evalr)r�n�items�formatted_items�dictliterals     r�test_literal_constructorz!DictTest.test_literal_constructors���%�	=�	=�A�(�(�#�A�h�h�(�(�(�E��N�5�!�!�!�K�K�U�K�K�K�O���	�	�/� :� :�:�S�@�K����T�+�.�.��U���<�<�<�<�
	=�	=rc�z�dddd�}dddd�}|���}||z}|�||zddddd���|�|ddddd���|���}||z}|�||zddddd���|�|ddddd���|���}|gd	�z}|�|ddddd���|�|�d��t��|�|�d
��t��|�|�d��t��|�|�d��t��|�t|jd��|�|�d
��dddd���|�t|jd��|�|�d��dddd���dS)
Nrr)rrrr��rrrA)rrrrA)rrrAr)�rr�rr�rArAr�BADr&)	�copyr�assertIs�__or__�NotImplementedrr�__ior__�
ValueError)r�a�b�cs    r�test_merge_operatorzDictTest.test_merge_operator)s"���a�A�����a�A����
�F�F�H�H��	�Q�������Q��A�!��a� 8� 8�9�9�9������a�A�!�4�4�5�5�5�
�F�F�H�H��	�Q�������Q��A�!��a� 8� 8�9�9�9������a�A�!�4�4�5�5�5�
�F�F�H�H��	�
%�
%�
%�%�������a�A�!�4�4�5�5�5��
�
�a�h�h�t�n�n�n�5�5�5��
�
�a�h�h�r�l�l�N�3�3�3��
�
�a�h�h�u�o�o�~�6�6�6��
�
�a�h�h�r�l�l�N�3�3�3����)�Q�Y��5�5�5�������2���A�!��(:�(:�;�;�;����*�a�i��7�7�7�������2���A�!��(:�(:�;�;�;�;�;rc���|�id��|�ddi��|�ti��d��|�tddi��d��dS)NTrrF)rH�
assertTrue�boolr s r�	test_boolzDictTest.test_boolIsl���
�
�"�f�d�#�#�#�����A������
�
�d�2�h�h��&�&�&��
�
�d�A�q�6�l�l�D�)�)�)�)�)rc��i}|�t|�����t����ddd�}|���}|�t|��ddh��|�d|��|�d|��|�d|��|�d|��|�t
|jd��|�t
td��������d��dS)Nrr�rMrNrMrN�rMzdict_keys(['a']))r�set�keys�assertInrr�reprr)r�dr3s   r�	test_keyszDictTest.test_keysOs
��������Q�V�V�X�X������.�.�.��!����
�F�F�H�H������Q���#�s��,�,�,��
�
�c�1�����
�
�c�1�����
�
�c�1�����
�
�c�1�������)�Q�V�T�2�2�2�����d�Q�i�i�i�n�n�.�.�/�/�1C�D�D�D�D�Drc���i}|�t|�����t����ddi}|�t|�����dh��|�t|jd��|�tt
d��������d��dS)NrrrWzdict_values([1]))rrX�valuesrrr[r�rr\s  r�test_valueszDictTest.test_values\s���������Q�X�X�Z�Z���#�%�%�0�0�0�
�q�E������Q�X�X�Z�Z���1�#�.�.�.����)�Q�X�t�4�4�4�����d�Q�i�i�i�.�.�0�0�1�1�3E�F�F�F�F�Frc���i}|�t|�����t����ddi}|�t|�����dh��|�t|jd��|�tt
d��������d��dS)Nrr�rrrWzdict_items([('a', 1)]))rrXr<rrr[rr`s  r�
test_itemszDictTest.test_itemsds���������Q�W�W�Y�Y������/�/�/�
�q�E������Q�W�W�Y�Y���&��2�2�2����)�Q�W�d�3�3�3�����d�Q�i�i�i�o�o�/�/�0�0�2J�K�K�K�K�Krc��ttj��}Gd�dt��}t|fD]�}|��}|���j}|���j}|���j}|||fD].}|�||��|�||���/d|d<|||fD].}|�||��|�||���/��dS)Nc��eZdZdS)�)DictTest.test_views_mapping.<locals>.DictNr
rrr�Dictrgorrrh�bar�foo)	�type�__dict__rrY�mappingr_r<�assertIsInstancer)	r�mappingproxyrh�clsr\�m1�m2�m3�ms	         r�test_views_mappingzDictTest.test_views_mappingms)���D�M�*�*��	�	�	�	�	�4�	�	�	��$�<�	'�	'�C�����A������!�B������#�B������"�B��"�b�\�
'�
'���%�%�a��6�6�6�� � ��A�&�&�&�&��A�e�H��"�b�\�
'�
'���%�%�a��6�6�6�� � ��A�&�&�&�&�
'�	'�	'rc�`�i}|�d|��|�d|v��|�d|v��ddd�}|�d|��|�d|��|�d|��|�t
|j��dS)NrMrrrVrNrO)�assertNotIn�assertFalserRrZrr�__contains__r`s  r�
test_containszDictTest.test_contains�s���������a� � � �������"�"�"�����1��%�%�%��!�����
�
�c�1�����
�
�c�1��������a� � � ����)�Q�^�4�4�4�4�4rc��i}|�t|��d��ddd�}|�t|��d��dS)NrrrrV)r�lenr`s  r�test_lenzDictTest.test_len�sR��������Q����#�#�#��!��������Q����#�#�#�#�#rc���ddd�}|�|dd��|�|dd��d|d<d|d<|�|dd��|�|dd��|d=|�|ddd	���|�t|j��G�fd
�dt��}i}d||��<|�t
|jd
��Gd�dt���G�fd�dt��}|��}d||<d|_|��|j|��dS)NrrrVrMrNrArO�)rMrOc� ��eZdZ�fd�Zd�ZdS)�$DictTest.test_getitem.<locals>.BadEqc�������rr�r�other�Excs  �r�__eq__z+DictTest.test_getitem.<locals>.BadEq.__eq__������c�e�e�rc��dS)N�rr s r�__hash__z-DictTest.test_getitem.<locals>.BadEq.__hash__�����rrN�rrr
r�r��r�s�r�BadEqr��s=�������
�
�
�
�
�
�
�
�
�
rr��*�c��eZdZdS)�"DictTest.test_getitem.<locals>.ExcNr
rrrr�r����������rr�c���eZdZdZ�fd�ZdS)�&DictTest.test_getitem.<locals>.BadHashFc�*��|jr
����dS�Nr���fail�rr�s �rr�z/DictTest.test_getitem.<locals>.BadHash.__hash__������9���#�%�%�K��2rN�rrr
r�r�r�s�r�BadHashr���3��������D�
�
�
�
�
�
�
rr�T)rrr�__getitem__�object�KeyError�	Exceptionr�)rr\r�r��xr�s     @r�test_getitemzDictTest.test_getitem�s�����!��������3���#�#�#�����3���#�#�#���#����#������3���#�#�#�����3���#�#�#�
�c�F�����!�!�,�,�-�-�-����)�Q�]�3�3�3�	�	�	�	�	�	�	�F�	�	�	�
����%�%�'�'�
����(�A�M�2�6�6�6�"�"�"�"�"�)�"�"�"�	�	�	�	�	�	�	�f�	�	�	�
�G�I�I����!��������#�q�}�a�0�0�0�0�0rc��dddd�}|���|�|i��|�t|jd��dS�NrrrArB)�clearrrrr`s  r�
test_clearzDictTest.test_clear�sR���A��O�O��	���	�	�	�����B�������)�Q�W�d�3�3�3�3�3rc�`��i}|�ddi��|�ddi��|�dddd���|�|dddd���|���|�|dddd���|�ttf|jd��Gd�d��}|���|�|����|�|dddd���Gd	�d
t���|���G�fd�d��}|��|j|����G�fd
�d��}|��|j|����G�fd�d��}|��|j|����G�fd�dt��}|��ij|����|�tijdg��dS)Nr�dr�rArBc� �eZdZd�Zd�Zd�ZdS)�,DictTest.test_update.<locals>.SimpleUserDictc��dddd�|_dSr��r\r s r�__init__z5DictTest.test_update.<locals>.SimpleUserDict.__init__�s����a������rc�4�|j���Sr)r\rYr s rrYz1DictTest.test_update.<locals>.SimpleUserDict.keys�s���v�{�{�}�}�$rc��|j|Srr�)rr/s  rr�z8DictTest.test_update.<locals>.SimpleUserDict.__getitem__�s���v�a�y� rN)rrr
r�rYr�rrr�SimpleUserDictr��sA������
)�
)�
)�
%�
%�
%�
!�
!�
!�
!�
!rr�c��eZdZdS)�!DictTest.test_update.<locals>.ExcNr
rrrr�r��r�rr�c���eZdZ�fd�ZdS)�-DictTest.test_update.<locals>.FailingUserDictc�����rrr�s �rrYz2DictTest.test_update.<locals>.FailingUserDict.keys������	rN)rrr
rYr�s�r�FailingUserDictr���.�������
�
�
�
�
�
�
rr�c� ��eZdZ�fd�Zd�ZdS)r�c�6��G�fd�d��}|��S)Nc�&��eZdZd�Zd�Z�fd�ZdS)�EDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIterc��d|_dS�Nr�r/r s rr�zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__init__�s
��!"����rc��|Srrr s r�__iter__zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__iter__����#�rc�(��|jr	d|_dS��)NrrMr�r�s �r�__next__zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__next__�s����6�'�%&�D�F�#&�3�!�	rN�rrr
r�r�r�r�s�r�	BogonIterr��sL�������#�#�#�$�$�$�"�"�"�"�"�"�"rr�r)rr�r�s  �rrYz2DictTest.test_update.<locals>.FailingUserDict.keys�sC���	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�!�y�{�{�"rc��|Srr�r�keys  rr�z9DictTest.test_update.<locals>.FailingUserDict.__getitem__�s���
rN�rrr
rYr�r�s�rr�z-DictTest.test_update.<locals>.FailingUserDict�s=�������
#�
#�
#�
#�
#�
�
�
�
�
rc� ��eZdZd�Z�fd�ZdS)r�c�0�Gd�d��}|��S)Nc� �eZdZd�Zd�Zd�ZdS)r�c�.�td��|_dS)NrM)�ordr/r s rr�zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__init__�s��!$�S������rc��|Srrr s rr�zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__iter__�r�rc��|jtd��kr&t|j��}|xjdz
c_|St�)N�zr)r/r��chr�
StopIteration)r�rtns  rr�zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__next__�s<���6�S��X�X�-�-�"%�d�f�+�+�C� �F�F�a�K�F�F�#&�J�+�+rNr�rrrr�zEDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter�sA������*�*�*�$�$�$�,�,�,�,�,rr�r)rr�s  rrYz2DictTest.test_update.<locals>.FailingUserDict.keys�s8��
,�
,�
,�
,�
,�
,�
,�
,�!�y�{�{�"rc�����rr)rr�r�s  �rr�z9DictTest.test_update.<locals>.FailingUserDict.__getitem__�r�rNr�r�s�rr�z-DictTest.test_update.<locals>.FailingUserDict�s=�������
#�
#�
#�
�
�
�
�
�
�
rc� ��eZdZd�Z�fd�ZdS)�$DictTest.test_update.<locals>.badseqc��|Srrr s rr�z-DictTest.test_update.<locals>.badseq.__iter__����rc�������rrr�s �rr�z-DictTest.test_update.<locals>.badseq.__next__r�rN�rrr
r�r�r�s�r�badseqr��=�������
�
�
�
�
�
�
�
�
�
rr�)	rrrr�AttributeErrorr�r�r�rL)rr\r�r�r�r�s     @r�test_updatezDictTest.test_update�s������	���!�C�����	���!�B�����	���A��a���!�!�!�����q�A��O�O�,�,�,�	���
�
�
�����q�A��O�O�,�,�,����9�n�5�q�x��F�F�F�	!�	!�	!�	!�	!�	!�	!�	!�	
���	�	�	�	�����!�!�"�"�"�����q�A��O�O�,�,�,�"�"�"�"�"�)�"�"�"�	���	�	�	�	�	�	�	�	�	�	�	�	�	�	
���#�q�x���):�):�;�;�;�	�	�	�	�	�	�	�	�	�	�	
���#�q�x���):�):�;�;�;�	�	�	�	�	�	�	�	�	�	� 	
���#�q�x���):�):�;�;�;�	�	�	�	�	�	�	�V�	�	�	�	
���#�r�y�&�&�(�(�3�3�3����*�b�i�)��=�=�=�=�=rc
��
��|�t�d��dddd���i�|���d�����|���d��dddd���|���dd��ddd���|���g��i��d�}|���|����ddi��|�t
ijd��Gd�d	t��}|�|�d
��d
di��|�|���d
��d
di��|�|�d
��|��|�|���d
��|��Gd�dt��}|�d
��}|�|ddd���|�|tj��|�t
tj��Gd�dt���
G�
fd�dt��}|��
|jdg��G�
fd�dt��}|��
tj|����G�
fd�dt��}|��
|jdg��tttd��td�������|�t��d��tttd��dgdz������G�fd�dt��}d�td��D�����
��}	|	�ddd���|�|�hd���|	��dS)N�abc�rMrNrO)r�rc3�K�dV�dSr�rrrr�gz!DictTest.test_fromkeys.<locals>.gs�����G�G�G�G�GrrrAc��eZdZdS)�(DictTest.test_fromkeys.<locals>.dictlikeNr
rrr�dictliker�r�rr�rMc��eZdZd�ZdS)�&DictTest.test_fromkeys.<locals>.mydictc�(�tj��Sr)�collections�UserDict)rps r�__new__z.DictTest.test_fromkeys.<locals>.mydict.__new__s��"�+�-�-�-rN�rrr
r�rrr�mydictr�s#������
.�
.�
.�
.�
.rr��abrVc��eZdZdS)�#DictTest.test_fromkeys.<locals>.ExcNr
rrrr�r�$r�rr�c���eZdZ�fd�ZdS)�(DictTest.test_fromkeys.<locals>.baddict1c�������rrr�s �rr�z1DictTest.test_fromkeys.<locals>.baddict1.__init__'r�rN�rrr
r�r�s�r�baddict1r�&�.�������
�
�
�
�
�
�
rr�c� ��eZdZd�Z�fd�ZdS)�&DictTest.test_fromkeys.<locals>.BadSeqc��|Srrr s rr�z/DictTest.test_fromkeys.<locals>.BadSeq.__iter__-r�rc�������rrr�s �rr�z/DictTest.test_fromkeys.<locals>.BadSeq.__next__/r�rNr�r�s�r�BadSeqr�,r�rrc���eZdZ�fd�ZdS)�(DictTest.test_fromkeys.<locals>.baddict2c�������rr)rr��valuer�s   �r�__setitem__z4DictTest.test_fromkeys.<locals>.baddict2.__setitem__5r�rN)rrr
rr�s�r�baddict2r4r�rrr#c���eZdZ�fd�ZdS)�(DictTest.test_fromkeys.<locals>.baddict3c����Srr)rpr\s �rr�z0DictTest.test_fromkeys.<locals>.baddict3.__new__?s����rNr�r�s�r�baddict3r
>s.�������
�
�
�
�
�
�
rrc��i|]}||��Srrr-s  r�
<dictcomp>z*DictTest.test_fromkeys.<locals>.<dictcomp>As��&�&�&�q�Q��&�&�&r�
>rMrNrO)rr�fromkeysrrrrnr�r�r�r��zipr8rGr)rr�r�r��udr�rrr�resr�r\s          @@r�
test_fromkeyszDictTest.test_fromkeyss�����������u�-�-�D�d��/M�/M�N�N�N���������E�*�*�A�.�.�.�������E�*�*��4�T�,J�,J�K�K�K�������E�!�,�,��a�j�j�9�9�9�������B����,�,�,�	�	�	�������A�A�C�C���1�T�(�3�3�3����)�R�[�!�4�4�4�"�"�"�"�"�t�"�"�"�����*�*�3�/�/�#�d��<�<�<��������,�,�S�1�1�C��:�>�>�>����h�/�/��4�4�h�?�?�?����h�h�j�j�1�1�#�6�6��A�A�A�	.�	.�	.�	.�	.�T�	.�	.�	.��_�_�T�
"�
"������$�D�1�1�2�2�2����b�+�"6�7�7�7����)�T�]�3�3�3�"�"�"�"�"�)�"�"�"�	�	�	�	�	�	�	�t�	�	�	�	
���#�x�0�1�#�6�6�6�	�	�	�	�	�	�	�V�	�	�	�	
���#�t�}�f�f�h�h�7�7�7�	�	�	�	�	�	�	�t�	�	�	�	
���#�x�0�1�#�6�6�6�
��U�1�X�X�u�Q�x�x�(�(�)�)��������q�!�,�,�d�3�u�Q�x�x�!��Q��3G�3G�.H�.H�I�I�I�	�	�	�	�	�	�	�t�	�	�	�
'�&�E�"�I�I�&�&�&���f�f�h�h���
�
�T�T�T�
�*�*�*�����*�*�?�?�?�;�;�S�A�A�A�A�Arc��dddd�}|�|���|��|�|���|��|�|���dddd���|���}d|d<|�||��|�i���i��|�t
|jd��dS)NrrrArBr)rrGr�assertNotEqualrr)rr\rGs   r�	test_copyzDictTest.test_copyFs����a�A������������1�%�%�%���������1�%�%�%���������q�Q�1�#5�#5�6�6�6��v�v�x�x����!�����D�!�$�$�$���������B�'�'�'����)�Q�V�T�2�2�2�2�2rc��dD]�}tj|dz||dzz��}|�|���5i}t|��D]}|||<�|���}|�||��|�||��d|d<|�||��|�t|��t|��dz��ddd��n#1swxYwY��dS)N)rr���i'i��r)�	dict_sizerr�r)	r)�	randrange�subTestr8rGrrrr|)rrr\r/�d2s     r�test_copy_fuzzzDictTest.test_copy_fuzzSsN��7�
	6�
	6�I��(��Q��	�I��N� :�<�<�I����	��2�2�

6�

6����y�)�)���A��A�a�D�D��V�V�X�X��� � ��Q�'�'�'�� � ��B�'�'�'�#��5�	��#�#�A�r�*�*�*�� � ��R���#�a�&�&�1�*�5�5�5�

6�

6�

6�

6�

6�

6�

6�

6�

6�

6�

6����

6�

6�

6�

6��
	6�
	6s�B(C-�-C1	�4C1	c���Gd�d��}|��}iddi|difD]P}|���}|�tj|��tj|�����QdS)Nc��eZdZdS)�0DictTest.test_copy_maintains_tracking.<locals>.ANr
rrr�Ar!drrr"rMr�val)rGr�gc�
is_tracked)rr"r�r\rs     r�test_copy_maintains_trackingz%DictTest.test_copy_maintains_trackingcs���	�	�	�	�	�	�	�	��a�c�c���s�A�h��e��-�	B�	B�A������B����R�]�1�-�-�r�}�R�/@�/@�A�A�A�A�	B�	Brc��d�td��D��}td��D]}||=�|���}|�||��dS)Nc��i|]}||��Srr)r.r3s  rrz1DictTest.test_copy_noncompact.<locals>.<dictcomp>ts��'�'�'�a�Q��'�'�'rri�)r8rGr)rr\r3rs    r�test_copy_noncompactzDictTest.test_copy_noncompactmsd��
(�'�5��;�;�'�'�'���s���	�	�A��!���
�V�V�X�X������Q�����rc��i}|�|�d��d��|�|�dd��d��ddd�}|�|�d��d��|�|�dd��d��|�|�d��d��|�|�dd��d��|�t|j��|�t|jddd��dS)NrOrArrrVrM)rH�getrrrr`s  r�test_getzDictTest.test_getzs�����
�
�a�e�e�C�j�j�$�'�'�'�������s�A����*�*�*��!�����
�
�a�e�e�C�j�j�$�'�'�'�������s�A����*�*�*�������s���Q�'�'�'�������s�A����*�*�*����)�Q�U�+�+�+����)�Q�U�D�$��=�=�=�=�=rc���i}|�|�d��d��|�dg��|�|�d��d��|�dg���d��|�|ddd��|�dg���d��|�t	|d��d��|�t|j��Gd�dt���G�fd	�d
t��}|��}d||<d|_	|��|j|g��dS)
N�key0r�rArrrc��eZdZdS)�%DictTest.test_setdefault.<locals>.ExcNr
rrrr�r0�r�rr�c���eZdZdZ�fd�ZdS)�)DictTest.test_setdefault.<locals>.BadHashFc�*��|jr
����dSr�r�r�s �rr�z2DictTest.test_setdefault.<locals>.BadHash.__hash__�r�rNr�r�s�rr�r2�r�rr�r�T)
rH�
setdefault�appendrr|rrr�r�r�)rr\r�r�r�s    @r�test_setdefaultzDictTest.test_setdefault�s�������
�
�a�l�l�6�*�*�D�1�1�1�	���V�R� � � ��
�
�a�l�l�6�*�*�D�1�1�1�	���U�B���&�&�q�)�)�)�����5��!��a�(�(�(�	���U�B���&�&�q�)�)�)�����Q�u�X����*�*�*����)�Q�\�2�2�2�"�"�"�"�"�)�"�"�"�	�	�	�	�	�	�	�f�	�	�	�
�G�I�I����!��������#�q�|�Q��3�3�3�3�3rc�:�Gd�dt��}|��}|di}|��}|�|g��|�|jd��|�|jd��|�|j|jzd��dS)Nc� �eZdZd�Zd�Zd�ZdS)�/DictTest.test_setdefault_atomic.<locals>.Hashedc�"�d|_d|_dS�Nr��
hash_count�eq_countr s rr�z8DictTest.test_setdefault_atomic.<locals>.Hashed.__init__����"#��� !��
�
�
rc�&�|xjdz
c_dS�Nrr��r=r s rr�z8DictTest.test_setdefault_atomic.<locals>.Hashed.__hash__�������1�$����rrc�b�|xjdz
c_t|��t|��kSr��r>�id�rr�s  rr�z6DictTest.test_setdefault_atomic.<locals>.Hashed.__eq__��)���
�
��"�
�
��$�x�x�2�e�9�9�,�,rN�rrr
r�r�r�rrr�Hashedr9��A������
"�
"�
"�
�
�
�
-�
-�
-�
-�
-rrJr�r)r�r4rr=r>�rrJ�hashed1�y�hashed2s     r�test_setdefault_atomiczDictTest.test_setdefault_atomic�s���		-�		-�		-�		-�		-�V�		-�		-�		-��&�(�(��
�a�L���&�(�(��	���W�b�!�!�!�����+�Q�/�/�/�����+�Q�/�/�/�����)�G�,<�<�a�@�@�@�@�@rc
�(�Gd�dt��}|��}|dddddddddi}|��}g||<|�|jd��|�|jd��|�|j|jzd��dS)Nc� �eZdZd�Zd�Zd�ZdS)�6DictTest.test_setitem_atomic_at_resize.<locals>.Hashedc�"�d|_d|_dSr;r<r s rr�z?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__init__�r?rc�&�|xjdz
c_dSrArBr s rr�z?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__hash__�rCrc�b�|xjdz
c_t|��t|��kSr�rErGs  rr�z=DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__eq__�rHrNrIrrrrJrS�rKrrJr�rrrrA)r�rr=r>rLs     r�test_setitem_atomic_at_resizez&DictTest.test_setitem_atomic_at_resize�s���		-�		-�		-�		-�		-�V�		-�		-�		-��&�(�(��
�a��A�q�!�Q��1�a�0���&�(�(����'�
�����+�Q�/�/�/�����+�Q�/�/�/�����)�G�,<�<�a�@�@�@�@�@rc	���dD�]I}td��D�]5}d|z}i}i}t|��D],}||t|��<|dkr||t|��<�-|dkr|���}t|��D]�}|���x\}}}	|�|t|����|���x\}
}}|�|t|
����|�|dko|	|k����|�|��|�|����7��Ki}
|�t|
j��dS)N)���r�rr)	r8r[rG�popitemr�intrxrr�)r�copymode�log2size�sizerMrNr/�ka�va�ta�kb�vb�tbr\s              r�test_popitemzDictTest.test_popitem�s����	$�	$�H�"�"�I�I�
$�
$���(�{�������t���'�'�A�!"�A�d�1�g�g�J��!�|�|�%&��$�q�'�'�
���a�<�<������A��t���@�@�A�"#�)�)�+�+�-�F�B��R��$�$�R��R���1�1�1�"#�)�)�+�+�-�F�B��R��$�$�R��R���1�1�1��$�$�X��\�%>�b�B�h�?�?�?�?�� � ��#�#�#�� � ��#�#�#�#�#
$�&
�����(�A�I�.�.�.�.�.rc����i}d\}}|||<|�t|jd��|�|�|��|��|�t	|��d��|�t|j|��|�|�||��|��|||<|�|�|d��|��|�t
|j��Gd�dt���G�fd�dt��}|��}d	||<d
|_|��|j|��dS)N)r��def�ghirrc��eZdZdS)�DictTest.test_pop.<locals>.ExcNr
rrrr�rk�r�rr�c���eZdZdZ�fd�ZdS)�"DictTest.test_pop.<locals>.BadHashFc�*��|jr
����dSr�r�r�s �rr�z+DictTest.test_pop.<locals>.BadHash.__hash__�r�rNr�r�s�rr�rm�r�rr�r�T)	rr��poprr|rr�r�r�)rr\r3r4r�r�r�s      @r�test_popzDictTest.test_pop�sz��������1���!�����(�A�E�5�1�1�1�������q���1�%�%�%�����Q����#�#�#����(�A�E�1�-�-�-�������q�!���a�(�(�(���!��������q�!���a�(�(�(����)�Q�U�+�+�+�"�"�"�"�"�)�"�"�"�	�	�	�	�	�	�	�f�	�	�	�
�G�I�I����!��������#�q�u�a�(�(�(�(�(rc��i}d|d<|�t��5|D]
}d||dz<�	ddd��dS#1swxYwYdSr��r�RuntimeError�rr\r/s   r�test_mutating_iterationz DictTest.test_mutating_iterations�������!��
�
�
�|�
,�
,�	�	��
�
����!�A�#���
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��>�A�Ac��i}d|d<|�t��5|D]
}|d=d|d<�	ddd��dS#1swxYwYdSr;rrrts   r�test_mutating_iteration_deletez'DictTest.test_mutating_iteration_deletes�������!��
�
�
�|�
,�
,�	�	��
�
���a�D���!���
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rvc��i}d|d<|�t��5|���D]
}|d=d|d<�	ddd��dS#1swxYwYdSr;)rrsr_rts   r�*test_mutating_iteration_delete_over_valuesz3DictTest.test_mutating_iteration_delete_over_valuess�������!��
�
�
�|�
,�
,�	�	��X�X�Z�Z�
�
���a�D���!���
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�� A�A�Ac��i}d|d<|�t��5|���D]
}|d=d|d<�	ddd��dS#1swxYwYdSr;�rrsr<rts   r�)test_mutating_iteration_delete_over_itemsz2DictTest.test_mutating_iteration_delete_over_items s�������!��
�
�
�|�
,�
,�	�	��W�W�Y�Y�
�
���a�D���!���
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r{c���G�fd�d����d��}�d��}|di}||f�_d||<|�||di��dS)Nc�*��eZdZdZd�Zd�Z�fd�ZdS)�/DictTest.test_mutating_lookup.<locals>.NastyKeyNc��||_dSr)r)rrs  rr�z8DictTest.test_mutating_lookup.<locals>.NastyKey.__init__.s
��"��
�
�
rc��dSr�rr s rr�z8DictTest.test_mutating_lookup.<locals>.NastyKey.__hash__1s���qrc�Z���jr�j\}}d�_||=|j|jkSr)�mutate_dictr)rr�r�r��NastyKeys    �rr�z6DictTest.test_mutating_lookup.<locals>.NastyKey.__eq__5s8����'�$�"*�"6�K�F�C�+/�H�(��s���z�U�[�0�0r)rrr
r�r�r�r�)r�s�rr�r�+sQ��������K�
#�
#�
#�
�
�
�
1�
1�
1�
1�
1�
1�
1rr�rr)r�r)r�key1�key2r\r�s    @r�test_mutating_lookupzDictTest.test_mutating_lookup)s����	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�"�x��{�{���x��{�{��
�1�I�� !�4�y�����$������T�1�I�&�&�&�&�&rc���i}|�t|��d��d|d<|�t|��d��i}||d<|�t|��d��Gd�dt���G�fd�d	t��}d|��i}|��t|��dS)
Nz{}rrz{1: 2}z
{1: {...}}c��eZdZdS)�DictTest.test_repr.<locals>.ExcNr
rrrr�r�Lr�rr�c���eZdZ�fd�ZdS)�#DictTest.test_repr.<locals>.BadReprc�������rrr�s �r�__repr__z,DictTest.test_repr.<locals>.BadRepr.__repr__Or�rN)rrr
r�r�s�r�BadReprr�Nr�rr�)rr[r�r�r)rr\r�r�s   @r�	test_reprzDictTest.test_reprCs����������a���$�'�'�'���!������a���(�+�+�+�����!������a���,�/�/�/�"�"�"�"�"�)�"�"�"�	�	�	�	�	�	�	�f�	�	�	����	�	�N�����#�t�Q�'�'�'�'�'rc��i}ttj��dz��D]}d|i}�|�tt
|��dS)Nr�r)r8�sys�getrecursionlimitr�RecursionErrorr[rts   r�test_repr_deepzDictTest.test_repr_deepUsU�����s�,�.�.��4�5�5�	�	�A��A��A�A����.�$��2�2�2�2�2rc�@��|�ii��|�ddiddi��Gd�dt���G�fd�dt��}|��di}ddi}|����5||kddd��dS#1swxYwYdS)Nrrc��eZdZdS)�DictTest.test_eq.<locals>.ExcNr
rrrr�r�_r�rr�c� ��eZdZ�fd�Zd�ZdS)� DictTest.test_eq.<locals>.BadCmpc�������rrr�s  �rr�z'DictTest.test_eq.<locals>.BadCmp.__eq__br�rc��dSr�rr s rr�z)DictTest.test_eq.<locals>.BadCmp.__hash__d����qrNr�r�s�r�BadCmpr�as=�������
�
�
�
�
�
�
�
�
�
rr�)rr�r�r)rr��d1rr�s    @r�test_eqzDictTest.test_eq[s �������R� � � ����!�Q��!�Q��(�(�(�"�"�"�"�"�)�"�"�"�	�	�	�	�	�	�	�V�	�	�	��f�h�h��]����V��
�
�
�s�
#�
#�	�	��"�H�H�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�?B�B�Bc�^�|�d���|�d���dS)Nc�*�|���Sr)rY�r�s r�<lambda>z.DictTest.test_keys_contained.<locals>.<lambda>ns��Q�V�V�X�X�rc�*�|���Sr�r<r�s rr�z.DictTest.test_keys_contained.<locals>.<lambda>os��Q�W�W�Y�Y�r)�helper_keys_containedr s r�test_keys_containedzDictTest.test_keys_containedms8���"�"�#5�#5�6�6�6��"�"�#6�#6�7�7�7�7�7rc��|t����}|t����}|ddd���}|dddd���}|dddd���}|dddd���}|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��dS)NrrrcrArB)rrrA)rrRrx)r�fn�empty�empty2�smaller�larger�larger2�larger3s        rr�zDictTest.helper_keys_containedqs�����4�6�6�
�
����D�F�F�����"��Q�Z�Z�.�.����q�A��O�O�$�$���"��Q�!�_�_�%�%���"��Q�!�_�_�%�%������6�)�*�*�*�����6�)�*�*�*�����'�)�*�*�*�����'�)�*�*�*�����F�*�+�+�+�����F�*�+�+�+�����G�+�,�,�,�����G�+�,�,�,�����G�+�,�,�,�����G�+�,�,�,�����G�+�,�,�,�����G�+�,�,�,�	
����6�)�*�*�*�����6�)�*�*�*�����6�)�*�*�*�����6�)�*�*�*�����'�)�*�*�*�����6�)�*�*�*�	
������(�(�(�����&��)�)�)�����'�)�*�*�*������(�)�)�)�	
����'�)�*�*�*�����7�*�+�+�+�+�+rc���Gd�d��}d|��i}d|��i}|�t��5|���|���kddd��n#1swxYwY|�t��5|���|���kddd��n#1swxYwY|�t��5|���|���kddd��n#1swxYwY|�t��5|���|���kddd��n#1swxYwY|��|��d�}|�t��5|���|���kddd��n#1swxYwY|�t��5|���|���kddd��dS#1swxYwYdS)Nc��eZdZd�ZdS)�9DictTest.test_errors_in_view_containment_check.<locals>.Cc��t�r�rsrGs  rr�z@DictTest.test_errors_in_view_containment_check.<locals>.C.__eq__�s��"�"rN�rrr
r�rrr�Cr��s#������
#�
#�
#�
#�
#rr�rrcr})rr�r�r�d3s     r�%test_errors_in_view_containment_checkz.DictTest.test_errors_in_view_containment_check�s���	#�	#�	#�	#�	#�	#�	#�	#������X�������X��
�
�
�|�
,�
,�	%�	%��H�H�J�J�"�(�(�*�*�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�
�
�
�|�
,�
,�	%�	%��H�H�J�J�"�(�(�*�*�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�
�
�
�|�
,�
,�	%�	%��H�H�J�J�"�(�(�*�*�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�
�
�
�|�
,�
,�	%�	%��H�H�J�J�"�(�(�*�*�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%���������
�
��
�
�
�|�
,�
,�	$�	$��H�H�J�J������#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�
�
�
�|�
,�
,�	$�	$��H�H�J�J������#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$sl�+A7�7A;�>A;�+C�C�C�8+D/�/D3�6D3�+F�F�F�+G<�<H�H�!+I�I� Ic��ddd����}dddd����}ddi���}|�||z
t����|�||z
ddh��|�||z
dh��|�||z
dh��|�||zddh��|�||zt����|�||zhd���|�||zdh��|�||zhd���dS)	NrrrcrArBr>rrrA>rrr)rYrrX�r�k1�k2�k3s    r�$test_dictview_set_operations_on_keysz-DictTest.test_dictview_set_operations_on_keys�sO���Q�Z�Z�_�_�
�
���Q�!�_�_�
!�
!�
#�
#����U�Z�Z�\�\������b��#�%�%�(�(�(�����b��1�Q�%�(�(�(�����b��1�#�&�&�&�����b��1�#�&�&�&�����b��1�Q�%�(�(�(�����b��#�%�%�(�(�(�����b��'�'�'�*�*�*�����b��1�#�&�&�&�����b��'�'�'�*�*�*�*�*rc��ddd����}dddd����}ddi���}|�||z
t����|�||z
ddh��|�||z
d	h��|�||z
d
h��|�||zddh��|�||zt����|�||zhd���|�||zd	h��|�||zhd���dS)
NrrrcrArBrrCrDrE�rr>rCrDrE>rCrDr�)r<rrXr�s    r�%test_dictview_set_operations_on_itemsz.DictTest.test_dictview_set_operations_on_items�sW���Q�Z�Z�
�
�
�
���Q�!�_�_�
"�
"�
$�
$����U�[�[�]�]������b��#�%�%�(�(�(�����b��5�%�.�1�1�1�����b��5�'�*�*�*�����b��5�'�*�*�*�����b��5�%�.�1�1�1�����b��#�%�%�(�(�(�����b��"7�"7�"7�8�8�8�����b��5�'�*�*�*�����b��"7�"7�"7�8�8�8�8�8rc���tj�td��D]�}�fd�td��D��}�fd�td��D��}|�||���5t	|�����t	|�����z}|���|���z}|�||��ddd��n#1swxYwY��dS)Nr�c�>��i|]}�d���
|�d����S�rrAr�r.r��rrs  �rrz<DictTest.test_items_symmetric_difference.<locals>.<dictcomp>�s0���8�8�8��"�"�Q�%�%�8�A�b�b��e�e�8�8�8rr�c�>��i|]}�d���
|�d����Sr�rr�s  �rrz<DictTest.test_items_symmetric_difference.<locals>.<dictcomp>�s0���9�9�9��2�2�a�5�5�9�Q�r�r�!�u�u�9�9�9r)�left�right)r)rr8rrXr<r)r�_r�r��expected�actualr�s      @r�test_items_symmetric_differencez(DictTest.test_items_symmetric_difference�s.���
�
���s���	3�	3�A�8�8�8�8�U�2�Y�Y�8�8�8�D�9�9�9�9�e�B�i�i�9�9�9�E����4�u��5�5�
3�
3��t�z�z�|�|�,�,�s�5�;�;�=�=�/A�/A�A����������
�
�5��� � ���2�2�2�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3����
3�
3�
3�
3��	3�	3s�,BC;�;C?	�C?	c��|�ddi���dhk��|�dhddi���k��|�ddi���dhzddh��|�dhddi���zddh��|�ddi���dhk��|�dhddi���k��|�ddi���dhzddh��|�dhddi���zddh��dS)NrrrC)rRrYrr<r s r�"test_dictview_mixed_set_operationsz+DictTest.test_dictview_mixed_set_operations�sP������1��
�
�����+�,�,�,�������!�u�z�z�|�|�+�,�,�,����!�A��������+�a��V�4�4�4����!���!�u�z�z�|�|�+�a��V�4�4�4�����1����
�
�%��0�1�1�1������A�a�5�;�;�=�=�0�1�1�1����!�A������!��,�u�a�j�9�9�9����!���!�u�{�{�}�}�,�u�a�j�9�9�9�9�9rc���|�ttd����|�tid����Gd�dt��}|ddd���}|�|dd��|�|dd��|�d|��|�d|�����|�|dd	��Gd
�dt��}|��}|�t��5}|d	ddd��n#1swxYwY|�|jj	d��Gd
�dt��}|��}|�t��5}|d	ddd��n#1swxYwY|�|jj	d��Gd�dt��}|��}	|�t��5}|	d	ddd��n#1swxYwY|�|jj	d��dS)N�__missing__c��eZdZd�ZdS)� DictTest.test_missing.<locals>.Dc��dSr�rr�s  rr�z,DictTest.test_missing.<locals>.D.__missing__�r�rN�rrr
r�rrr�Dr��s#������
�
�
�
�
rr�rr)rrArrAr�c��eZdZd�ZdS)� DictTest.test_missing.<locals>.Ec� �t|���rr�r�s  rr�z,DictTest.test_missing.<locals>.E.__missing__�s��"�3�'�'�'rNr�rrr�Er��s#������
(�
(�
(�
(�
(rr��r�c��eZdZd�ZdS)� DictTest.test_missing.<locals>.Fc��d�|_dS)Nc��dSrr)r�s rr�z;DictTest.test_missing.<locals>.F.__init__.<locals>.<lambda>s��t�r)r�r s rr�z)DictTest.test_missing.<locals>.F.__init__s��#3�#3�� � � rNr�rrr�Fr�s#������
4�
4�
4�
4�
4rr�c��eZdZdS)� DictTest.test_missing.<locals>.GNr
rrr�Gr�rrr�)rx�hasattrrrrwrYrrs�	exception�argsr�)
rr�r\r��erOr��fr�r�s
          r�test_missingzDictTest.test_missing�sF�������}�5�5�6�6�6������]�3�3�4�4�4�	�	�	�	�	��	�	�	�
�A�!��l�l�O�O������1��q�!�!�!�����1��q�!�!�!�����A��������A�F�F�H�H�%�%�%�����1��r�"�"�"�	(�	(�	(�	(�	(��	(�	(�	(�
�A�C�C��
�
�
�|�
,�
,�	��
�b�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������)�5�1�1�1�	4�	4�	4�	4�	4��	4�	4�	4�
�A�C�C��
�
�
�x�
(�
(�	�A�
�b�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������)�5�1�1�1�	�	�	�	�	��	�	�	�
�A�C�C��
�
�
�x�
(�
(�	�A�
�b�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������)�5�1�1�1�1�1s6�6	E�E�E�-	G�G�	G�$	H9�9H=�H=c��i}|�t��5}|dddd��n#1swxYwY|�|jjd��dS)N�r)r�)rr�rr�r�)rr\rOs   r�test_tuple_keyerrorzDictTest.test_tuple_keyerrors�����
�
�
�x�
(�
(�	�A�
�d�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������)�7�3�3�3�3�3s�	2�6�6c���Gd�dt���G�fd�d��}i}|��}|��}d||<dD]K}|����5t|t����ddd��n#1swxYwY�LdS)Nc��eZdZdS)�.DictTest.test_bad_key.<locals>.CustomExceptionNr
rrr�CustomExceptionr�rrr�c� ��eZdZd�Z�fd�ZdS)�)DictTest.test_bad_key.<locals>.BadDictKeyc�*�t|j��Sr)�hash�	__class__r s rr�z2DictTest.test_bad_key.<locals>.BadDictKey.__hash__s���D�N�+�+�+rc�6��t||j��r��|Sr)�
isinstancer�)rr�r�s  �rr�z0DictTest.test_bad_key.<locals>.BadDictKey.__eq__"s"����e�T�^�4�4�*�)�)��rN�rrr
r�r�)r�s�r�
BadDictKeyr�s=�������
,�
,�
,�
�
�
�
�
�
�
rr�r)z	d[x2] = 2z	z = d[x2]zx2 in dz	d.get(x2)zd.setdefault(x2, 42)z	d.pop(x2)zd.update({x2: 2}))r�r�exec�locals)rr�r\�x1�x2�stmtr�s      @r�test_bad_keyzDictTest.test_bad_keys ���	�	�	�	�	�i�	�	�	�	�	�	�	�	�	�	�	�	�	�
��
�Z�\�\��
�Z�\�\����"��*�	%�	%�D��"�"�?�3�3�
%�
%��T�6�8�8�$�$�$�
%�
%�
%�
%�
%�
%�
%�
%�
%�
%�
%����
%�
%�
%�
%��	%�	%s�B�B	�B	c��i}td��D]}|||<�td��D]}||=�tdd��D]}|||<�dS)Nr��	)r8rts   r�test_resize1zDictTest.test_resize15ss��
���q���	�	�A��A�a�D�D��q���	�	�A��!����q�!���	�	�A��A�a�D�D�	�	rc�����G��fd�dt��}i�d�d�|��<d�|��<d�|��<d�|��<d�|��<d	�d
�d<dS)Nc�"��eZdZd�Z��fd�ZdS)� DictTest.test_resize2.<locals>.Xc��dS)Nr�rr s rr�z)DictTest.test_resize2.<locals>.X.__hash__Jr�rc�4���r����dS�NF�r�)rr�r\�resizings  ��rr�z'DictTest.test_resize2.<locals>.X.__eq__Ls������G�G�I�I�I��urNr�)r\r
s��r�XrIsB�������
�
�
�
�
�
�
�
�
�
�
rrFrrrArr�Tr#r)r�)rrr\r
s  @@r�test_resize2zDictTest.test_resize2Es�����	�	�	�	�	�	�	�	��	�	�	�
������!�!�#�#����!�!�#�#����!�!�#�#����!�!�#�#����!�!�#�#������!���rc
��|�t��5ddzdddddddd�}ddd��n#1swxYwYi}dS)Nrr)rMrNrOr\r�r�r��h)r�ZeroDivisionErrorr`s  r�$test_empty_presized_dict_in_freelistz-DictTest.test_empty_presized_dict_in_freelist[s����
�
�0�
1�
1�	2�	2��1�f�4�d��D���D�2�2�A�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�
���s�6�:�:c�z�Gd�dt��}tjtjtjf}|D]�}|��}tj|��}|di}||��|_t|j��|_	~~tj��|�|��dd����dS)Nc��eZdZdS)�+DictTest.test_container_iterator.<locals>.CNr
rrrr�rfrrr�rzCycle was not collected)
r�rr<r_rY�weakref�refr4�iterr�r$�collectrH)rr��viewsr4�objr�	containers       r�test_container_iteratorz DictTest.test_container_iteratorcs���	�	�	�	�	��	�	�	���T�[�$�)�4���	B�	B�A��!�#�#�C��+�c�"�"�C��a��I��A�i�L�L�C�E����K�K�C�E��Y��J�L�L�L��M�M�#�#�%�%��'@�A�A�A�A�	B�	Brc��tj��tj��|�tj|��|��dSr)r$rrxr%�r�ts  r�_not_trackedzDictTest._not_trackedss>��
�
����
�
���������q�)�)�1�-�-�-�-�-rc���|�tj|��|��tj��tj��|�tj|��|��dSr)rRr$r%rr s  r�_trackedzDictTest._trackedysZ������
�a�(�(�!�,�,�,�
�
����
�
��������
�a�(�(�!�,�,�,�,�,rc��td��D]-}i}td��D]}||t|��<�||d<�.dS)Nrrj)r8�str)rr/r\�js    r�!test_string_keys_can_track_valuesz*DictTest.test_string_keys_can_track_valuessW���r���	�	�A��A��2�Y�Y�
�
����#�a�&�&�	�	��A�e�H�H�		�	rc��dddgf\}}}}|�i��|�|d|||di��|�ddd���|�dtd���|�dt��i��|�dgi��|�dgfi��|�dii��|�dt	��i��dS)	N��?rM)rNrrr)rrN)r)NTFr)r"r\r�r$rX)rr�rNr��ws     r�test_track_literalszDictTest.test_track_literals�s	���#�y�"�,�
��1�a�����"�������1�R��1�a��*�+�+�+����c��*�*�+�+�+����a�#�>�>�?�?�?����1�f�h�h�-�(�(�(�	
�
�
�q�"�g�����
�
�q�2�%�j�!�!�!��
�
�q�"�g�����
�
�q�#�%�%�j�!�!�!�!�!rc��Gd�dt��}dddt��fg|��f\}}}}}t��}|�|��d|d<|�|��d||<|�|��d||<|�|��|�|�����||d<|�|��|�|�����d|d<|�|��|�|�����t��}t��}||d<|�|��|�|��||d<|�|��t�|||g��}|�|��t��}|�|��|�|��t�||||g��}|�|��t��}|�|��|�|��t|||�	��}|�|��t||||�
��}|�|��t��}|�|||�	��|�|��|�|���|�|��t||f|dfg��}|�|��t||f||fg��}|�|��t��}|�||f|dfg��|�|��|�||f||fg��|�|��dS)Nc��eZdZdS)�-DictTest.test_track_dynamic.<locals>.MyObjectNr
rrr�MyObjectr/�rrr0r*rMrrrAr�r�rNr�)r�rNr�r+)r+)r�rr"rGr$rr)	rr0r�rNr�r+�or\�dds	         r�test_track_dynamiczDictTest.test_track_dynamic�s���	�	�	�	�	�v�	�	�	��S�1�f�h�h�-��X�X�Z�Z�?�
��1�a��A��F�F�����!������!�����!������!�����!������!�����!�������!�&�&�(�(�#�#�#���!���
�
�a�����
�
�a�f�f�h�h������!�����!�������!�&�&�(�(�#�#�#�
�F�F��
�V�V����!�����"�����
�
�a������1���
�
�b�����M�M�1�a��)�$�$�����!����
�V�V��
�	�	�!�������"�����M�M�1�a��A�,�'�'���
�
�a����
�V�V��
�	�	�!�����
�
�b�����1��Q��������!�����1��Q�!�$�$�$���
�
�a�����F�F��	���1��Q��������!����	���1��
�
�
��
�
�a�����1�a�&�1�a�&�!�"�"�����!�����1�a�&�1�a�&�!�"�"���
�
�a�����F�F��	���1�a�&�1�a�&�!�"�"�"����!����	���1�a�&�1�a�&�!�"�"�"��
�
�a�����rc�f�Gd�dt��}|�|����dS)Nc��eZdZdS)�,DictTest.test_track_subtypes.<locals>.MyDictNr
rrr�MyDictr7�rrr8)rr$)rr8s  r�test_track_subtypeszDictTest.test_track_subtypes�sJ��	�	�	�	�	�T�	�	�	��
�
�f�f�h�h�����rc��Gd�d��}g}t|��D];}|��}d\|_|_|_|�|j���<|S)Nc��eZdZdS)�(DictTest.make_shared_key_dict.<locals>.CNr
rrrr�r<�rrr�rB)r8r�rNr�r5rl)rr;r��dictsr/rMs      r�make_shared_key_dictzDictTest.make_shared_key_dict�s~��	�	�	�	�	�	�	�	����q���	%�	%�A�����A�#�M�A�C���a�c��L�L���$�$�$�$��rc�d�|�d��\}}d|d<tj|��}d|d<|�dd��tj|��}d|d<|�t|��gd���|�t|��gd���dS)zcsplit table must keep correct insertion
        order when attributes are adding using setdefault()rrrMrN)r�rNr�rMrN)r�rNr�rNrMN)r>r��	getsizeofr4r�list)rrMrN�size_a�size_bs     r�test_splittable_setdefaultz#DictTest.test_splittable_setdefault�s����(�(��+�+���1���#����q�!�!����#��	���S�!������q�!�!����#������a���";�";�";�<�<�<�����a���";�";�";�<�<�<�<�<rc��|�d��\}}tj|��}|d=|�t��5|d=ddd��n#1swxYwY|�t
|��ddg��|�t
|��gd���d|d<|�t
|��gd���|�t
|��gd���dS)	z*split table must be combined when del d[k]rrNNr�r�r1r��r�r�rN)r>r�r@rr�rrA)rrMrN�	orig_sizes    r�test_splittable_delzDictTest.test_splittable_del�s4���(�(��+�+���1��M�!�$�$�	�
�c�F�
�
�
�x�
(�
(�	�	��#��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����a���3��*�-�-�-�����a���/�/�/�2�2�2���#������a���/�/�/�2�2�2�����a���/�/�/�2�2�2�2�2s�
A�A�!Ac� �|�d��\}}|�d��|�t��5|�d��ddd��n#1swxYwY|�t|��ddg��|�t|��gd���d|d<|�t|��gd���|�t|��gd���dS)NrrNr�r�r1r�rF)r>rorr�rrA�rrMrNs   r�test_splittable_popzDictTest.test_splittable_pops3���(�(��+�+���1�	���c�
�
�
�
�
�
�x�
(�
(�	�	�
�E�E�#�J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����a���3��*�-�-�-�����a���/�/�/�2�2�2���#������a���/�/�/�2�2�2�����a���/�/�/�2�2�2�2�2s�A*�*A.�1A.c���|�d��\}}d|d<|�t��5|�d��ddd��dS#1swxYwYdS)z3pop a pending key in a split table should not crashrrrMN)r>rr�rorJs   r�test_splittable_pop_pendingz$DictTest.test_splittable_pop_pendings����(�(��+�+���1���#��
�
�
�x�
(�
(�	�	�
�E�E�#�J�J�J�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�"Ac��|�d��\}}tj|��}|���}|�|d��|�t��5|d=ddd��n#1swxYwY|�tj|��|��|�t|��ddg��|�t|��gd���dS)z-split table must be combined when d.popitem()r)r�rAr�Nr�rNr1)	r>r�r@r[rrr��
assertGreaterrA)rrMrNrG�items     r�test_splittable_popitemz DictTest.test_splittable_popitem(s%���(�(��+�+���1��M�!�$�$�	��y�y�{�{������x�(�(�(�
�
�
�x�
(�
(�	�	��#��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
���3�=��+�+�Y�7�7�7�����a���3��*�-�-�-�����a���/�/�/�2�2�2�2�2s�1B�B�Bc�"�Gd�d��}|d��}|d��}|�t|j��gd���i}|�|j��|�t|��gd���dS)z0dict.update(other) must preserve order in other.c��eZdZd�ZdS)�*DictTest.test_splittable_update.<locals>.Cc�b�|rd\|_|_|_dSd\|_|_|_dS)NrBr�)r�orders  rr�z3DictTest.test_splittable_update.<locals>.C.__init__<s6���5�-4�*�D�F�D�F�D�F�F�F�-4�*�D�F�D�F�D�F�F�FrNr�rrrr�rT;s#������
5�
5�
5�
5�
5rr�TF)rOrNrMN)rrArlr)rr�r2r\s    r�test_splittable_updatezDictTest.test_splittable_update8s���	5�	5�	5�	5�	5�	5�	5�	5�
�A�d�G�G��
�A�e�H�H������a�j�)�)�?�?�?�;�;�;���	������������a���/�/�/�2�2�2�2�2rc�F�ttjdz��D�]}dddd�}t|��}tj||��}tj|��}|�t|��t|����tj|��}	t|��}n#t$rY��wxYwtj||��}tj|��}||=|�t|��t|������dS�NrrMrNrOrB)
r8�pickle�HIGHEST_PROTOCOLr�dumps�loadsrrA�nextr��r�proto�data�itr\�drops      r�test_iterator_picklingzDictTest.test_iterator_picklingIs���6�2�Q�6�7�7�	3�	3�E��S�C�(�(�D��d���B���R��'�'�A���a���B����T�"�X�X�t�D�z�z�2�2�2���a���B�
��B�x�x���� �
�
�
���
������R��'�'�A���a���B��T�
����T�"�X�X�t�D�z�z�2�2�2�2�	3�	3s�#B3�3
C�?Cc�h�ttjdz��D�]}dddd�}t|�����}tj||��}tj|��}|�|tj	j
��|�t|��|��tj|��}t|��}tj||��}tj|��}||d=|�t|��|����dS�NrrMrNrOrBr)r8rZr[rr<r\r]rnr�r��Iteratorrrr^�rr`ra�itorgr\rbrcs       r�test_itemiterator_picklingz#DictTest.test_itemiterator_pickling[s���6�2�Q�6�7�7�	-�	-�E��S�C�(�(�D�������&�&�E���U�E�*�*�A���a���B�
�!�!�"�k�o�&>�?�?�?����T�"�X�X�t�,�,�,���a���B���8�8�D���R��'�'�A���a���B��T�!�W�
����T�"�X�X�t�,�,�,�,�'	-�	-rc
���ttjdz��D�]C}dddd�}t|�����}tj||��}tj|��}|�t|��t|�������tj|��}t|��}tj||��}tj|��}t|��|gz}|�t|��tt|�����������EdSrY)r8rZr[rr_r\r]rrAr^�sorted�rr`rarbr\rcr_s       r�test_valuesiterator_picklingz%DictTest.test_valuesiterator_picklingqs���6�2�Q�6�7�7�
	J�
	J�E��S�C�(�(�D��d�k�k�m�m�$�$�B���R��'�'�A���a���B����T�"�X�X�t�D�K�K�M�M�':�':�;�;�;���a���B���8�8�D���R��'�'�A���a���B��"�X�X���&�F����V�F�^�^�V�D������4G�4G�-H�-H�I�I�I�I�
	J�
	Jrc	�z�ttjdz��D�]}dddd�}t|��}tj||��}tj|��}|�t|��tt|������tj|��}	t|��}n#t$rY��wxYwtj||��}tj|��}||=|�t|��tt|��������dSrY)
r8rZr[�reversedr\r]rrAr^r�r_s      r�test_reverseiterator_picklingz&DictTest.test_reverseiterator_pickling�s���6�2�Q�6�7�7�	=�	=�E��S�C�(�(�D��$���B���R��'�'�A���a���B����T�"�X�X�t�H�T�N�N�';�';�<�<�<���a���B�
��B�x�x���� �
�
�
���
������R��'�'�A���a���B��T�
����T�"�X�X�t�H�T�N�N�';�';�<�<�<�<�	=�	=s�0C�
C
�C
c�h�ttjdz��D�]}dddd�}t|�����}tj||��}tj|��}|�|tj	j
��|�t|��|��tj|��}t|��}tj||��}tj|��}||d=|�t|��|����dSrf)r8rZr[rpr<r\r]rnr�r�rgrrr^rhs       r�!test_reverseitemiterator_picklingz*DictTest.test_reverseitemiterator_pickling�s���6�2�Q�6�7�7�	-�	-�E��S�C�(�(�D��T�Z�Z�\�\�*�*�E���U�E�*�*�A���a���B�
�!�!�"�k�o�&>�?�?�?����T�"�X�X�t�,�,�,���a���B���8�8�D���R��'�'�A���a���B��T�!�W�
����T�"�X�X�t�,�,�,�,�'	-�	-rc
���ttjdz��D�]C}dddd�}t|�����}tj||��}tj|��}|�t|��tt|���������tj|��}t|��}tj||��}tj|��}t|��|gz}|�t|��t|���������EdSrY)r8rZr[rpr_r\r]rrAr^rlrms       r�#test_reversevaluesiterator_picklingz,DictTest.test_reversevaluesiterator_pickling�s���6�2�Q�6�7�7�
	D�
	D�E��S�C�(�(�D��$�+�+�-�-�(�(�B���R��'�'�A���a���B����T�"�X�X�t�H�T�[�[�]�]�,C�,C�'D�'D�E�E�E���a���B���8�8�D���R��'�'�A���a���B��"�X�X���&�F����V�F�^�^�V�D�K�K�M�M�-B�-B�C�C�C�C�
	D�
	Drc	��Gd�d��}|d��}Gd�dt��}|�|jt||d������|�|j|j|d����dS)Nc��eZdZd�ZdS)�=DictTest.test_instance_dict_getattr_str_subclass.<locals>.Fooc��||_dSr)�msg)rrzs  rr�zFDictTest.test_instance_dict_getattr_str_subclass.<locals>.Foo.__init__�s
������rNr�rrr�Foorx�s#������
�
�
�
�
rr{�123c��eZdZdS)�>DictTest.test_instance_dict_getattr_str_subclass.<locals>._strNr
rrr�_strr~�rrrrz)r&rrz�getattrrl)rr{r�rs    r�'test_instance_dict_getattr_str_subclassz0DictTest.test_instance_dict_getattr_str_subclass�s���	�	�	�	�	�	�	�	�
�C��J�J��	�	�	�	�	�3�	�	�	��������4�4��;�;� 7� 7�8�8�8�������
�4�4��;�;� 7�8�8�8�8�8rc��Gd�d��}|��}d|jd<d|_|�|jddd���dS)Nc��eZdZdS)�FDictTest.test_object_set_item_single_instance_non_str_key.<locals>.FooNr
rrrr{r��r�rr{rrM)rrM)rlrMr)rr{r�s   r�0test_object_set_item_single_instance_non_str_keyz9DictTest.test_object_set_item_single_instance_non_str_key�sT�����������C�E�E����
�1�
����������s�^�^�4�4�4�4�4rc�v����G��fd�d����fd�dD���t���D]}|�|<�dS)Nc���eZdZ��fd�ZdS)�4DictTest.check_reentrant_insertion.<locals>.Mutatingc�������dSrr)rr\�mutates ��r�__del__z<DictTest.check_reentrant_insertion.<locals>.Mutating.__del__�s�����q�	�	�	�	�	rN�rrr
r�)r\r�s��r�Mutatingr��s3�������
�
�
�
�
�
�
�
rr�c�&��i|]
}|�����Srr)r.r3r�s  �rrz6DictTest.check_reentrant_insertion.<locals>.<dictcomp>�s!���9�9�9�q�Q���
�
�9�9�9r�abcdefghijklmnopqr)rA)rr�r3r�r\s ` @@r�check_reentrant_insertionz"DictTest.check_reentrant_insertion�s������	�	�	�	�	�	�	�	�	�	�	�
:�9�9�9�$8�9�9�9���a���	�	�A��A�a�D�D�	�	rc���d�}��|���fd�}��|��d�}��|��dS)Nc��d|d<dS)Nr�rNrr�s rr�z1DictTest.test_reentrant_insertion.<locals>.mutate�s���A�c�F�F�Frc�d��|��j��|���dSr)rrlr�)r\rs �rr�z1DictTest.test_reentrant_insertion.<locals>.mutate�s(���
�H�H�T�]�#�#�#�
�G�G�I�I�I�I�Irc�:�|r|���|�dSdSr)r[r�s rr�z1DictTest.test_reentrant_insertion.<locals>.mutate�s5���
��	�	�����
�
�
�
�
r)r�)rr�s` r�test_reentrant_insertionz!DictTest.test_reentrant_insertion�s����	�	�	��&�&�v�.�.�.�	�	�	�	�	�	
�&�&�v�.�.�.�	�	�	�	
�&�&�v�.�.�.�.�.rc����G�fd�d��}d�tdd��D��}t|���d�|��<|��dddi}|�t|j���dS)Nc� ��eZdZd�Z�fd�ZdS)�)DictTest.test_merge_and_mutate.<locals>.Xc��dSr;rr s rr�z2DictTest.test_merge_and_mutate.<locals>.X.__hash__�r�rc�0������dSrr)rr2r�s  �rr�z0DictTest.test_merge_and_mutate.<locals>.X.__eq__�s������
�
�
��urNr�)r�s�rrr��s=�������
�
�
�
�
�
�
�
�
�
rrc��g|]}|df��S)rrr-s  rr0z2DictTest.test_merge_and_mutate.<locals>.<listcomp>�s��+�+�+�q�a��U�+�+�+rri9r)r8rrrsr)rr�lr\r�s    @r�test_merge_and_mutatezDictTest.test_merge_and_mutate�s����	�	�	�	�	�	�	�	�	�	�
,�+�E�!�T�N�N�+�+�+���Q������a�a�c�c�
�
�Q�S�S�!�Q��N�����,���%�8�8�8�8�8rc���tj|tt��tj|d�t��tj|d�t��tj|d�t��dS)Nc�D�t|�����Sr)rrYr�s rr�z4DictTest.test_free_after_iterating.<locals>.<lambda>�s��4������>�>�rc�D�t|�����Sr)rr_r�s rr�z4DictTest.test_free_after_iterating.<locals>.<lambda>�s��4����
�
�;K�;K�rc�D�t|�����Sr)rr<r�s rr�z4DictTest.test_free_after_iterating.<locals>.<lambda>�s��4����	�	�?�?�r)r�check_free_after_iteratingrrr s r�test_free_after_iteratingz"DictTest.test_free_after_iterating�sh���*�4��t�<�<�<��*�4�1I�1I�4�P�P�P��*�4�1K�1K�T�R�R�R��*�4�1J�1J�D�Q�Q�Q�Q�Qrc�&����G��fd�d��}|��di�|��|��i�|���k��G�fd�d��}d|��i}dt��i�|�|�k��dS)Nc�*��eZdZ�fd�Z�fd�Zd�ZdS)�9DictTest.test_equal_operator_modifying_operand.<locals>.Xc�0������dSrr)r�dict_bs �rr�zADictTest.test_equal_operator_modifying_operand.<locals>.X.__del__�s����������rc�0������dS�NTr)rr��dict_as  �rr�z@DictTest.test_equal_operator_modifying_operand.<locals>.X.__eq__�����������trc��dS�N�
rr s rr�zBDictTest.test_equal_operator_modifying_operand.<locals>.X.__hash__r�rN)rrr
r�r�r�)r�r�s��rrr��sV�������
�
�
�
�
�
�
�
�
�
�
�
�
�
�
rrrc���eZdZ�fd�ZdS)�9DictTest.test_equal_operator_modifying_operand.<locals>.Yc�0������dSr�r)rr��dict_ds  �rr�z@DictTest.test_equal_operator_modifying_operand.<locals>.Y.__eq__r�rNr�)r�s�r�Yr�
s.�������
�
�
�
�
�
�
rr�)rRrX)rrr��dict_cr�r�r�s    @@@r�%test_equal_operator_modifying_operandz.DictTest.test_equal_operator_modifying_operand�s������		�		�		�		�		�		�		�		�		�		�		��!�#�#�q����!�#�#�q�q�s�s�������&�(�)�)�)�	�	�	�	�	�	�	�	�	�	�
�Q�Q�S�S����S�U�U�������&�(�)�)�)�)�)rc���G�fd�dt��}i�|d��d|d��di�	t����dS#t$rYdSwxYw)Nc� ��eZdZd�Z�fd�ZdS)�ADictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.Xc��dSr�rr s rr�zJDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__hash__r�rc�V��t���dkr����dS�NrF�r|r��rr�r\s  �rr�zHDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__eq__�$����q�6�6�A�:�:��G�G�I�I�I��urNr�r�s�rrr��=�������
�
�
�
�
�
�
�
�
�
rrrr�r\rrrs�rrr\s  @r�-test_fromkeys_operator_modifying_dict_operandz6DictTest.test_fromkeys_operator_modifying_dict_operands����	�	�	�	�	�	�	��	�	�	�
��
�Q�q�T�T�1�a�a��d�d�A���	��M�M�!��������	�	�	��D�D�	���s�A�
A�Ac���G�fd�dt��}i�|d��|d��h�	t����dS#t$rYdSwxYw)Nc� ��eZdZd�Z�fd�ZdS)�@DictTest.test_fromkeys_operator_modifying_set_operand.<locals>.Xc��dSr�rr s rr�zIDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__hash__+r�rc�V��t���dkr����dSr�r�r�s  �rr�zGDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__eq__.r�rNr�r�s�rrr�*r�rrrrr�r�s  @r�,test_fromkeys_operator_modifying_set_operandz5DictTest.test_fromkeys_operator_modifying_set_operand(s����	�	�	�	�	�	�	��	�	�	�
��
�Q�q�T�T�1�1�Q�4�4�L��	��M�M�!��������	�	�	��D�D�	���s�A�
A�Ac���G�fd�d��}dt��i�d|��f����vdS)Nc���eZdZ�fd�ZdS)�:DictTest.test_dictitems_contains_use_after_free.<locals>.Xc�:������tSr�r�rJr�s  �rr�zADictTest.test_dictitems_contains_use_after_free.<locals>.X.__eq__<�������	�	�	�%�%rNr�r�s�rrr�;s.�������
&�
&�
&�
&�
&�
&�
&rrr)rXr<r�s  @r�&test_dictitems_contains_use_after_freez/DictTest.test_dictitems_contains_use_after_free:sg���	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�
����J��	
�A�A�C�C��A�G�G�I�I����rc�x��G�fd�dt��}|��di�|�d�v��dS)Nc� ��eZdZ�fd�Zd�ZdS)�4DictTest.test_dict_contain_use_after_free.<locals>.Sc�:������tSrr�r�s  �rr�z;DictTest.test_dict_contain_use_after_free.<locals>.S.__eq__Fr�rc� �td��S)N�test�r�r s rr�z=DictTest.test_dict_contain_use_after_free.<locals>.S.__hash__J����F�|�|�#rNr�r�s�r�Sr�Es=�������
&�
&�
&�
&�
&�
$�
$�
$�
$�
$rr�rr�)r&rx)rr�r\s  @r� test_dict_contain_use_after_freez)DictTest.test_dict_contain_use_after_freeCsf���	$�	$�	$�	$�	$�	$�	$��	$�	$�	$��Q�S�S�'�N������1��%�%�%�%�%rc�^��G�fd�d��}|��dg�t�g��dS)Nc���eZdZ�fd�ZdS)�,DictTest.test_init_use_after_free.<locals>.Xc���g�dd�<dSr�r)r�pairs �rr�z5DictTest.test_init_use_after_free.<locals>.X.__hash__Rs�����Q�Q�Q���rrN)rrr
r�)r�s�rrr�Qs.�������
�
�
�
�
�
�
rr�{)r)rrr�s  @r�test_init_use_after_freez!DictTest.test_init_use_after_freePsW���	�	�	�	�	�	�	�	�	�	�
����S�z���d�V�����rc����G�fd�dt����fd�td��D����fd�}|�t|��dS)Nc���eZdZ�fd�ZdS)�;DictTest.test_oob_indexing_dictiter_iternextitem.<locals>.Xc�0������dSrrr`s �rr�zCDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.X.__del__[s������	�	�	�	�	rNr�r�s�rrr�Zr�rrc�(��i|]}|�|����Srr)r.r/rs  �rrzDDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.<dictcomp>^s#���'�'�'��Q���!���'�'�'rr'c�X������D]}|ddkrd�d<�dS)Nrrr�)�resultr\s �r�iter_and_mutatezIDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.iter_and_mutate`s;����'�'�)�)�
 �
 ���!�9��>�>��A�a�D��
 �
 r)r\r8rrs)rr�rr\s  @@r�'test_oob_indexing_dictiter_iternextitemz0DictTest.test_oob_indexing_dictiter_iternextitemYs�����	�	�	�	�	�	�	��	�	�	�
(�'�'�'�e�A�h�h�'�'�'��	 �	 �	 �	 �	 �
	
���,��8�8�8�8�8rc���dddddd�}|d=t|��}|�t|��td����|�tt
|��dS)	NrrrrAr)rMrNrjrOr\rj�dcba)rprrArr�r^)rr\�rs   r�
test_reversedzDictTest.test_reversedgsg���!�A�A�A�6�6��
�e�H��Q�K�K������a���$�v�,�,�/�/�/����-��q�1�1�1�1�1rc�>�|�tti����g��|�tti�������g��|�tti�������g��|�tti�������g��|�ttt
������g��|�ttt
���������g��|�ttt
���������g��|�ttt
���������g��dSr)rrArpr<r_rYrr s r�$test_reverse_iterator_for_empty_dictz-DictTest.test_reverse_iterator_for_empty_dictnsz��	
����h�r�l�l�+�+�R�0�0�0�����h�r�x�x�z�z�2�2�3�3�R�8�8�8�����h�r�y�y�{�{�3�3�4�4�b�9�9�9�����h�r�w�w�y�y�1�1�2�2�B�7�7�7�	
����h�t�v�v�.�.�/�/��4�4�4�����h�t�v�v�|�|�~�~�6�6�7�7��<�<�<�����h�t�v�v�}�}���7�7�8�8�"�=�=�=�����h�t�v�v�{�{�}�}�5�5�6�6��;�;�;�;�;rc
��Gd�d��}|�tt|dd��j����ddg��|�tt|dd��j����dg��|�tt|dd��j����dg��dS)Nc��eZdZd�ZdS)�ADictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.Ac�.�|r||_|r	||_dSdSr)r�rN)rr�rNs   rr�zJDictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.A.__init__s$��� �q�d�f�� �q�d�f�f�f� � rNr�rrrr"r�~s#������
!�
!�
!�
!�
!rr"rrrNr�r)rrArprl)rr"s  r�-test_reverse_iterator_for_shared_shared_dictsz6DictTest.test_reverse_iterator_for_shared_shared_dicts}s���	!�	!�	!�	!�	!�	!�	!�	!�
	
����h�q�q��A�w�w�'7�8�8�9�9�C��:�F�F�F�����h�q�q��A�w�w�'7�8�8�9�9�C�5�A�A�A�����h�q�q��A�w�w�'7�8�8�9�9�C�5�A�A�A�A�Arc��tjddg��}|�d��t|�����}t|��}|�t|�����|��Gd�dt
��}gd�}||��}|�|tt|���������Gd�dt
��}||��}|�|ddd	�tt|���������dS)
N�rMr�rNrrMc��eZdZdS)�1DictTest.test_dict_copy_order.<locals>.CustomDictNr
rrr�
CustomDictr��rrr�)r�r�)rOrAc��eZdZd�ZeZd�ZdS)�9DictTest.test_dict_copy_order.<locals>.CustomReversedDictc�j�ttt�|������Sr)rprArrYr s rrYz>DictTest.test_dict_copy_order.<locals>.CustomReversedDict.keys�s"����T�Y�Y�t�_�_� 5� 5�6�6�6rc�P�tt�|����Sr)rprr<r s rr<z?DictTest.test_dict_copy_order.<locals>.CustomReversedDict.items�s����
�
�4� 0� 0�1�1�1rN)rrr
rYr�r<rrr�CustomReversedDictr��s9������
7�
7�
7��H�
2�
2�
2�
2�
2rrrY)r��OrderedDict�move_to_endrAr<rr)r�odr�rGr��pairsr\rs        r�test_dict_copy_orderzDictTest.test_dict_copy_order�sY��
�
$�h��%9�
:�
:��
���s��������
�
�#�#���B�x�x������d�j�j�l�l�+�+�X�6�6�6�	�	�	�	�	��	�	�	�/�.�.���J�u���������T�!�W�W�]�]�_�_� 5� 5�6�6�6�	2�	2�	2�	2�	2��	2�	2�	2�
��u�%�%������t�t��t��d�4��7�7�=�=�?�?�&;�&;�<�<�<�<�<rc���tdgi�����}tj��|�tjt
|������dSr)rr<r$rrRr%r^�rrbs  r�test_dict_items_result_gcz"DictTest.test_dict_items_result_gc�sV��
�4��*�"�"�$�$�
%�
%��
�
����	
����
�d�2�h�h�/�/�0�0�0�0�0rc���tdgi�����}tj��|�tjt
|������dSr)rpr<r$rrRr%r^rs  r�"test_dict_items_result_gc_reversedz+DictTest.test_dict_items_result_gc_reversed�sT���t�R�j�&�&�(�(�
)�
)��
�
��������
�d�2�h�h�/�/�0�0�0�0�0rc	�P�
���Gd�dt��}d�G�
�fd�d���
|d��}�
��}�
��}g}||fD�]^�|�ddd	d
�di��dd
d�}d|�<|�|��dd
d�}|�|��d��d��|�|��dd
d�}|��di��|�|��dd
d�}|�diz}|�|���fd
�}t|����}|�|��|���}|�|��d�tdd	�g��D��}|�|����`|D�]t}|�|���5|�|�	d��d��d}|dz
}tjd���rd}	|�||	u��|�|�	|��d��|�|�	d��d��|�|�	|��d��|�|�	|��d��d�|�|�	|��d��|�
�d��ddd��n#1swxYwY��vdS)Nc��eZdZdS)�(DictTest.test_str_nonstr.<locals>.StrSubNr
rrr�StrSubr
�rrrrc�"��eZdZd�Z��fd�ZdS)�&DictTest.test_str_nonstr.<locals>.Key3c� �td��S)N�key3r�r s rr�z/DictTest.test_str_nonstr.<locals>.Key3.__hash__�r�rc�l��t|���st|t��r
|dkr�dz
�dSdS)NrrTF)r�r&)rr��Key3r>s  ��rr�z-DictTest.test_str_nonstr.<locals>.Key3.__eq__�sB����e�T�*�*� �j���.D�.D� ��RX�����M�H��4��urNr�)rr>s��rrr�sB�������
$�
$�
$�
�
�
�
�
�
�
�
rrrr�r�r��+�,)r�r�c3�(�K�dV�dV��dfV�dS)N)r�r�)r�rrr)rs�r�
make_pairsz,DictTest.test_str_nonstr.<locals>.make_pairs�s5�����"�"�"�"�"�"�"�"��R�j� � � � � rc� �i|]\}}|d|z��Sr�r)r.r/r�s   rrz,DictTest.test_str_nonstr.<locals>.<dictcomp>�s"��L�L�L���3��b�1�f�L�L�Lrr��ke�y1T)�cpythonr)r&r5rr4rrrG�	enumeraterr+r�check_impl_detailrx�assertGreaterEqual)
rr�key3_1�key3_2�key3_3r=r\r�noninterned_key1�
interned_key1rr>rs
          @@@r�test_str_nonstrzDictTest.test_str_nonstr�s������
	�	�	�	�	�S�	�	�	���		�		�		�		�		�		�		�		�		�		�		��������������������V�$�&	�&	�D��L�L�&�"�f�b�$��;�<�<�<��R�(�(�A��A�d�G��L�L��O�O�O��R�(�(�A����Q�\�\�$��3�3�R�8�8�8��L�L��O�O�O��R�(�(�A�
�H�H�d�B�Z� � � ��L�L��O�O�O��R�(�(�A�
�$���O�A��L�L��O�O�O�
!�
!�
!�
!�
!��Z�Z�\�\�"�"�A��L�L��O�O�O������A��L�L��O�O�O�M�L�)�V�V�T�4J�*K�*K�L�L�L�A��L�L��O�O�O�O��	5�	5�A������"�"�
5�
5�� � ����v����3�3�3�$(� � �D�(� ��,�T�:�:�:�H�$*�M��$�$�%5��%F�G�G�G�� � ����'7�!8�!8�"�=�=�=�� � ����v����3�3�3�� � ����v����3�3�3�� � ����v����3�3�3���� � ����v����3�3�3��'�'��!�4�4�4�5
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5��	5�	5s�	EL�L	� L	N)[rrr
rr!r?rPrTr]rardrurzr}r�r�r�rrrr&r)r,r6rPrWrfrprurxrzr~r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr"r$r(r�cpython_onlyr,r4r9r>rDrHrKrMrQrWrdrjrnrqrsrur�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr
r%rrrrrs������%�%�%�%�%�%�
	=�	=�	=�<�<�<�@*�*�*�E�E�E�G�G�G�L�L�L�'�'�'�(
5�
5�
5�$�$�$�$1�$1�$1�L4�4�4�J>�J>�J>�X8B�8B�8B�t3�3�3�6�6�6� B�B�B� � � �
>�
>�
>�4�4�4�6A�A�A�(A�A�A�*/�/�/�6)�)�)�B������������'�'�'�4(�(�(�$3�3�3����$8�8�8�*,�*,�*,�X$�$�$�,
+�
+�
+�
9�
9�
9�3�3�3�
:�
:�
:�)2�)2�)2�V4�4�4�%�%�%�8��� ���,���B�B�B� .�.�.�-�-�-����
��"�"���"�"
��=�=���=�~
�� � ��� �
�
�
�
��
=�
=���
=�
��3�3���3�$
��
3�
3���
3�
�������
��
3�
3���
3�
��3�3���3� 3�3�3�$-�-�-�,J�J�J� =�=�=�$-�-�-�,D�D�D� 9�9�9�5�5�5�
�
�
�/�/�/� 
9�
9�
9�R�R�R�*�*�*�6���$���$���&�&�&����9�9�9�2�2�2�
<�
<�
<�B�B�B�=�=�=�<
��	1�	1���	1�
��1�1���1�b5�b5�b5�b5�b5rrc�.�eZdZejd���ZdS)�CAPITestc	�&��tjd��}|j}dddd�}|�||dt	d����d��|�||dt	d����d��|�||dt	d����d��|�t|gdt	d����|�t|idt	d����Gd	�d
t���G�fd�d��}|��|��}}|di}|�|||t	|����d��|��|||t	|����dS)
N�	_testcapirrrAr1r�rNr�c��eZdZdS)�,CAPITest.test_getitem_knownhash.<locals>.ExcNr
rrrr�r,/r�rr�c� ��eZdZ�fd�Zd�ZdS)�.CAPITest.test_getitem_knownhash.<locals>.BadEqc�����rrr�s  �rr�z5CAPITest.test_getitem_knownhash.<locals>.BadEq.__eq__1r�rc��dS)N�rr s rr�z7CAPITest.test_getitem_knownhash.<locals>.BadEq.__hash__3r�rNr�r�s�rr�r.0s=�������
�
�
�
�
�
�
�
�
�
rr�)	r�
import_module�dict_getitem_knownhashrr�r�SystemErrorr�r�)rr*r3r\r�r�r�r�s       @r�test_getitem_knownhashzCAPITest.test_getitem_knownhash s����!�/��<�<�	�!*�!A���!�!�$�$�����/�/��3��S�	�	�B�B�A�F�F�F����/�/��3��S�	�	�B�B�A�F�F�F����/�/��3��S�	�	�B�B�A�F�F�F�	
���+�'=�r�1�d�1�g�g�N�N�N����(�$:�B��4��7�7�K�K�K�"�"�"�"�"�)�"�"�"�	�	�	�	�	�	�	�	�	�	�����%�%�'�'�B��
��G�����/�/��2�t�B�x�x�@�@�!�D�D�D����#�5�q�"�d�2�h�h�G�G�G�G�GrN)rrr
rr&r5rrrr(r(s8������
��H�H���H�H�Hrr()�
mapping_testsc��eZdZeZdS)�GeneralMappingTestsN)rrr
r�	type2testrrrr8r8>��������I�I�Irr8c��eZdZdS)rhNr
rrrrhrhAs�������Drrhc��eZdZeZdS)�SubclassMappingTestsN)rrr
rhr9rrrr=r=Dr:rr=�__main__)r��collections.abcr$rZr)r+r��unittestrr�r�test.supportr�TestCaserr(r6�BasicTestMappingProtocolr8rrhr=r�mainrrr�<module>rEs�����������	�	�	�	�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
���������������&�&�&�&�&�&�L5�L5�L5�L5�L5�x� �L5�L5�L5�^0H�H�H�H�H�x� �H�H�H�>�����������-�@����	�	�	�	�	�4�	�	�	������=�A�����z����H�M�O�O�O�O�O��r