Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/test_dict.cpython-38.opt-2.pyc

U

i�f��@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
Gdd�dej�ZGdd�dej�Z
ddl	mZGdd	�d	ej�ZGd
d�de�ZGdd
�d
ej�Zedkr�e��dS)�N)�supportc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/d[d\�Z0e1j2d]d^��Z3e1j2d_d`��Z4e1j2dadb��Z5dcdd�Z6e1j2dedf��Z7e1j2dgdh��Z8e1j2didj��Z9e1j2dkdl��Z:e1j2dmdn��Z;e1j2dodp��Z<dqdr�Z=dsdt�Z>dudv�Z?dwdx�Z@dydz�ZAd{d|�ZBd}d~�ZCdd��ZDd�d��ZEd�d��ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZOd�d��ZPd�d��ZQd�d��ZRe1j2d�d���ZSe1j2d�d���ZSd�S)��DictTestc
CspGdd�dt�}ddi|ddi�fD]F}|�t��tf|�W5QRX|�t��ijf|�W5QRXq$dS)Nc@seZdZdS)z7DictTest.test_invalid_keyword_arguments.<locals>.CustomN��__name__�
__module__�__qualname__�rr�3/opt/alt/python38/lib64/python3.8/test/test_dict.py�Customsr
��)�dict�assertRaises�	TypeError�update)�selfr
Zinvalidrrr	�test_invalid_keyword_argumentssz'DictTest.test_invalid_keyword_argumentscCs |�t�i�|�t�i�dS�N)�assertEqualr
�assertIsNot�rrrr	�test_constructorszDictTest.test_constructorcCs^dD]T}dd�t|�D�}t�|�dd�|D�}dd�|�d}|�t|�t|��qdS)	N)rr��i�cSs$g|]}d�t�tjd��|f�qS)��)�join�randomZsample�stringZ
ascii_letters��.0�irrr	�
<listcomp>!s�z5DictTest.test_literal_constructor.<locals>.<listcomp>css|]\}}d�||�VqdS)z
{!r}: {:d}N)�format)r �k�vrrr	�	<genexpr>$sz4DictTest.test_literal_constructor.<locals>.<genexpr>�{z, �})�rangerZshufflerr�evalr
)r�n�itemsZformatted_itemsZdictliteralrrr	�test_literal_constructors�
z!DictTest.test_literal_constructorcCsD|�id�|�ddi�|�ti�d�|�tddi�d�dS)NTrrF)�assertIs�
assertTrue�boolrrrr	�	test_bool(szDictTest.test_boolcCs�i}|�t|���t��ddd�}|��}|�t|�ddh�|�d|�|�d|�|�d|�|�d|�|�t|jd�|�ttdd����d�dS)Nrr��a�br3r4�r3zdict_keys(['a']))r�set�keys�assertInrr�reprr
)r�dr$rrr	�	test_keys.s
zDictTest.test_keyscCsfi}|�t|���t��ddi}|�t|���dh�|�t|jd�|�ttdd����d�dS)Nrrr5zdict_values([1]))rr6�valuesrrr9r
�rr:rrr	�test_values;szDictTest.test_valuescCsfi}|�t|���t��ddi}|�t|���dh�|�t|jd�|�ttdd����d�dS)Nrr�rrr5zdict_items([('a', 1)]))rr6r,rrr9r
r=rrr	�
test_itemsCszDictTest.test_itemscCsli}|�d|�|�d|k�|�d|k�ddd�}|�d|�|�d|�|�d|�|�t|j�dS)Nr3rrr2r4�c)�assertNotIn�assertFalser/r8rr�__contains__r=rrr	�
test_containsLs
zDictTest.test_containscCs2i}|�t|�d�ddd�}|�t|�d�dS)Nrrrr2)r�lenr=rrr	�test_lenXs
zDictTest.test_lencs�ddd�}|�|dd�|�|dd�d|d<d|d<|�|dd�|�|dd�|d=|�|ddd	��|�t|j�G�fd
d�dt�}i}d||�<|�t|jd
�Gdd�dt��G�fdd�dt�}|�}d||<d|_|��|j|�dS)Nrrr2r3r4�rA�)r3rAcs eZdZ�fdd�Zdd�ZdS)z$DictTest.test_getitem.<locals>.BadEqcs
���dSrr�r�other��Excrr	�__eq__lsz+DictTest.test_getitem.<locals>.BadEq.__eq__cSsdS)N�rrrrr	�__hash__nsz-DictTest.test_getitem.<locals>.BadEq.__hash__N�rrrrNrPrrLrr	�BadEqksrR�*�c@seZdZdS)z"DictTest.test_getitem.<locals>.ExcNrrrrr	rMusrMcseZdZdZ�fdd�ZdS)z&DictTest.test_getitem.<locals>.BadHashFcs|jr���ndSdS�NrS��failrrLrr	rPysz/DictTest.test_getitem.<locals>.BadHash.__hash__N�rrrrWrPrrLrr	�BadHashwsrYT)rrr�__getitem__�object�KeyError�	ExceptionrW)rr:rRrY�xrrLr	�test_getitem^s(

zDictTest.test_getitemcCs4dddd�}|��|�|i�|�t|jd�dS�NrrrH�rrrH)�clearrrrr=rrr	�
test_clear�szDictTest.test_clearcsli}|�ddi�|�ddi�|�dddd��|�|dddd��|��|�|dddd��|�ttf|jd�Gdd�d�}|��|�|��|�|dddd��Gd	d
�d
t��|��G�fdd�d�}|��|j|��G�fd
d�d�}|��|j|��G�fdd�d�}|��|j|��G�fdd�dt�}|��ij|��|�tijdg�dS)Nr�dr�rHrac@s$eZdZdd�Zdd�Zdd�ZdS)z,DictTest.test_update.<locals>.SimpleUserDictcSsdddd�|_dSr`�r:rrrr	�__init__�sz5DictTest.test_update.<locals>.SimpleUserDict.__init__cSs
|j��Sr)r:r7rrrr	r7�sz1DictTest.test_update.<locals>.SimpleUserDict.keyscSs
|j|Srrf)rr!rrr	rZ�sz8DictTest.test_update.<locals>.SimpleUserDict.__getitem__N)rrrrgr7rZrrrr	�SimpleUserDict�srhc@seZdZdS)z!DictTest.test_update.<locals>.ExcNrrrrr	rM�srMcseZdZ�fdd�ZdS)�-DictTest.test_update.<locals>.FailingUserDictcs��dSrrrrLrr	r7�s�2DictTest.test_update.<locals>.FailingUserDict.keysN)rrrr7rrLrr	�FailingUserDict�srkcs eZdZ�fdd�Zdd�ZdS)ricsG�fdd�d�}|�S)Ncs(eZdZdd�Zdd�Z�fdd�ZdS)�EDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonItercSs
d|_dS�Nr�r!rrrr	rg�s�NDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__init__cSs|Srrrrrr	�__iter__�s�NDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__iter__cs|jrd|_dS��dS)Nrr3rnrrLrr	�__next__�s�NDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__next__N�rrrrgrprrrrLrr	�	BogonIter�srur�rrurLrr	r7�s
rjcSs|Srr�r�keyrrr	rZ�s�9DictTest.test_update.<locals>.FailingUserDict.__getitem__N�rrrr7rZrrLrr	rk�scs eZdZdd�Z�fdd�ZdS)ricSsGdd�d�}|�S)Nc@s$eZdZdd�Zdd�Zdd�ZdS)rlcSstd�|_dS)Nr3)�ordr!rrrr	rg�srocSs|Srrrrrr	rp�srqcSs2|jtd�kr*t|j�}|jd7_|St�dS)N�zr)r!r{�chr�
StopIteration)rZrtnrrr	rr�s

