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

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

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

�9j���@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
Gdd�dej�ZGdd�dej�Z
ddl	mZGdd	�d	ej�ZGd
d�de�ZGdd
�d
ej�Zedkrfe��dSdS)�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\�Z0d]d^�Z1d_d`�Z2dadb�Z3e4j5dcdd��Z6e4j5dedf��Z7e4j5dgdh��Z8didj�Z9e4j5dkdl��Z:e4j5dmdn��Z;e4j5dodp��Z<e4j5dqdr��Z=e4j5dsdt��Z>e4j5dudv��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��ZRd�d��ZSd�d��ZTd�d��ZUd�d��ZVe4j5d�d���ZWe4j5d�d���ZXd�d��ZYd�S)��DictTestc	Cs�Gdd�dt�}ddi|ddi�fD];}|�t��tdi|��Wd�n1s+wY|�t��ijdi|��Wd�n1sHwYqdS)Nc@�eZdZdS)z7DictTest.test_invalid_keyword_arguments.<locals>.CustomN��__name__�
__module__�__qualname__�r	r	�%/usr/lib/python3.10/test/test_dict.py�Custom�r��r	)�dict�assertRaises�	TypeError�update)�selfr�invalidr	r	r
�test_invalid_keyword_argumentss����z'DictTest.test_invalid_keyword_argumentscCs |�t�i�|�t�i�dS�N)�assertEqualr�assertIsNot�rr	r	r
�test_constructorszDictTest.test_constructorcCs^dD]*}dd�t|�D�}t�|�dd�|D�}dd�|�d}|�t|�t|��qdS)	N)rr
��i�cSs$g|]}d�t�tjd��|f�qS)��)�join�random�sample�string�
ascii_letters��.0�ir	r	r
�
<listcomp>!s�z5DictTest.test_literal_constructor.<locals>.<listcomp>css �|]\}}d�||�VqdS)z
{!r}: {:d}N)�format)r%�k�vr	r	r
�	<genexpr>$s�z4DictTest.test_literal_constructor.<locals>.<genexpr>�{z, �})�ranger �shufflerr�evalr)r�n�items�formatted_items�dictliteralr	r	r
�test_literal_constructors�
�z!DictTest.test_literal_constructorcCsbdddd�}dddd�}|��}||O}|�||Bddddd��|�|ddddd��|��}||O}|�||Bddddd��|�|ddddd��|��}|gd	�O}|�|ddddd��|�|�d�t�|�|�d
�t�|�|�d�t�|�|�d�t�|�t|jd�|�|�d
�dddd��|�t|jd�|�|�d�dddd��dS)
Nrr
)rr
rr��r
rr6)rr
rr6)r
rr6r)�r
r
�rr�r6r6r	�BADr)	�copyr�assertIs�__or__�NotImplementedrr�__ior__�
ValueError)r�a�b�cr	r	r
�test_merge_operator(s*zDictTest.test_merge_operatorcCsD|�id�|�ddi�|�ti�d�|�tddi�d�dS)NTr
rF)r=�
assertTrue�boolrr	r	r
�	test_boolHszDictTest.test_boolcCs�i}|�t|���t��ddd�}|��}|�t|�ddh�|�d|�|�d|�|�d|�|�d|�|�t|jd�|�ttdd����d�dS)Nr
r�rBrCrBrC�rBzdict_keys(['a']))r�set�keys�assertInrr�reprr)r�dr)r	r	r
�	test_keysNs
zDictTest.test_keyscCsfi}|�t|���t��ddi}|�t|���dh�|�t|jd�|�ttdd����d�dS)Nr
rrJzdict_values([1]))rrK�valuesrrrNr�rrOr	r	r
�test_values[szDictTest.test_valuescCsfi}|�t|���t��ddi}|�t|���dh�|�t|jd�|�ttdd����d�dS)Nr
r�r
rrJzdict_items([('a', 1)]))rrKr2rrrNrrRr	r	r
�
test_itemscszDictTest.test_itemsc	Cs�ttj�}Gdd�dt�}t|fD]@}|�}|��j}|��j}|��j}|||fD]}|�||�|�||�q*d|d<|||fD]}|�||�|�||�qBqdS)Nc@r)z)DictTest.test_views_mapping.<locals>.DictNrr	r	r	r
�DictnrrV�bar�foo)	�type�__dict__rrL�mappingrQr2�assertIsInstancer)	r�mappingproxyrV�clsrO�m1�m2�m3�mr	r	r
�test_views_mappingls 



��zDictTest.test_views_mappingcCsli}|�d|�|�d|v�|�d|v�ddd�}|�d|�|�d|�|�d|�|�t|j�dS)NrBr
rrIrCrD)�assertNotIn�assertFalserFrMrr�__contains__rRr	r	r
�
test_contains�s
zDictTest.test_containscCs2i}|�t|�d�ddd�}|�t|�d�dS)Nrr
rrI)r�lenrRr	r	r
�test_len�s
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)Nr
rrIrBrCr6rD�)rBrDc� eZdZ�fdd�Zdd�ZdS)z$DictTest.test_getitem.<locals>.BadEqc����rr	�r�other��Excr	r
�__eq__��z+DictTest.test_getitem.<locals>.BadEq.__eq__cS�dS)N�r	rr	r	r
�__hash__��z-DictTest.test_getitem.<locals>.BadEq.__hash__N�rrrrqrur	ror	r
�BadEq��rx�*�c@r)z"DictTest.test_getitem.<locals>.ExcNrr	r	r	r
rp��rpc�eZdZdZ�fdd�ZdS)z&DictTest.test_getitem.<locals>.BadHashFc�|jr���dS�Nrz��failrror	r
ru��z/DictTest.test_getitem.<locals>.BadHash.__hash__N�rrrr�rur	ror	r
�BadHash��r�T)rrr�__getitem__�object�KeyError�	Exceptionr�)rrOrxr��xr	ror
�test_getitem�s(

zDictTest.test_getitemcCs4dddd�}|��|�|i�|�t|jd�dS�Nr
rr6r7)�clearrrrrRr	r	r
�
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�r6r7c@�$eZdZdd�Zdd�Zdd�ZdS)z,DictTest.test_update.<locals>.SimpleUserDictcSsdddd�|_dSr��rOrr	r	r
�__init__��z5DictTest.test_update.<locals>.SimpleUserDict.__init__cSs
|j��Sr)rOrLrr	r	r
rL��
z1DictTest.test_update.<locals>.SimpleUserDict.keyscSs
|j|Srr�)rr&r	r	r
r��r�z8DictTest.test_update.<locals>.SimpleUserDict.__getitem__N)rrrr�rLr�r	r	r	r
�SimpleUserDict��r�c@r)z!DictTest.test_update.<locals>.ExcNrr	r	r	r
rp�r|rpc�eZdZ�fdd�ZdS)�-DictTest.test_update.<locals>.FailingUserDictc���rr	rror	r
rL�rv�2DictTest.test_update.<locals>.FailingUserDict.keysN)rrrrLr	ror	r
�FailingUserDict��r�crk)r�csG�fdd�d�}|�S)Ncs(eZdZdd�Zdd�Z�fdd�ZdS)�EDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonItercSs
d|_dS�Nr
�r&rr	r	r
r��r��NDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__init__cS�|Srr	rr	r	r
�__iter__�rv�NDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__iter__cs|jrd|_dS��)NrrBr�rror	r
�__next__�s�NDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__next__N�rrrr�r�r�r	ror	r
�	BogonIter�sr�r	�rr�ror	r
rL�s
r�cSs|Srr	�r�keyr	r	r
r��rv�9DictTest.test_update.<locals>.FailingUserDict.__getitem__N�rrrrLr�r	ror	r
r��sc� eZdZdd�Z�fdd�ZdS)r�cSsGdd�d�}|�S)Nc@r�)r�cSstd�|_dS)NrB)�ordr&rr	r	r
r���r�cSr�rr	rr	r	r
r��rvr�cSs.|jtd�krt|j�}|jd7_|St�)N�zr
)r&r��chr�
StopIteration)r�rtnr	r	r
r��s

r�Nr�r	r	r	r
r��r�r�r	r�r	r	r
rL�sr�cr�rr	r�ror	r
r��rvr�Nr�r	ror	r
r��s
cr�)z$DictTest.test_update.<locals>.badseqcSr�rr	rr	r	r
r�rvz-DictTest.test_update.<locals>.badseq.__iter__crlrr	rror	r
r�rrz-DictTest.test_update.<locals>.badseq.__next__N�rrrr�r�r	ror	r
�badseq�r�)	rrrr�AttributeErrorr�r�r�rA)rrOr�r�r�r	ror
�test_update�s.zDictTest.test_updatec
sj|�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�|�|�hd��|	�dS)N�abc)rBrCrD)rj�rcss�dVdSr�r	r	r	r	r
�gs�
z!DictTest.test_fromkeys.<locals>.gr
r6c@r)z(DictTest.test_fromkeys.<locals>.dictlikeNrr	r	r	r
�dictliker|r�rBc@�eZdZdd�ZdS)z&DictTest.test_fromkeys.<locals>.mydictcSst��Sr)�collections�UserDict�r^r	r	r
�__new__�z.DictTest.test_fromkeys.<locals>.mydict.__new__N�rrrr�r	r	r	r
�mydict�r��abrIc@r)z#DictTest.test_fromkeys.<locals>.ExcNrr	r	r	r
rp#r|rpcr�)z(DictTest.test_fromkeys.<locals>.baddict1crlrr	rror	r
r�&rrz1DictTest.test_fromkeys.<locals>.baddict1.__init__N�rrrr�r	ror	r
�baddict1%r�r�cr�)z&DictTest.test_fromkeys.<locals>.BadSeqcSr�rr	rr	r	r
r�,rvz/DictTest.test_fromkeys.<locals>.BadSeq.__iter__crlrr	rror	r
r�.rrz/DictTest.test_fromkeys.<locals>.BadSeq.__next__Nr�r	ror	r
�BadSeq+r�r�cr�)z(DictTest.test_fromkeys.<locals>.baddict2crlrr	)rr��valueror	r
�__setitem__4rrz4DictTest.test_fromkeys.<locals>.baddict2.__setitem__N)rrrr�r	ror	r
�baddict23r�r�rcr�)z(DictTest.test_fromkeys.<locals>.baddict3cs�Srr	r�r�r	r
r�>rvz0DictTest.test_fromkeys.<locals>.baddict3.__new__Nr�r	r�r	r
�baddict3=r�r�cS�i|]}||�qSr	r	r$r	r	r
�
<dictcomp>@�z*DictTest.test_fromkeys.<locals>.<dictcomp>�
>rBrCrD)rr�fromkeysrrrr\r�r�r�r��zipr.r<r)
rr�r�r��udr�r�r�r��resr	)rprOr
�
test_fromkeyssB
(zDictTest.test_fromkeyscCs�dddd�}|�|��|�|�|��|�|�|��dddd��|��}d|d<|�||�|�i��i�|�t|jd�dS)Nr
rr6r7rj)rr<r�assertNotEqualrr)rrOr<r	r	r
�	test_copyEszDictTest.test_copyc	Cs�dD]W}t�|d||d�}|j|d��;i}t|�D]}|||<q|��}|�||�|�||�d|d<|�||�|�t|�t|�d�Wd�n1sTwYqdS)N)r�r���i'i��r)�	dict_sizer�r�r
)	r �	randrange�subTestr.r<rrr�rh)rr�rOr&�d2r	r	r
�test_copy_fuzzRs"�
���zDictTest.test_copy_fuzzcCsPGdd�d�}|�}iddi|difD]}|��}|�t�|�t�|��qdS)Nc@r)z0DictTest.test_copy_maintains_tracking.<locals>.ANrr	r	r	r
�Acrr�rBr
�val)r<r�gc�
is_tracked)rr�r�rOr�r	r	r
�test_copy_maintains_trackingbs�z%DictTest.test_copy_maintains_trackingcCs>dd�td�D�}td�D]}||=q
|��}|�||�dS)NcSr�r	r	�r%r)r	r	r
r�sr�z1DictTest.test_copy_noncompact.<locals>.<dictcomp>r�i�)r.r<r)rrOr)r�r	r	r
�test_copy_noncompactls
zDictTest.test_copy_noncompactcCs�i}|�|�d�d�|�|�dd�d�ddd�}|�|�d�d�|�|�dd�d�|�|�d�d�|�|�dd�d�|�t|j�|�t|jddd�dS)NrDr6r
rrIrB)r=�getrrrrRr	r	r
�test_getys
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)
N�key0r�r6rrjrc@r)z%DictTest.test_setdefault.<locals>.ExcNrr	r	r	r
rp�r|rpcr})z)DictTest.test_setdefault.<locals>.BadHashFcr~rr�rror	r
ru�r�z2DictTest.test_setdefault.<locals>.BadHash.__hash__Nr�r	ror	r
r��r�r�rzT)
r=�
setdefault�appendrrhrrr�r�r�)rrOr�r�r	ror
�test_setdefault�szDictTest.test_setdefaultcCsdGdd�dt�}|�}|di}|�}|�|g�|�|jd�|�|jd�|�|j|jd�dS)Nc@r�)z/DictTest.test_setdefault_atomic.<locals>.HashedcS�d|_d|_dS�Nr��
hash_count�eq_countrr	r	r
r���
z8DictTest.test_setdefault_atomic.<locals>.Hashed.__init__cS�|jd7_dS�Nr
rz�r�rr	r	r
ru��z8DictTest.test_setdefault_atomic.<locals>.Hashed.__hash__cS�|jd7_t|�t|�kSr��r��idrmr	r	r
rq��z6DictTest.test_setdefault_atomic.<locals>.Hashed.__eq__N�rrrr�rurqr	r	r	r
�Hashed��r�r�r
)r�r�rr�r��rr��hashed1�y�hashed2r	r	r
�test_setdefault_atomic�s
zDictTest.test_setdefault_atomicc
CspGdd�dt�}|�}|dddddddddi}|�}g||<|�|jd�|�|jd�|�|j|jd�dS)Nc@r�)z6DictTest.test_setitem_atomic_at_resize.<locals>.HashedcSr�r�r�rr	r	r
r��r�z?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__init__cSr�r�r�rr	r	r
ru�r�z?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__hash__cSr�r�r�rmr	r	r
rq�r�z=DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__eq__Nr�r	r	r	r
r��r�r�r�rr
rr6)r�rr�r�r�r	r	r
�test_setitem_atomic_at_resize�s
z&DictTest.test_setitem_atomic_at_resizecCs�dD]l}td�D]e}d|}i}i}t|�D]}||t|�<|dkr(||t|�<q|dkr1|��}t|�D]-}|��\}}}	|�|t|��|��\}
}}|�|t|
��|�|dko`|	|k�q5|�|�|�|�qqi}
|�t|
j�dS)N)���r
�rr)	r.rNr<�popitemr�intrerr�)r�copymode�log2size�sizerBrCr&�ka�va�ta�kb�vb�tbrOr	r	r
�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��def�ghirr
c@r)zDictTest.test_pop.<locals>.ExcNrr	r	r	r
rp�r|rpcr})z"DictTest.test_pop.<locals>.BadHashFcr~rr�rror	r
ru�r�z+DictTest.test_pop.<locals>.BadHash.__hash__Nr�r	ror	r
r��r�r�rzT)	rr��poprrhrr�r�r�)rrOr)r*r�r�r	ror
�test_pop�s"zDictTest.test_popcCsRi}d|d<|�t��|D]}d||d<qWd�dS1s"wYdSr��r�RuntimeError�rrOr&r	r	r
�test_mutating_iterations�"�z DictTest.test_mutating_iterationcCsTi}d|d<|�t��|D]	}|d=d|d<qWd�dS1s#wYdSr�rrr	r	r
�test_mutating_iteration_delete
s
�"�z'DictTest.test_mutating_iteration_deletecC�Xi}d|d<|�t��|��D]	}|d=d|d<qWd�dS1s%wYdSr�)rrrQrr	r	r
�*test_mutating_iteration_delete_over_values�
�"�z3DictTest.test_mutating_iteration_delete_over_valuescCrr��rrr2rr	r	r
�)test_mutating_iteration_delete_over_itemsrz2DictTest.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>.NastyKeyNcS�
||_dSr)r�)rr�r	r	r
r�-r�z8DictTest.test_mutating_lookup.<locals>.NastyKey.__init__cSrsr�r	rr	r	r
ru0sz8DictTest.test_mutating_lookup.<locals>.NastyKey.__hash__cs(�jr�j\}}d�_||=|j|jkSr)�mutate_dictr�)rrnr�r���NastyKeyr	r
rq4s

z6DictTest.test_mutating_lookup.<locals>.NastyKey.__eq__)rrrr!r�rurqr	r"r	r
r#*s
r#r
r)r!r)r�key1�key2rOr	r"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{}rr
z{1: 2}z
{1: {...}}c@r)zDictTest.test_repr.<locals>.ExcNrr	r	r	r
rpKr|rpcr�)z#DictTest.test_repr.<locals>.BadReprcrlrr	rror	r
�__repr__Nrrz,DictTest.test_repr.<locals>.BadRepr.__repr__N)rrrr'r	ror	r
�BadReprMr�r()rrNr�r�r)rrOr(r	ror
�	test_reprBs
zDictTest.test_reprcCs4i}tt��d�D]}d|i}q
|�tt|�dS)Nr�r
)r.�sys�getrecursionlimitr�RecursionErrorrNrr	r	r
�test_repr_deepTs
zDictTest.test_repr_deepcs�|�ii�|�ddiddi�Gdd�dt��G�fdd�dt�}|�di}ddi}|����
||kWd�dS1s@wYdS)Nr
rc@r)zDictTest.test_eq.<locals>.ExcNrr	r	r	r
rp^r|rpcrk)z DictTest.test_eq.<locals>.BadCmpcrlrr	rmror	r
rqarrz'DictTest.test_eq.<locals>.BadCmp.__eq__cSrsr�r	rr	r	r
rucrvz)DictTest.test_eq.<locals>.BadCmp.__hash__Nrwr	ror	r
�BadCmp`ryr.)rr�r�r)rr.�d1r�r	ror
�test_eqZs

"�zDictTest.test_eqcCs |�dd��|�dd��dS)NcS�|��Sr)rL�r�r	r	r
�<lambda>m�z.DictTest.test_keys_contained.<locals>.<lambda>cSr1r�r2r2r	r	r
r3nr4)�helper_keys_containedrr	r	r
�test_keys_containedlszDictTest.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)Nr
rrTr6r7)rjrr6)rrFre)r�fn�empty�empty2�smaller�larger�larger2�larger3r	r	r
r6ps<

zDictTest.helper_keys_containedcCs�Gdd�d�}d|�i}d|�i}|�t��|��|��kWd�n1s)wY|�t��|��|��kWd�n1sFwY|�t��|��|��kWd�n1scwY|�t��|��|��kWd�n1s�wY|�|�d�}|�t��|��|��kWd�n1s�wY|�t��|��|��kWd�dS1s�wYdS)Nc@r�)z9DictTest.test_errors_in_view_containment_check.<locals>.CcSst�r�rrmr	r	r
rq�rvz@DictTest.test_errors_in_view_containment_check.<locals>.C.__eq__N�rrrrqr	r	r	r
�C�r�rAr
rTr)rrAr/r��d3r	r	r
�%test_errors_in_view_containment_check�s,

�����"�z.DictTest.test_errors_in_view_containment_checkcCs�ddd���}dddd���}ddi��}|�||t��|�||ddh�|�||dh�|�||dh�|�||@ddh�|�||@t��|�||Bhd��|�||Adh�|�||Ahd��dS)	Nr
rrTr6r7rj>r
rr6>r
rrj)rLrrK�r�k1�k2�k3r	r	r
�$test_dictview_set_operations_on_keys��z-DictTest.test_dictview_set_operations_on_keyscCs�ddd���}dddd���}ddi��}|�||t��|�||ddh�|�||d	h�|�||d
h�|�||@ddh�|�||@t��|�||Bhd��|�||Ad	h�|�||Ahd��dS)
Nr
rrTr6r7rjr8r9r:�rjrj>r8r9r:>r8r9rJ)r2rrKrDr	r	r
�%test_dictview_set_operations_on_items�rIz.DictTest.test_dictview_set_operations_on_itemsc	s�tj�td�D]I}�fdd�td�D�}�fdd�td�D�}|j||d��"t|���t|���A}|��|��A}|�||�Wd�n1sKwYqdS)Nr�c�i|]}�d�r|�d��qS�rr6r	�r%r���rrr	r
r���z<DictTest.test_items_symmetric_difference.<locals>.<dictcomp>r�crLrMr	rNrOr	r
r��rQ)�left�right)r r�r.r�rKr2r)r�_rRrS�expected�actualr	rOr
�test_items_symmetric_difference�s���z(DictTest.test_items_symmetric_differencecCs�|�ddi��dhk�|�dhddi��k�|�ddi��dhBddh�|�dhddi��Bddh�|�ddi��dhk�|�dhddi��k�|�ddi��dhBddh�|�dhddi��Bddh�dS)Nr
rr8)rFrLrr2rr	r	r
�"test_dictview_mixed_set_operations�s"z+DictTest.test_dictview_mixed_set_operationsc
Cs�|�ttd��|�tid��Gdd�dt�}|ddd��}|�|dd�|�|dd�|�d|�|�d|���|�|dd	�Gd
d�dt�}|�}|�t��}|d	Wd�n1sdwY|�|jj	d�Gd
d�dt�}|�}|�t
��}|d	Wd�n1s�wY|�|jj	d�Gdd�dt�}|�}	|�t
��}|	d	Wd�n1s�wY|�|jj	d�dS)N�__missing__c@r�)z DictTest.test_missing.<locals>.DcSrsrr	r�r	r	r
rY�rvz,DictTest.test_missing.<locals>.D.__missing__N�rrrrYr	r	r	r
�D�r�r[rrj)r
r6r
r6rzc@r�)z DictTest.test_missing.<locals>.EcSst|��rr?r�r	r	r
rY�r�z,DictTest.test_missing.<locals>.E.__missing__NrZr	r	r	r
�E�r�r\�rzc@r�)z DictTest.test_missing.<locals>.FcSsdd�|_dS)NcSsdSrr	)r�r	r	r
r3sz;DictTest.test_missing.<locals>.F.__init__.<locals>.<lambda>)rYrr	r	r
r�sz)DictTest.test_missing.<locals>.F.__init__Nr�r	r	r	r
�Fr�r^c@r)z DictTest.test_missing.<locals>.GNrr	r	r	r
�G
rr_)re�hasattrrrrdrLrr�	exception�argsr�)
rr[rOr\�erDr^�fr_r�r	r	r
�test_missing�s6
�
�
�zDictTest.test_missingcCsJi}|�t��}|dWd�n1swY|�|jjd�dS)N�r
)rf)rr�rrarb)rrOrDr	r	r
�test_tuple_keyerrors

�zDictTest.test_tuple_keyerrorc	s~Gdd�dt��G�fdd�d�}i}|�}|�}d||<dD]}|����t|t��Wd�n1s7wYqdS)Nc@r)z.DictTest.test_bad_key.<locals>.CustomExceptionNrr	r	r	r
�CustomExceptionrrhcr�)z)DictTest.test_bad_key.<locals>.BadDictKeycSs
t|j�Sr)�hash�	__class__rr	r	r
rur�z2DictTest.test_bad_key.<locals>.BadDictKey.__hash__cst||j�r��|Sr)�
isinstancerjrm�rhr	r
rq!sz0DictTest.test_bad_key.<locals>.BadDictKey.__eq__N�rrrrurqr	rlr	r
�
BadDictKey�rnr
)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)rrnrO�x1�x2�stmtr	rlr
�test_bad_keys	���zDictTest.test_bad_keycCsJi}td�D]}|||<qtd�D]}||=qtdd�D]}|||<qdS)Nr��	)r.rr	r	r
�test_resize14s

�zDictTest.test_resize1cs`G��fdd�dt�}i�d�d�|�<d�|�<d�|�<d�|�<d�|�<d	�d
�d<dS)Nc�"eZdZdd�Z��fdd�ZdS)z DictTest.test_resize2.<locals>.XcSrs)Nr�r	rr	r	r
ruIrvz)DictTest.test_resize2.<locals>.X.__hash__cs�r���dS�NF�r�rm�rO�resizingr	r
rqKsz'DictTest.test_resize2.<locals>.X.__eq__Nrmr	r{r	r
�XHsr}Fr
rr6rjr�Trrv)r��rr}r	r{r
�test_resize2Ds




zDictTest.test_resize2c
CsR|�t��dddddddddd�}Wd�i}dS1s wYi}dS)Nr
r)rBrCrDrOrcrdr��h)r�ZeroDivisionErrorrRr	r	r
�$test_empty_presized_dict_in_freelistZs�
��z-DictTest.test_empty_presized_dict_in_freelistcCsxGdd�dt�}tjtjtjf}|D]'}|�}t�|�}|di}||�|_t|j�|_	~~t
��|�|�dd�qdS)Nc@r)z+DictTest.test_container_iterator.<locals>.CNrr	r	r	r
rAerrAr
zCycle was not collected)
r�rr2rQrL�weakref�refr*�iterr�r��collectr=)rrA�viewsr*�objr��	containerr	r	r
�test_container_iteratorbs