rsNrtrrrr	ru�srurrvrrr	r7�srjcs��dSrrrwrLrr	rZ�sryNrzrrLrr	rk�s
cs eZdZdd�Z�fdd�ZdS)z$DictTest.test_update.<locals>.badseqcSs|Srrrrrr	rp�sz-DictTest.test_update.<locals>.badseq.__iter__cs
���dSrrrrLrr	rr�sz-DictTest.test_update.<locals>.badseq.__next__N�rrrrprrrrLrr	�badseq�sr�)	rrrr�AttributeErrorrbr]r[�
ValueError)rr:rhrkr�rrLr	�test_update�s.zDictTest.test_updatec
sl|�t�d�dddd��i�|���d���|���d�dddd��|���dd�ddd��|���g�i�dd�}|���|��ddi�|�tijd�Gd	d
�d
t�}|�|�d�ddi�|�|��d�ddi�|�|�d�|�|�|��d�|�Gdd
�d
t�}|�d�}|�|ddd��|�|tj�|�ttj�Gdd�dt	��G�fdd�dt�}|��|jdg�G�fdd�dt
�}|��tj|��G�fdd�dt�}|��|jdg�tttd�td����|�t��d�tttd�dgd���G�fdd�dt�}dd�td�D����
�}	|	jdddd�|�|�dddh�|	�dS) N�abc)r3r4rA)rI�rcss
dVdSrmrrrrr	�g�sz!DictTest.test_fromkeys.<locals>.grrHc@seZdZdS)z(DictTest.test_fromkeys.<locals>.dictlikeNrrrrr	�dictlike�sr�r3c@seZdZdd�ZdS)z&DictTest.test_fromkeys.<locals>.mydictcSst��Sr)�collections�UserDict��clsrrr	�__new__�sz.DictTest.test_fromkeys.<locals>.mydict.__new__N�rrrr�rrrr	�mydict�sr�Zabr2c@seZdZdS)z#DictTest.test_fromkeys.<locals>.ExcNrrrrr	rM�srMcseZdZ�fdd�ZdS)z(DictTest.test_fromkeys.<locals>.baddict1cs
���dSrrrrLrr	rg�sz1DictTest.test_fromkeys.<locals>.baddict1.__init__N�rrrrgrrLrr	�baddict1�sr�cs eZdZdd�Z�fdd�ZdS)z&DictTest.test_fromkeys.<locals>.BadSeqcSs|Srrrrrr	rp�sz/DictTest.test_fromkeys.<locals>.BadSeq.__iter__cs
���dSrrrrLrr	rr�sz/DictTest.test_fromkeys.<locals>.BadSeq.__next__NrrrLrr	�BadSeq�sr�cseZdZ�fdd�ZdS)z(DictTest.test_fromkeys.<locals>.baddict2cs
���dSrr)rrx�valuerLrr	�__setitem__sz4DictTest.test_fromkeys.<locals>.baddict2.__setitem__N)rrrr�rrLrr	�baddict2�sr�rcseZdZ�fdd�ZdS)z(DictTest.test_fromkeys.<locals>.baddict3cs�Srrr�rfrr	r�
sz0DictTest.test_fromkeys.<locals>.baddict3.__new__Nr�rrfrr	�baddict3	sr�cSsi|]
}||�qSrrrrrr	�
<dictcomp>sz*DictTest.test_fromkeys.<locals>.<dictcomp>�
r4rA)rr
�fromkeysrrr�assertIsInstancer�r�r]r[�zipr)�copyr)
rr�r�r�Zudr�r�r�r��resr)rMr:r	�
test_fromkeys�sB
(zDictTest.test_fromkeyscCs�dddd�}|�|��|�|�|��|�|�|��dddd��|��}d|d<|�||�|�i��i�|�t|jd�dS)NrrrHrarI)rr�r�assertNotEqualrr)rr:r�rrr	�	test_copyszDictTest.test_copyc
Cs�dD]�}t�|d||d�}|j|d��li}t|�D]}|||<q:|��}|�||�|�||�d|d<|�||�|�t|�t|�d�W5QRXqdS)N)r�rd��i'i��r)�	dict_sizer�rxr)	rZ	randrangeZsubTestr)r�rrr�rF)rr�r:r!�d2rrr	�test_copy_fuzzs
�
zDictTest.test_copy_fuzzcCsPGdd�d�}|�}iddi|difD]$}|��}|�t�|�t�|��q&dS)Nc@seZdZdS)z0DictTest.test_copy_maintains_tracking.<locals>.ANrrrrr	�A/sr�r3r�val)r�r�gc�
is_tracked)rr�rxr:r�rrr	�test_copy_maintains_tracking.s
z%DictTest.test_copy_maintains_trackingcCs>dd�td�D�}td�D]
}||=q|��}|�||�dS)NcSsi|]
}||�qSrr�r r$rrr	r�?sz1DictTest.test_copy_noncompact.<locals>.<dictcomp>r�i�)r)r�r)rr:r$r�rrr	�test_copy_noncompact8s
zDictTest.test_copy_noncompactcCs�i}|�|�d�d�|�|�dd�d�ddd�}|�|�d�d�|�|�dd�d�|�|�d�d�|�|�dd�d�|�t|j�|�t|jddd�dS)NrArHrrr2r3)r.�getrrrr=rrr	�test_getEs
zDictTest.test_getcs�i}|�|�d�d�|�dg�|�|�d�d�|�dg��d�|�|ddd�|�dg��d�|�t|d�d�|�t|j�Gdd�dt��G�fd	d
�d
t�}|�}d||<d|_	|��|j|g�dS)
NZkey0rxrHrrIrc@seZdZdS)z%DictTest.test_setdefault.<locals>.ExcNrrrrr	rM]srMcseZdZdZ�fdd�ZdS)z)DictTest.test_setdefault.<locals>.BadHashFcs|jr���ndSdSrUrVrrLrr	rPasz2DictTest.test_setdefault.<locals>.BadHash.__hash__NrXrrLrr	rY_srYrST)
r.�
setdefault�appendrrFrrr]r[rW)rr:rYr^rrLr	�test_setdefaultQszDictTest.test_setdefaultcCsdGdd�dt�}|�}|di}|�}|�|g�|�|jd�|�|jd�|�|j|jd�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z/DictTest.test_setdefault_atomic.<locals>.HashedcSsd|_d|_dS�Nr��
hash_count�eq_countrrrr	rgosz8DictTest.test_setdefault_atomic.<locals>.Hashed.__init__cSs|jd7_dS�NrrS�r�rrrr	rPrsz8DictTest.test_setdefault_atomic.<locals>.Hashed.__hash__cSs|jd7_t|�t|�kSrm�r��idrJrrr	rNusz6DictTest.test_setdefault_atomic.<locals>.Hashed.__eq__N�rrrrgrPrNrrrr	�Hashednsr�r�r)r[r�rr�r��rr�Zhashed1�yZhashed2rrr	�test_setdefault_atomicls
zDictTest.test_setdefault_atomicc
CspGdd�dt�}|�}|dddddddddi}|�}g||<|�|jd�|�|jd�|�|j|jd�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z6DictTest.test_setitem_atomic_at_resize.<locals>.HashedcSsd|_d|_dSr�r�rrrr	rg�sz?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__init__cSs|jd7_dSr�r�rrrr	rP�sz?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__hash__cSs|jd7_t|�t|�kSrmr�rJrrr	rN�sz=DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__eq__Nr�rrrr	r��sr�r�rrrrH)r[rr�r�r�rrr	�test_setitem_atomic_at_resize�s
z&DictTest.test_setitem_atomic_at_resizecCs�dD]�}td�D]�}d|}i}i}t|�D]$}||t|�<|dkr,||t|�<q,|dkrb|��}t|�D]Z}|��\}}}	|�|t|��|��\}
}}|�|t|
��|�|dko�|	|k�qj|�|�|�|�qqi}
|�t|
j�dS)N)���r�rr)	r)r9r��popitemr�intrCrr\)rZcopymodeZlog2size�sizer3r4r!ZkaZvaZtaZkbZvb�tbr:rrr	�test_popitem�s*
zDictTest.test_popitemcs�i}d\}}|||<|�t|jd�|�|�|�|�|�t|�d�|�t|j|�|�|�||�|�|||<|�|�|d�|�|�t|j�Gdd�dt��G�fdd�dt�}|�}d	||<d
|_|��|j|�dS)N)r��defZghirrc@seZdZdS)zDictTest.test_pop.<locals>.ExcNrrrrr	rM�srMcseZdZdZ�fdd�ZdS)z"DictTest.test_pop.<locals>.BadHashFcs|jr���ndSdSrUrVrrLrr	rP�sz+DictTest.test_pop.<locals>.BadHash.__hash__NrXrrLrr	rY�srYrST)	rr\�poprrFrr]r[rW)rr:r$r%rYr^rrLr	�test_pop�s"zDictTest.test_popc	Cs<i}d|d<|�t��|D]}d||d<qW5QRXdSrm�r�RuntimeError�rr:r!rrr	�test_mutating_iteration�s
z DictTest.test_mutating_iterationc	Cs>i}d|d<|�t��|D]}|d=d|d<qW5QRXdSr�r�r�rrr	�test_mutating_iteration_delete�sz'DictTest.test_mutating_iteration_deletec	CsBi}d|d<|�t��"|��D]}|d=d|d<q W5QRXdSr�)rr�r<r�rrr	�*test_mutating_iteration_delete_over_values�sz3DictTest.test_mutating_iteration_delete_over_valuesc	CsBi}d|d<|�t��"|��D]}|d=d|d<q W5QRXdSr��rr�r,r�rrr	�)test_mutating_iteration_delete_over_items�sz2DictTest.test_mutating_iteration_delete_over_itemscsPG�fdd�d���d�}�d�}|di}||f�_d||<|�||di�dS)Ncs,eZdZdZdd�Zdd�Z�fdd�ZdS)z/DictTest.test_mutating_lookup.<locals>.NastyKeyNcSs
||_dSr)r�)rr�rrr	rg�sz8DictTest.test_mutating_lookup.<locals>.NastyKey.__init__cSsdSrmrrrrr	rP�sz8DictTest.test_mutating_lookup.<locals>.NastyKey.__hash__cs(�jr�j\}}d�_||=|j|jkSr)�mutate_dictr�)rrKr�rx��NastyKeyrr	rNs