�z DictTest.test_container_iteratorcCs&t��t��|�t�|�|�dSr)r�r�rer��r�tr	r	r
�_not_trackedrszDictTest._not_trackedcCs8|�t�|�|�t��t��|�t�|�|�dSr)rFr�r�r�r�r	r	r
�_trackedxszDictTest._trackedcCs�dddgf\}}}}|�i�|�|d|||di�|�ddd��|�dtd��|�dt�i�|�dgi�|�dgfi�|�dii�|�dt�i�dS)	N��?rB)r
Nr	r
r)r
rC)r
)NTFr	)r�rr�r�rK)rr�rr��wr	r	r
�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@r)z-DictTest.test_track_dynamic.<locals>.MyObjectNrr	r	r	r
�MyObject�rr�r�rBr
rr6rj�r�rr�)r�rr�r�)r�)r�rr�r<r�r�r)	rr�r�rr�r��orO�ddr	r	r
�test_track_dynamic�sh 





















zDictTest.test_track_dynamiccCs Gdd�dt�}|�|��dS)Nc@r)z,DictTest.test_track_subtypes.<locals>.MyDictNrr	r	r	r
�MyDict�rr�)rr�)rr�r	r	r
�test_track_subtypes�szDictTest.test_track_subtypescCsFGdd�d�}g}t|�D]}|�}d\|_|_|_|�|j�q
|S)Nc@r)z(DictTest.make_shared_key_dict.<locals>.CNrr	r	r	r
rA�rrAr7)r.r�rr�r�rZ)rr1rA�dictsr&rBr	r	r
�make_shared_key_dict�szDictTest.make_shared_key_dictcCs~|�d�\}}d|d<t�|�}d|d<|�dd�t�|�}d|d<|�||�|�t|�gd��|�t|�gd��dS)zMsplit table must be combined when setdefault()
        breaks insertion orderrr
rBrC)r�rr�rBrC)r�rr�rCrBN)r�r*�	getsizeofr��
assertGreaterr�list)rrBrC�size_a�size_br	r	r
�test_splittable_setdefault�s

z#DictTest.test_splittable_setdefaultcCs�|�d�\}}t�|�}|d=|�t��|d=Wd�n1s"wY|�t�|�|�|�t|�ddg�|�t|�gd��d|d<|�t|�gd��|�t|�gd��dS)	z*split table must be combined when del d[k]rrNr�r�r�rz�r�r�r)r�r*r�rr�r�rr��rrBrC�	orig_sizer	r	r
�test_splittable_del�s
�zDictTest.test_splittable_delcCs�|�d�\}}t�|�}|�d�|�t��
|�d�Wd�n1s&wY|�t�|�|�|�t|�ddg�|�t|�gd��d|d<|�t|�gd��|�t|�gd��dS)	z*split table must be combined when d.pop(k)rrNr�r�r�rzr�)	r�r*r�rrr�r�rr�r�r	r	r
�test_splittable_pops

�zDictTest.test_splittable_popcCsP|�d�\}}d|d<|�t��|�d�Wd�dS1s!wYdS)z3pop a pending key in a split table should not crashrrjrBN)r�rr�r)rrBrCr	r	r
�test_splittable_pop_pendings
"�z$DictTest.test_splittable_pop_pendingcCs�|�d�\}}t�|�}|��}|�|d�|�t��|d=Wd�n1s)wY|�t�|�|�|�t|�ddg�|�t|�gd��dS)z-split table must be combined when d.popitem()r)r�r6r�Nr�rr�)	r�r*r�rrrr�r�r�)rrBrCr��itemr	r	r
�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)	z;setattr() must not convert combined table into split table.rNc@r)z5DictTest.test_splittable_setattr_after_pop.<locals>.CNrr	r	r	r
rA;rrAr
rBrr6)�	_testcapirBrF�dict_hassplittablerZrrer)rr�rArBr	r	r
�!test_splittable_setattr_after_pop5s 
z*DictTest.test_splittable_setattr_after_popc	Cs�ttjd�D]N}dddd�}t|�}t�||�}t�|�}|�t|�t|��t�|�}zt|�}Wn	t	y<Yqwt�||�}t�|�}||=|�t|�t|��qdS�Nr
rBrCrDr7)
r.�pickle�HIGHEST_PROTOCOLr��dumps�loadsrr��nextr��r�proto�data�itrO�dropr	r	r
�test_iterator_picklingSs"