z6DictTest.test_mutating_lookup.<locals>.NastyKey.__eq__)rrrr�rgrPrNrr�rr	r��sr�rr)r�r)rZkey1Zkey2r:rr�r	�test_mutating_lookup�s
zDictTest.test_mutating_lookupcs�i}|�t|�d�d|d<|�t|�d�i}||d<|�t|�d�Gdd�dt��G�fdd	�d	t�}d|�i}|��t|�dS)
Nz{}rrz{1: 2}z
{1: {...}}c@seZdZdS)zDictTest.test_repr.<locals>.ExcNrrrrr	rMsrMcseZdZ�fdd�ZdS)z#DictTest.test_repr.<locals>.BadReprcs
���dSrrrrLrr	�__repr__sz,DictTest.test_repr.<locals>.BadRepr.__repr__N)rrrr�rrLrr	�BadReprsr�)rr9r]r[r)rr:r�rrLr	�	test_reprs
zDictTest.test_reprcCs4i}tt��d�D]}d|i}q|�tt|�dS)Nrdr)r)�sys�getrecursionlimitr�RecursionErrorr9r�rrr	�test_repr_deep s
zDictTest.test_repr_deepc	sx|�ii�|�ddiddi�Gdd�dt��G�fdd�dt�}|�di}ddi}|����||kW5QRXdS)Nrrc@seZdZdS)zDictTest.test_eq.<locals>.ExcNrrrrr	rM*srMcs eZdZ�fdd�Zdd�ZdS)z DictTest.test_eq.<locals>.BadCmpcs
���dSrrrJrLrr	rN-sz'DictTest.test_eq.<locals>.BadCmp.__eq__cSsdSrmrrrrr	rP/sz)DictTest.test_eq.<locals>.BadCmp.__hash__NrQrrLrr	�BadCmp,sr�)rr]r[r)rr��d1r�rrLr	�test_eq&s
zDictTest.test_eqcCs |�dd��|�dd��dS)NcSs|��Sr)r7�r^rrr	�<lambda>9�z.DictTest.test_keys_contained.<locals>.<lambda>cSs|��Sr�r,r�rrr	r�:r�)�helper_keys_containedrrrr	�test_keys_contained8szDictTest.test_keys_containedcCs�|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)Nrrr?rHra)rIrrH)r
r/rC)r�fn�emptyZempty2ZsmallerZlargerZlarger2Zlarger3rrr	r�<s<