�
�zDictTest.test_iterator_picklingcC�ttjd�D]J}dddd�}t|���}t�||�}t�|�}|�|tj	j
�|�t|�|�t�|�}t
|�}t�||�}t�|�}||d=|�t|�|�qdS�Nr
rBrCrDr7r)r.r�r�r�r2r�r�r\r�r��Iteratorrrr��rr�r��itorgrOr�r�r	r	r
�test_itemiterator_picklinge�



�z#DictTest.test_itemiterator_picklingcCs�ttjd�D]N}dddd�}t|���}t�||�}t�|�}|�t|�t|����t�|�}t	|�}t�||�}t�|�}t|�|g}|�t
|�t
t|�����qdSr�)r.r�r�r�rQr�r�rr�r��sorted�rr�r�r�rOr�rQr	r	r
�test_valuesiterator_pickling{s


�z%DictTest.test_valuesiterator_picklingc	Cs�ttjd�D]R}dddd�}t|�}t�||�}t�|�}|�t|�tt|���t�|�}zt|�}Wn	t	y>Yqwt�||�}t�|�}||=|�t|�tt|���qdSr�)
r.r�r��reversedr�r�rr�r�r�r�r	r	r
�test_reverseiterator_pickling�s"

�
�z&DictTest.test_reverseiterator_picklingcCr�r�)r.r�r�r�r2r�r�r\r�r�r�rrr�r�r	r	r
�!test_reverseitemiterator_pickling�r�z*DictTest.test_reverseitemiterator_picklingcCs�ttjd�D]N}dddd�}t|���}t�||�}t�|�}|�t|�tt|�����t�|�}t	|�}t�||�}t�|�}t|�|g}|�t
|�t
|����qdSr�)r.r�r�r�rQr�r�rr�r�r�r�r	r	r
�#test_reversevaluesiterator_pickling�s


�z,DictTest.test_reversevaluesiterator_picklingcCsZGdd�d�}|d�}Gdd�dt�}|�|jt||d���|�|j|j|d��dS)Nc@r�)z=DictTest.test_instance_dict_getattr_str_subclass.<locals>.FoocSr r)�msg)rr�r	r	r
r��r�zFDictTest.test_instance_dict_getattr_str_subclass.<locals>.Foo.__init__Nr�r	r	r	r
�Foo�r�r��123c@r)z>DictTest.test_instance_dict_getattr_str_subclass.<locals>._strNrr	r	r	r
�_str�rr�r�)�strrr��getattrrZ)rr�rdr�r	r	r
�'test_instance_dict_getattr_str_subclass�s
z0DictTest.test_instance_dict_getattr_str_subclasscCs<Gdd�d�}|�}d|jd<d|_|�|jddd��dS)Nc@r)zFDictTest.test_object_set_item_single_instance_non_str_key.<locals>.FooNrr	r	r	r
r��r|r�r
rB)r
rB)rZrBr)rr�rdr	r	r
�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]}|�|<qdS)NcseZdZ��fdd�ZdS)z4DictTest.check_reentrant_insertion.<locals>.Mutatingcs���dSrr	r�rO�mutater	r
�__del__��z<DictTest.check_reentrant_insertion.<locals>.Mutating.__del__N�rrrr�r	r�r	r
�Mutating�sr�csi|]}|���qSr	r	r�)r�r	r
r���z6DictTest.check_reentrant_insertion.<locals>.<dictcomp>�abcdefghijklmnopqr)r�)rr�r)r	)r�rOr�r
�check_reentrant_insertion�s

�z"DictTest.check_reentrant_insertioncs>dd�}��|��fdd�}��|�dd�}��|�dS)NcSsd|d<dS)Nr�rCr	r�r	r	r
r��r�z1DictTest.test_reentrant_insertion.<locals>.mutatecs|��j�|��dSr)rrZr�r�rr	r
r��scSs|r
|��|sdSdSr)rr�r	r	r
r��s�)r�)rr�r	rr
�test_reentrant_insertion�s