zDictTest.helper_keys_containedc	CsGdd�d�}d|�i}d|�i}|�t��|��|��kW5QRX|�t��|��|��kW5QRX|�t��|��|��kW5QRX|�t��|��|��kW5QRX|�|�d�}|�t��|��|��kW5QRX|�t��|��|��kW5QRXdS)Nc@seZdZdd�ZdS)z9DictTest.test_errors_in_view_containment_check.<locals>.CcSst�dSr�r�rJrrr	rNjsz@DictTest.test_errors_in_view_containment_check.<locals>.C.__eq__N�rrrrNrrrr	�Cisr�rr?r�)rr�r�r�Zd3rrr	�%test_errors_in_view_containment_checkhs 

z.DictTest.test_errors_in_view_containment_checkcCs�ddd���}dddd���}ddi��}|�||t��|�||ddh�|�||dh�|�||dh�|�||@ddh�|�||@t��|�||Bdddh�|�||Adh�|�||Adddh�dS)Nrrr?rHrarI)r7rr6�r�k1�k2Zk3rrr	�$test_dictview_set_operations_on_keys~sz-DictTest.test_dictview_set_operations_on_keyscCs�ddd���}dddd���}ddi��}|�||t��|�||ddh�|�||d	h�|�||d
h�|�||@ddh�|�||@t��|�||Bddd	h�|�||Ad	h�|�||Addd
h�dS)Nrrr?rHrarI�rr)rr)rHrH)rIrI)r,rr6r�rrr	�%test_dictview_set_operations_on_items�sz.DictTest.test_dictview_set_operations_on_itemscCs�|�ddi��dhk�|�dhddi��k�|�ddi��dhBddh�|�dhddi��Bddh�|�ddi��dhk�|�dhddi��k�|�ddi��dhBddh�|�dhddi��Bddh�dS)Nrrr�)r/r7rr,rrrr	�"test_dictview_mixed_set_operations�sz+DictTest.test_dictview_mixed_set_operationsc
	CsZ|�ttd��|�tid��Gdd�dt�}|ddd��}|�|dd�|�|dd�|�d|�|�d|���|�|dd	�Gd