z!DictTest.test_reentrant_insertioncsZG�fdd�d�}dd�tdd�D�}t|��d�|�<|�dddi}|�t|j��dS)Ncr�)z)DictTest.test_merge_and_mutate.<locals>.XcSrsr�r	rr	r	r
ru�rvz2DictTest.test_merge_and_mutate.<locals>.X.__hash__c����dSryrz)rr��rnr	r
rq��z0DictTest.test_merge_and_mutate.<locals>.X.__eq__Nrmr	r�r	r
r}�ror}cSsg|]}|df�qS)rr	r$r	r	r
r'�r�z2DictTest.test_merge_and_mutate.<locals>.<listcomp>r
i9r)r.rrrr)rr}�lrOr	r�r
�test_merge_and_mutate�s
zDictTest.test_merge_and_mutatecCsHt�|tt�t�|dd�t�t�|dd�t�t�|dd�t�dS)NcS�t|���Sr)r�rLr�r	r	r
r3r|z4DictTest.test_free_after_iterating.<locals>.<lambda>cSr�r)r�rQr�r	r	r
r3r|cSr�r)r�r2r�r	r	r
r3r|)r�check_free_after_iteratingr�rrr	r	r
�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>.Xc����dSrrzr)�dict_br	r
r�r�zADictTest.test_equal_operator_modifying_operand.<locals>.X.__del__cr��NTrzrm)�dict_ar	r
rqr�z@DictTest.test_equal_operator_modifying_operand.<locals>.X.__eq__cSrs�N�
r	rr	r	r
rurvzBDictTest.test_equal_operator_modifying_operand.<locals>.X.__hash__N)rrrr�rqrur	)r�r�r	r
r}sr}rcr�)z9DictTest.test_equal_operator_modifying_operand.<locals>.Ycr�r�rzrm��dict_dr	r
rqr�z@DictTest.test_equal_operator_modifying_operand.<locals>.Y.__eq__Nr@r	r�r	r
�Yr�r�)rFrK)rr}r��dict_cr	)r�r�r�r
�%test_equal_operator_modifying_operands


z.DictTest.test_equal_operator_modifying_operandcsRG�fdd�dt�}i�|d�d|d�di�zt���WdSty(YdSw)Ncr�)zADictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.XcSrsr�r	rr	r	r
ru#rvzJDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__hash__c�t��dkr
���dS�Nr
F�rhr�rmr�r	r
rq&�zHDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__eq__Nrmr	r�r	r
r}"ror}r
r�rrr�rr~r	r�r
�-test_fromkeys_operator_modifying_dict_operand s	�z6DictTest.test_fromkeys_operator_modifying_dict_operandcsNG�fdd�dt�}i�|d�|d�h�zt���WdSty&YdSw)Ncr�)z@DictTest.test_fromkeys_operator_modifying_set_operand.<locals>.XcSrsr�r	rr	r	r
ru5rvzIDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__hash__cr�r�r�rmr�r	r
rq8r�zGDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__eq__Nrmr	r�r	r
r}4ror}r
rr�r~r	r�r
�,test_fromkeys_operator_modifying_set_operand2s	�z5DictTest.test_fromkeys_operator_modifying_set_operandcs2G�fdd�d�}dt�i�d|�f���vdS)Ncr�)z:DictTest.test_dictitems_contains_use_after_free.<locals>.Xc����tSr�r�r?rmr�r	r
rqFr�zADictTest.test_dictitems_contains_use_after_free.<locals>.X.__eq__Nr@r	r�r	r
r}Er�r}r)rKr2r~r	r�r
�&test_dictitems_contains_use_after_freeDs
z/DictTest.test_dictitems_contains_use_after_freecs0G�fdd�dt�}|�di�|�d�v�dS)Ncrk)z4DictTest.test_dict_contain_use_after_free.<locals>.Scr�rr�rmr�r	r
rqPr�z;DictTest.test_dict_contain_use_after_free.<locals>.S.__eq__cS�td�S)N�test�rirr	r	r
ruTr�z=DictTest.test_dict_contain_use_after_free.<locals>.S.__hash__Nrwr	r�r	r
�SOsr�r�r�)r�re)rr�r	r�r
� test_dict_contain_use_after_freeMs
z)DictTest.test_dict_contain_use_after_freecs*G�fdd�d�}|�dg�t�g�dS)Ncr�)z,DictTest.test_init_use_after_free.<locals>.Xcsg�dd�<dSr�r	r��pairr	r
ru\sz5DictTest.test_init_use_after_free.<locals>.X.__hash__N)rrrrur	r�r	r
r}[r�r}�{)rr~r	r�r
�test_init_use_after_freeZs
z!DictTest.test_init_use_after_freecsFG�fdd�dt���fdd�td�D���fdd�}|�t|�dS)Ncr�)z;DictTest.test_oob_indexing_dictiter_iternextitem.<locals>.Xcr�rrzrr�r	r
r�er�zCDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.X.__del__Nr�r	r�r	r
r}dr�r}csi|]}|�|��qSr	r	r$)r}r	r
r�hszDDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.<dictcomp>rcs&���D]}|ddkrd�d<qdS)Nrrr5)�resultr�r	r
�iter_and_mutatejs
��zIDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.iter_and_mutate)rr.rr)rr�r	)r}rOr
�'test_oob_indexing_dictiter_iternextitemcsz0DictTest.test_oob_indexing_dictiter_iternextitemcCsDdddddd�}|d=t|�}|�t|�td��|�tt|�dS)	Nr
rrr6rj)rBrCrXrDrOrX�dcba)r�rr�rr�r�)rrO�rr	r	r
�
test_reversedqs
zDictTest.test_reversedcCs�|�tti��g�|�tti����g�|�tti����g�|�tti����g�|�ttt���g�|�ttt�����g�|�ttt�����g�|�ttt�����g�dSr)rr�r�r2rQrLrrr	r	r
�$test_reverse_iterator_for_empty_dictxsz-DictTest.test_reverse_iterator_for_empty_dictcCsnGdd�d�}|�tt|dd�j��ddg�|�tt|dd�j��dg�|�tt|dd�j��dg�dS)Nc@r�)zADictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.AcSs|r||_|r||_dSdSr)r�r)rr�rr	r	r
r��s
zJDictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.A.__init__Nr�r	r	r	r
r��r�r�r
rrr�r)rr�r�rZ)rr�r	r	r
�-test_reverse_iterator_for_shared_shared_dicts�s "z6DictTest.test_reverse_iterator_for_shared_shared_dictscCs�t�ddg�}|�d�t|���}t|�}|�t|���|�Gdd�dt�}gd�}||�}|�|tt|�����Gdd�dt�}||�}|�|ddd	�tt|�����dS)
N�rBr
�rCrrBc@r)z1DictTest.test_dict_copy_order.<locals>.CustomDictNrr	r	r	r
�
CustomDict�rr)rr)rDr6c@s eZdZdd�ZeZdd�ZdS)z9DictTest.test_dict_copy_order.<locals>.CustomReversedDictcSsttt�|���Sr)r�r�rrLrr	r	r
rL�r�z>DictTest.test_dict_copy_order.<locals>.CustomReversedDict.keyscSstt�|��Sr)r�rr2rr	r	r
r2�r�z?DictTest.test_dict_copy_order.<locals>.CustomReversedDict.itemsN)rrrrLr�r2r	r	r	r
�CustomReversedDict�sr	r)r��OrderedDict�move_to_endr�r2rr)r�odrUr<r�pairsrOr	r	r	r
�test_dict_copy_order�s
	&zDictTest.test_dict_copy_ordercC�0tdgi���}t��|�t�t|���dSr)r�r2r�r�rFr�r��rr�r	r	r