d�dt�}|�}|�t��}|d	W5QRX|�|jj	d�Gd
d�dt�}|�}|�t
��}|d	W5QRX|�|jj	d�Gdd�dt�}|�}	|�t
��}|	d	W5QRX|�|jj	d�dS)N�__missing__c@seZdZdd�ZdS)z DictTest.test_missing.<locals>.DcSsdSrUrrwrrr	r��sz,DictTest.test_missing.<locals>.D.__missing__N�rrrr�rrrr	�D�sr�rrI)rrHrrHrSc@seZdZdd�ZdS)z DictTest.test_missing.<locals>.EcSst|��dSrr�rwrrr	r��sz,DictTest.test_missing.<locals>.E.__missing__Nr�rrrr	�E�sr�)rSc@seZdZdd�ZdS)z DictTest.test_missing.<locals>.FcSsdd�|_dS)NcSsdSrr)rxrrr	r��r�z;DictTest.test_missing.<locals>.F.__init__.<locals>.<lambda>)r�rrrr	rg�sz)DictTest.test_missing.<locals>.F.__init__Nr�rrrr	�F�sr�c@seZdZdS)z DictTest.test_missing.<locals>.GNrrrrr	�G�sr�)rC�hasattrr
rrBr7rr��	exception�argsr\)
rr�r:r��erAr��fr�r�rrr	�test_missing�s0zDictTest.test_missingc	Cs6i}|�t��}|dW5QRX|�|jjd�dS)N�r)r�)rr\rr�r�)rr:rArrr	�test_tuple_keyerror�szDictTest.test_tuple_keyerrorc
sjGdd�dt��G�fdd�d�}i}|�}|�}d||<dD]&}|����t|t��W5QRXq>dS)Nc@seZdZdS)z.DictTest.test_bad_key.<locals>.CustomExceptionNrrrrr	�CustomException�sr�cs eZdZdd�Z�fdd�ZdS)z)DictTest.test_bad_key.<locals>.BadDictKeycSs
t|j�Sr)�hash�	__class__rrrr	rP�sz2DictTest.test_bad_key.<locals>.BadDictKey.__hash__cst||j�r��|Sr)�
isinstancerrJ�r�rr	rN�sz0DictTest.test_bad_key.<locals>.BadDictKey.__eq__N�rrrrPrNrrrr	�
BadDictKey�srr)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)rrr:Zx1Zx2Zstmtrrr	�test_bad_key�s	zDictTest.test_bad_keycCsJi}td�D]}|||<qtd�D]
}||=q"tdd�D]}|||<q8dS)Nr��	)r)r�rrr	�test_resize1�s
zDictTest.test_resize1cs`G��fdd�dt�}i�d�d�|�<d�|�<d�|�<d�|�<d�|�<d	�d
�d<dS)Ncs"eZdZdd�Z��fdd�ZdS)z DictTest.test_resize2.<locals>.XcSsdS)Nr�rrrrr	rPsz)DictTest.test_resize2.<locals>.X.__hash__cs�r���dS�NF�rbrJ�r:Zresizingrr	rN
sz'DictTest.test_resize2.<locals>.X.__eq__Nrrr
rr	�X
srFrrrHrIr�Trr	)r[�rrrr
r	�test_resize2s




zDictTest.test_resize2c
Cs8|�t�� dddddddddd�}W5QRXi}dS)Nrr)r3r4rAr:r�r�r��h)r�ZeroDivisionErrorr=rrr	�$test_empty_presized_dict_in_freelists�z-DictTest.test_empty_presized_dict_in_freelistcCsxGdd�dt�}tjtjtjf}|D]N}|�}t�|�}|di}||�|_t|j�|_	~~t
��|�|�dd�q$dS)Nc@seZdZdS)z+DictTest.test_container_iterator.<locals>.CNrrrrr	r�'sr�rzCycle was not collected)
r[r
r,r<r7�weakref�refr%�iterr^r��collectr.)rr�Zviewsr%�objrZ	containerrrr	�test_container_iterator$s

z DictTest.test_container_iteratorcCs&t��t��|�t�|�|�dSr)r�rrCr��r�trrr	�_not_tracked4szDictTest._not_trackedcCs8|�t�|�|�t��t��|�t�|�|�dSr)r/r�r�rrrrr	�_tracked:szDictTest._trackedcCs�dddgf\}}}}|�i�|�|d|||di�|�ddd��|�dtd��|�dt�i�|�dgi�|�dgfi�|�dii�|�dt�i�dS)	N��?r3)rNrrr)rr4)r)NTFr)rr�r[rr6)rr^r�r|�wrrr	�test_track_literals@s
zDictTest.test_track_literalsc	CsVGdd�dt�}dddt�fg|�f\}}}}}t�}|�|�d|d<|�|�d||<|�|�d||<|�|�|�|���||d<|�|�|�|���d|d<|�|�|�|���t�}t�}||d<|�|�|�|�||d<|�|�t�|||g�}|�|�t�}|�|�|�|�t�||||g�}|�|�t�}|�|�|�|�t|||d	�}|�|�t||||d
�}|�|�t�}|j|||d	�|�|�|j|d�|�|�t||f|dfg�}|�|�t||f||fg�}|�|�t�}|�||f|dfg�|�|�|�||f||fg�|�|�dS)Nc@seZdZdS)z-DictTest.test_track_dynamic.<locals>.MyObjectNrrrrr	�MyObjectUsr!rr3rrrHrI�r^r�r|)r^r�r|r)r)r[r
rr�rr�r)	rr!r^r�r|r�or:Zddrrr	�test_track_dynamicRsh 





















zDictTest.test_track_dynamiccCs Gdd�dt�}|�|��dS)Nc@seZdZdS)z,DictTest.test_track_subtypes.<locals>.MyDictNrrrrr	�MyDict�sr%)r
r)rr%rrr	�test_track_subtypes�szDictTest.test_track_subtypescCsFGdd�d�}g}t|�D]&}|�}d\|_|_|_|�|j�q|S)Nc@seZdZdS)z(DictTest.make_shared_key_dict.<locals>.CNrrrrr	r��sr�ra)r)r^r�r|r��__dict__)rr+r�Zdictsr!r3rrr	�make_shared_key_dict�szDictTest.make_shared_key_dictcCs�|�d�\}}d|d<t�|�}d|d<|�dd�t�|�}d|d<|�||�|�t|�dddddg�|�t|�dddddg�dS)Nrrr3r4r^r�r|)r(r��	getsizeofr��
assertGreaterr�list)rr3r4Zsize_aZsize_brrr	�test_splittable_setdefault�s

z#DictTest.test_splittable_setdefaultc	Cs�|�d�\}}t�|�}|d=|�t��|d=W5QRX|�t�|�|�|�t|�ddg�|�t|�dddg�d|d<|�t|�dddg�|�t|�dddg�dS�Nrr�r^r|rS)r(r�r)rr\r*rr+�rr3r4�	orig_sizerrr	�test_splittable_del�s
zDictTest.test_splittable_delc	Cs�|�d�\}}t�|�}|�d�|�t��|�d�W5QRX|�t�|�|�|�t|�ddg�|�t|�dddg�d|d<|�t|�dddg�|�t|�dddg�dSr-)	r(r�r)r�rr\r*rr+r.rrr	�test_splittable_pop�s

zDictTest.test_splittable_popc	Cs:|�d�\}}d|d<|�t��|�d�W5QRXdS)NrrIr3)r(rr\r�)rr3r4rrr	�test_splittable_pop_pending�sz$DictTest.test_splittable_pop_pendingc	Cs�|�d�\}}t�|�}|��}|�|d�|�t��|d=W5QRX|�t�|�|�|�t|�ddg�|�t|�dddg�dS)Nr)r|rHr|r^r�)	r(r�r)r�rrr\r*r+)rr3r4r/�itemrrr	�test_splittable_popitem�s
z DictTest.test_splittable_popitemcCs�ddl}Gdd�d�}|�}d|_|�|�|j��|j�d�|�|�|j��d|_|�|�|j��|�}d|_|�|�|j��|j��|�|�|j��d|_|�|�|j��dS)Nrc@seZdZdS)z5DictTest.test_splittable_setattr_after_pop.<locals>.CNrrrrr	r��sr�rr3rrH)�	_testcapir3r/Zdict_hassplittabler'r�rCr�)rr5r�r3rrr	�!test_splittable_setattr_after_pop�s 
z*DictTest.test_splittable_setattr_after_popc	Cs�ttjd�D]�}dddd�}t|�}t�||�}t�|�}|�t|�t|��t�|�}zt|�}Wnt	k
r~YqYnXt�||�}t�|�}||=|�t|�t|��qdS�Nrr3r4rAra)
r)�pickle�HIGHEST_PROTOCOLr�dumps�loadsrr+�nextr~�r�proto�data�itr:�droprrr	�test_iterator_picklings



zDictTest.test_iterator_picklingcCs�ttjd�D]�}dddd�}t|���}t�||�}t�|�}|�|tj	j
�|�t|�|�t�|�}t
|�}t�||�}t�|�}||d=|�t|�|�qdS�Nrr3r4rArar)r)r8r9rr,r:r;r�r�r��Iteratorrr
r<�rr>r?Zitorgr:r@rArrr	�test_itemiterator_pickling's



z#DictTest.test_itemiterator_picklingcCs�ttjd�D]�}dddd�}t|���}t�||�}t�|�}|�t|�t|����t�|�}t	|�}t�||�}t�|�}t|�|g}|�t
|�t
t|�����qdSr7)r)r8r9rr<r:r;rr+r<�sorted�rr>r?r@r:rAr<rrr	�test_valuesiterator_pickling=s


z%DictTest.test_valuesiterator_picklingc	Cs�ttjd�D]�}dddd�}t|�}t�||�}t�|�}|�t|�tt|���t�|�}zt|�}Wnt	k
r�YqYnXt�||�}t�|�}||=|�t|�tt|���qdSr7)
r)r8r9�reversedr:r;rr+r<r~r=rrr	�test_reverseiterator_picklingMs



z&DictTest.test_reverseiterator_picklingcCs�ttjd�D]�}dddd�}t|���}t�||�}t�|�}|�|tj	j
�|�t|�|�t�|�}t
|�}t�||�}t�|�}||d=|�t|�|�qdSrC)r)r8r9rJr,r:r;r�r�r�rDrr
r<rErrr	�!test_reverseitemiterator_pickling_s



z*DictTest.test_reverseitemiterator_picklingcCs�ttjd�D]�}dddd�}t|���}t�||�}t�|�}|�t|�tt|�����t�|�}t	|�}t�||�}t�|�}t|�|g}|�t
|�t
|����qdSr7)r)r8r9rJr<r:r;rr+r<rGrHrrr	�#test_reversevaluesiterator_picklingus


z,DictTest.test_reversevaluesiterator_picklingcCsZGdd�d�}|d�}Gdd�dt�}|�|jt||d���|�|j|j|d��dS)Nc@seZdZdd�ZdS)z=DictTest.test_instance_dict_getattr_str_subclass.<locals>.FoocSs
||_dSr)�msg)rrNrrr	rg�szFDictTest.test_instance_dict_getattr_str_subclass.<locals>.Foo.__init__Nr�rrrr	�Foo�srOZ123c@seZdZdS)z>DictTest.test_instance_dict_getattr_str_subclass.<locals>._strNrrrrr	�_str�srPrN)�strrrN�getattrr')rrOr�rPrrr	�'test_instance_dict_getattr_str_subclass�s
z0DictTest.test_instance_dict_getattr_str_subclasscCs<Gdd�d�}|�}d|jd<d|_|�|jddd��dS)Nc@seZdZdS)zFDictTest.test_object_set_item_single_instance_non_str_key.<locals>.FooNrrrrr	rO�srOrr3)rr3)r'r3r)rrOr�rrr	�0test_object_set_item_single_instance_non_str_key�s

z9DictTest.test_object_set_item_single_instance_non_str_keycs@G��fdd�d���fdd�dD��t��D]}|�|<q.dS)NcseZdZ��fdd�ZdS)z4DictTest.check_reentrant_insertion.<locals>.Mutatingcs���dSrrr�r:�mutaterr	�__del__�sz<DictTest.check_reentrant_insertion.<locals>.Mutating.__del__N�rrrrWrrUrr	�Mutating�srYcsi|]}|���qSrrr�)rYrr	r��sz6DictTest.check_reentrant_insertion.<locals>.<dictcomp>Zabcdefghijklmnopqr)r+)rrVr$r)rYr:rVr	�check_reentrant_insertion�sz"DictTest.check_reentrant_insertioncs>dd�}��|��fdd�}��|�dd�}��|�dS)NcSsd|d<dS)Nr�r4rrfrrr	rV�sz1DictTest.test_reentrant_insertion.<locals>.mutatecs|��j�|��dSr)rr'rbrfrrr	rV�scSs|r|��qdSr)r�rfrrr	rV�s)rZ)rrVrrr	�test_reentrant_insertion�s

z!DictTest.test_reentrant_insertioncsZG�fdd�d�}dd�tdd�D�}t|��d�|�<|�dddi}|�t|j��dS)Ncs eZdZdd�Z�fdd�ZdS)z)DictTest.test_merge_and_mutate.<locals>.XcSsdSr�rrrrr	rP�sz2DictTest.test_merge_and_mutate.<locals>.X.__hash__cs���dSrr)rr#�rKrr	rN�sz0DictTest.test_merge_and_mutate.<locals>.X.__eq__Nrrr\rr	r�srcSsg|]}|df�qS)rrrrrr	r"�sz2DictTest.test_merge_and_mutate.<locals>.<listcomp>ri9r)r)r
rr�r)rr�lr:rr\r	�test_merge_and_mutate�s
zDictTest.test_merge_and_mutatecCsHt�|tt�t�|dd�t�t�|dd�t�t�|dd�t�dS)NcSst|���Sr)rr7rfrrr	r��r�z4DictTest.test_free_after_iterating.<locals>.<lambda>cSst|���Sr)rr<rfrrr	r��r�cSst|���Sr)rr,rfrrr	r��r�)rZcheck_free_after_iteratingrr
rrrr	�test_free_after_iterating�sz"DictTest.test_free_after_iteratingcspG��fdd�d�}|�di�|�|�i�|���k�G�fdd�d�}d|�i}dt�i�|�|�k�dS)Ncs,eZdZ�fdd�Z�fdd�Zdd�ZdS)z9DictTest.test_equal_operator_modifying_operand.<locals>.Xcs���dSrrr)�dict_brr	rW�szADictTest.test_equal_operator_modifying_operand.<locals>.X.__del__cs���dS�NTrrJ)�dict_arr	rN�sz@DictTest.test_equal_operator_modifying_operand.<locals>.X.__eq__cSsdS�N�
rrrrr	rP�szBDictTest.test_equal_operator_modifying_operand.<locals>.X.__hash__N)rrrrWrNrPr)rbr`rr	r�srrcseZdZ�fdd�ZdS)z9DictTest.test_equal_operator_modifying_operand.<locals>.Ycs���dSrarrJ��dict_drr	rN�sz@DictTest.test_equal_operator_modifying_operand.<locals>.Y.__eq__Nr�rrerr	�Y�srg)r/r6)rrrgZdict_cr)rbr`rfr	�%test_equal_operator_modifying_operand�s


z.DictTest.test_equal_operator_modifying_operandcsTG�fdd�dt�}i�|d�d|d�di�zt���Wntk
rNYnXdS)Ncs eZdZdd�Z�fdd�ZdS)zADictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.XcSsdSrcrrrrr	rP�szJDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__hash__cst��dkr���dS�NrF�rFrbrJrfrr	rN�szHDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__eq__Nrrrfrr	r�srrr�r�r
r�r�rrrfr	�-test_fromkeys_operator_modifying_dict_operand�s	z6DictTest.test_fromkeys_operator_modifying_dict_operandcsPG�fdd�dt�}i�|d�|d�h�zt���Wntk
rJYnXdS)Ncs eZdZdd�Z�fdd�ZdS)z@DictTest.test_fromkeys_operator_modifying_set_operand.<locals>.XcSsdSrcrrrrr	rP�szIDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__hash__cst��dkr���dSrirjrJrfrr	rN�szGDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__eq__Nrrrfrr	r�srrrrkrrrfr	�,test_fromkeys_operator_modifying_set_operand�s	z5DictTest.test_fromkeys_operator_modifying_set_operandcs2G�fdd�d�}dt�i�d|�f���kdS)NcseZdZ�fdd�ZdS)z:DictTest.test_dictitems_contains_use_after_free.<locals>.Xcs���tSr)rb�NotImplementedrJrfrr	rNszADictTest.test_dictitems_contains_use_after_free.<locals>.X.__eq__Nr�rrfrr	rsrr)r6r,rrrfr	�&test_dictitems_contains_use_after_frees
z/DictTest.test_dictitems_contains_use_after_freecs*G�fdd�d�}|�dg�t�g�dS)NcseZdZ�fdd�ZdS)z,DictTest.test_init_use_after_free.<locals>.Xcsg�dd�<dSrcrr�Zpairrr	rPsz5DictTest.test_init_use_after_free.<locals>.X.__hash__N)rrrrPrrprr	rsr�{)r
rrrpr	�test_init_use_after_frees
z!DictTest.test_init_use_after_freecsFG�fdd�dt���fdd�td�D���fdd�}|�t|�dS)NcseZdZ�fdd�ZdS)z;DictTest.test_oob_indexing_dictiter_iternextitem.<locals>.Xcs���dSrrrrfrr	rWszCDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.X.__del__NrXrrfrr	rsrcsi|]}|�|��qSrrr)rrr	r�szDDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.<dictcomp>rcs&���D]}|ddkrd�d<qdS)Nrrr�)�resultrfrr	�iter_and_mutateszIDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.iter_and_mutate)r�r)rr�)rrtr)rr:r	�'test_oob_indexing_dictiter_iternextitemsz0DictTest.test_oob_indexing_dictiter_iternextitemcCsDdddddd�}|d=t|�}|�t|�td��|�tt|�dS)	NrrrrHrI)r3r4�foorAr:rvZdcba)rJrr+rr~r<)rr:�rrrr	�
test_reversed&s
zDictTest.test_reversedcCs�|�tti��g�|�tti����g�|�tti����g�|�tti����g�|�ttt���g�|�ttt�����g�|�ttt�����g�|�ttt�����g�dSr)rr+rJr,r<r7r
rrrr	�$test_reverse_iterator_for_empty_dict-sz-DictTest.test_reverse_iterator_for_empty_dictcCsnGdd�d�}|�tt|dd�j��ddg�|�tt|dd�j��dg�|�tt|dd�j��dg�dS)Nc@seZdZdd�ZdS)zADictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.AcSs|r
||_|r||_dSr)r^r�)rr^r�rrr	rg>szJDictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.A.__init__Nr�rrrr	r�=sr�rrr�r^r)rr+rJr')rr�rrr	�-test_reverse_iterator_for_shared_shared_dicts<s z6DictTest.test_reverse_iterator_for_shared_shared_dictscCs�t�ddg�}|�d�t|���}t|�}|�t|���|�Gdd�dt�}dddg}||�}|�|tt|�����Gdd�dt�}||�}|�|ddd	�tt|�����dS)
N)r3r)r4rr3c@seZdZdS)z1DictTest.test_dict_copy_order.<locals>.CustomDictNrrrrr	�
CustomDictPsr{)rArHc@s eZdZdd�ZeZdd�ZdS)z9DictTest.test_dict_copy_order.<locals>.CustomReversedDictcSsttt�|���Sr)rJr+r
r7rrrr	r7Ysz>DictTest.test_dict_copy_order.<locals>.CustomReversedDict.keyscSstt�|��Sr)rJr
r,rrrr	r,^sz?DictTest.test_dict_copy_order.<locals>.CustomReversedDict.itemsN)rrrr7rpr,rrrr	�CustomReversedDictXsr|r�)r��OrderedDict�move_to_endr+r,r
r)rZodZexpectedr�r{Zpairsr:r|rrr	�test_dict_copy_orderFs

	zDictTest.test_dict_copy_ordercCs0tdgi���}t��|�t�t|���dSr)rr,r�rr/r�r<�rr@rrr	�test_dict_items_result_gcdsz"DictTest.test_dict_items_result_gccCs0tdgi���}t��|�t�t|���dSr)rJr,r�rr/r�r<r�rrr	r�psN)Trrrrrr-r1r;r>r@rErGr_rcr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrrrrr�cpython_onlyr r$r&r(r,r0r1r2r4r6rBrFrIrKrLrMrSrTrZr[r^r_rhrlrmrorrrurxryrzrr�rrrr	r
s�	
	&L:


!			,+

?







		

rc@seZdZejdd��ZdS)�CAPITestcs�ddlm}dddd�}|�||dtd��d�|�||dtd��d�|�||d	td	��d�|�t|gdtd��|�t|idtd��Gd
d�dt��G�fdd
�d
�}|�|�}}|di}|�|||t|��d�|��|||t|��dS)Nr)�dict_getitem_knownhashrrrHr"r^r�r|c@seZdZdS)z,CAPITest.test_getitem_knownhash.<locals>.ExcNrrrrr	rM�srMcs eZdZ�fdd�Zdd�ZdS)z.CAPITest.test_getitem_knownhash.<locals>.BadEqcs��dSrrrJrLrr	rN�sz5CAPITest.test_getitem_knownhash.<locals>.BadEq.__eq__cSsdS)N�rrrrr	rP�sz7CAPITest.test_getitem_knownhash.<locals>.BadEq.__hash__NrQrrLrr	rR�srR)r5r�rrr�SystemErrorr\r])rr�r:rRr�r�rrLr	�test_getitem_knownhash{szCAPITest.test_getitem_knownhashN)rrrrr�r�rrrr	r�xsr�)�
mapping_testsc@seZdZeZdS)�GeneralMappingTestsN)rrrr
�	type2testrrrr	r��sr�c@seZdZdS)�DictNrrrrr	r��sr�c@seZdZeZdS)�SubclassMappingTestsN)rrrr�r�rrrr	r��sr��__main__)r�Zcollections.abcr�r8rrr�ZunittestrZtestrZTestCaserr�r�ZBasicTestMappingProtocolr�r
r�r�r�mainrrrr	�<module>s6u