�test_dict_items_result_gc�sz"DictTest.test_dict_items_result_gccCrr)r�r2r�r�rFr�r�rr	r	r
�"test_dict_items_result_gc_reversed�sz+DictTest.test_dict_items_result_gc_reversedc
	s Gdd�dt�}d�G��fdd�d��|d�}��}��}g}||fD]z�|�ddd	d
�di�dd
d�}d|�<|�|�dd
d�}|�|��d�d�|�|�dd
d�}|��di�|�|�dd
d�}|�diO}|�|��fd
d�}t|��}|�|�|��}|�|�dd�tdd	�g�D�}|�|�q$|D]l}|j|d��[|�|�	d�d�d}|d7}t
jdd�r�d}	|�||	u�|�|�	|�d�|�|�	d�d�|�|�	|�d�|�|�	|�d�d�|�|�	|�d�|�
�d�Wd�n	1�swYq�dS)Nc@r)z(DictTest.test_str_nonstr.<locals>.StrSubNrr	r	r	r
�StrSub�rrrcrx)z&DictTest.test_str_nonstr.<locals>.Key3cSr�)N�key3r�rr	r	r
ru�r�z/DictTest.test_str_nonstr.<locals>.Key3.__hash__cs,t|��st|t�r|dkr�d7�dSdS)Nrr
TF)rkr�rm��Key3r�r	r
rq�sz-DictTest.test_str_nonstr.<locals>.Key3.__eq__Nrmr	rr	r
r�srrr$rzr%�+�,)r$r%c3s�dVdV�dfVdS)N)r$rz)r%rrr	r	)rr	r
�
make_pairs�s�z,DictTest.test_str_nonstr.<locals>.make_pairscSsi|]	\}}|d|�qSr]r	)r%r&r�r	r	r
r�sz,DictTest.test_str_nonstr.<locals>.<dictcomp>r��ke�y1T)�cpythonr
)r�r�rr�rrr<�	enumerater�r�r�check_impl_detailre�assertGreaterEqual)
rr�key3_1�key3_2�key3_3r�rOr�noninterned_key1�
interned_key1r	)rr�rr
�test_str_nonstr�s\










	���zDictTest.test_str_nonstrN)Zrrrrrr5rErHrPrSrUrcrgrir�r�r�r�r�r�r�r�r�r�rrrrrrrrr&r)r-r0r7r6rCrHrKrWrXrergrurwrr�r�r�r�r�cpython_onlyr�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�rrrrrrrr%r	r	r	r
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_knownhashr
rr6r�r�rr�c@r)z,CAPITest.test_getitem_knownhash.<locals>.ExcNrr	r	r	r
rp8r|rpcrk)z.CAPITest.test_getitem_knownhash.<locals>.BadEqcr�rr	rmror	r
rq:rvz5CAPITest.test_getitem_knownhash.<locals>.BadEq.__eq__cSrs)N�r	rr	r	r
ru<rvz7CAPITest.test_getitem_knownhash.<locals>.BadEq.__hash__Nrwr	ror	r
rx9ryrx)r�r(rrir�SystemErrorr�r�)rr(rOrxrErFr	ror
�test_getitem_knownhash*szCAPITest.test_getitem_knownhashN)rrrrr&r+r	r	r	r
r''sr')�
mapping_testsc@�eZdZeZdS)�GeneralMappingTestsN)rrrr�	type2testr	r	r	r
r.G�r.c@r)rVNrr	r	r	r
rVJrrVc@r-)�SubclassMappingTestsN)rrrrVr/r	r	r	r
r1Mr0r1�__main__)r��collections.abcr�r�r r"r*�unittestr�r�r�TestCaserr'r,�BasicTestMappingProtocolr.rrVr1r�mainr	r	r	r
�<module>s>&�

Youez - 2016 - github.com/yon3zu
LinuXploit