Your IP : 216.73.216.60


Current Path : /opt/alt/python39/lib64/python3.9/test/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/__pycache__/test_weakset.cpython-39.opt-2.pyc

a

XC?h�=�@s�ddlZddlmZddlZddlmZddlmZm	Z	ddl
Z
ddlZddlm
Z
Gdd�d�ZGdd	�d	�ZGd
d�dej�Zedkr�e��dS)
�N)�WeakSet)�
UserString)�Set�
MutableSet)�supportc@seZdZdS)�FooN)�__name__�
__module__�__qualname__�rr�6/opt/alt/python39/lib64/python3.9/test/test_weakset.pyrsrc@seZdZdd�ZdS)�RefCyclecCs
||_dS�N)�cycle��selfrrr�__init__szRefCycle.__init__N)rr	r
rrrrrr
sr
c@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�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]S)^�TestWeakSetcCs�dd�dD�|_dd�dD�|_dd�dD�|_dd�d	D�|_d
d�dD�|_t|j�|_t|j�|_t|j�|_dd�t	j
D�|_t|j�|_t
�|j�|_td
�|_t|jg�|_dS)NcSsg|]}t|��qSr��ustr��.0�crrr�
<listcomp>�z%TestWeakSet.setUp.<locals>.<listcomp>��a�brcSsg|]}t|��qSrrrrrrrr)�x�y�zcSsg|]}t|��qSrrrrrrrrZabcSsg|]}t|��qSrrrrrrrrZabcdecSsg|]}t|��qSrrrrrrrr�defcSsg|]}t|��qSrrrrrrrr�F)�items�items2Zab_itemsZabcde_itemsZ	def_itemsr�
ab_weakset�
abcde_weakset�def_weakset�string�
ascii_letters�letters�s�dict�fromkeys�dr�obj�fsrrrr�setUps
zTestWeakSet.setUpcCs@tt�}tt�D]*}|dks|�d�r(q|�||d|�qdS)NZ
test_c_api�_zWeakSet missing method )�dirr�set�
startswith�assertIn)rZweaksetmethods�methodrrr�test_methods%s�zTestWeakSet.test_methodscCs|�ttgd�dS)N�)�assertRaises�	TypeErrorrrrrr�test_new_or_init-szTestWeakSet.test_new_or_initcCsL|�t|j�t|j��|�t|j�d�|`t��|�t|j�d�dS)N�r)�assertEqual�lenr+r.r0r/r�
gc_collectrrrr�test_len0s
zTestWeakSet.test_lencCsd|jD]}|�||jv||jv�q|�d|j�|�|j|j�|`t�	�|�t
d�|j�dS)Nr=r")r*r>r+r.�assertNotInr6r/r0rr@r�rrrrr�
test_contains7s
zTestWeakSet.test_containscCs|j�|j�}|jD]$}|�||v||jvp4||jv�q|�|jt|j��|�t|�t�|�	t
|jjgg�ttt
jttfD]4}t|j|j�}||j�}|�|j�|�|�~q�|�t|�t|j�t|j��|j��t��|�t|�t|j�t|j��dSr)r+�unionr$r*r>r.rr#�typer:r;r4�	frozensetr,r-�list�tupler?�pop�gc�collect)r�ur�Crrrr�
test_unionAs
"
 
zTestWeakSet.test_unioncCsB|j�|j�}|�|jt|j�B|�|�|jt|j�B|�dSr)r+rEr$r>r4rG�r�irrr�test_orRszTestWeakSet.test_orcCs�t|j�}|�|j�}|jD]$}|�||v||jvo<||jv�q|�|t|j��|�t|�t�tttj	t
tfD]$}tg�}|�|�||j��|�qt|�t
|�t
|j��|j��t��|�t
|�t
|j��dSr)rr*�intersectionr$r>rFr4rGr,r-rHrIr#r?rJrKrL)rr+rQrrNrrrr�test_intersectionWs

"
zTestWeakSet.test_intersectioncCs6|�|j�t|j���|�|j�t|j���dSr)�
assertTruer+�
isdisjointrr$r*rrrr�test_isdisjointfszTestWeakSet.test_isdisjointcCsB|j�|j�}|�|jt|j�@|�|�|jt|j�@|�dSr)r+rSr$r>r4rGrPrrr�test_andjszTestWeakSet.test_andcCsv|j�|j�}|jD]$}|�||v||jvo4||jv�q|�|jt|j��|�t|�t�|�	t
|jjgg�dSr)r+�
differencer$r*r>r.rr#rFr:r;�rrQrrrr�test_differenceos
"zTestWeakSet.test_differencecCsB|j�|j�}|�|jt|j�|�|�|jt|j�|�dSr)r+rYr$r>r4rGrPrrr�test_subwszTestWeakSet.test_subcCs�|j�|j�}|jD]$}|�||v||jv||jvA�q|�|jt|j��|�t|�t�|�	t
|jjgg�|�t|�t|j�t|j��|j��t
��|�t|�t|j�t|j��dSr)r+�symmetric_differencer$r*r>r.rr#rFr:r;r?rJrKrLrZrrr�test_symmetric_difference|s
" 
z%TestWeakSet.test_symmetric_differencecCsB|j�|j�}|�|jt|j�A|�|�|jt|j�A|�dSr)r+r]r$r>r4rGrPrrr�test_xor�szTestWeakSet.test_xorcCs�|�|j|jk�|�|j|jk�|�|j|jk�|�|j|jk�|�|j|jk�|�td��d��|�td��d��|�td��d��|�td��d��dS)Nr�abcZcbs)rUr%r&�assertFalser'r4�issubset�
issupersetrrrr�test_sub_and_super�szTestWeakSet.test_sub_and_supercCsL|�|j|jk�|�|j|jk�|�|j|jk�|�t�t�k�dSr)rUr%r&rar'rrrrr�test_lt�szTestWeakSet.test_ltcCsL|�|j|jk�|�|j|jk�|�|j|jk�|�t�t�k�dSr)rUr&r%rar'rrrrr�test_gt�szTestWeakSet.test_gtcCs<tdd�td�D��}|D]}||_||_t|g�|_qdS)Ncss|]}t�VqdSr)r�rrQrrr�	<genexpr>�rz&TestWeakSet.test_gc.<locals>.<genexpr>i�)r�ranger�subr4)rr+�elemrrr�test_gc�s
zTestWeakSet.test_gccCsTGdd�dt�}|�}t�}|�|�|�||�|�|�|�|�|�|�dS)Nc@seZdZdd�ZdS)z5TestWeakSet.test_subclass_with_custom_hash.<locals>.HcSstt|�d@�S)Ni���)�int�idrrrr�__hash__�sz>TestWeakSet.test_subclass_with_custom_hash.<locals>.H.__hash__N)rr	r
rorrrr�H�srp)rr4�addr6�remove�discard)rrpr+�frrr�test_subclass_with_custom_hash�s


z*TestWeakSet.test_subclass_with_custom_hashcCsdt�}|�|j�|�||j�|�|j�|�|t|j��|�t|j|d�|�t|jd�dS)Nr9r=)rrr#r>r+r$r:r;)rr+rrr�	test_init�szTestWeakSet.test_initcCs*t|j�}t|�}|�t|�t|��dSr)rr#�assertNotEqualrn)rr+�trrr�test_constructor_identity�s
z%TestWeakSet.test_constructor_identitycCs|�tt|j�dSr)r:r;�hashr+rrrr�	test_hash�szTestWeakSet.test_hashcCs2|j��|�|jtg��|�t|j�d�dS)Nr)r+�clearr>rr?rrrr�
test_clear�s
zTestWeakSet.test_clearcCs2|j��}|�|j|�|�t|j�t|��dSr)r+�copyr>rwrn)r�duprrr�	test_copy�s
zTestWeakSet.test_copycCs�td�}|j�|�|�||j�|j��}|j�|�|�|j|�|�t|jjg�|j�t	��t
��|�t
|j�dk�|j�|j�|�t
|j�dk�dS)N�Qr=)rr+rqr6r~r>r:r;r0rrr@rUr?r/)rrrrrr�test_add�s
zTestWeakSet.test_addcCsJtd�}|j�|�|�||j�|�t|jj|�|�t|jjg�dS)Nr)rr+rrrBr:�KeyErrorr;)rrrrr�test_remove�s
zTestWeakSet.test_removecCsNtd�td�}}|j�|�|�||j�|j�|�|�t|jjg�dS)Nrr�)rr+rsrBr:r;)rr�qrrr�test_discard�s
zTestWeakSet.test_discardcCs@tt|j��D]}|j��}|�||j�q|�t|jj�dSr)rir?r+rJrBr:r�)rrQrkrrr�test_pop�s
zTestWeakSet.test_popcCsR|j�|j�}|�|d�|j|jD]}|�||j�q&|�t|jjgg�dSr)r+�updater$r>r#r6r:r;�rZretvalrrrr�test_update�s
zTestWeakSet.test_updatecCs6|j�t|j��|j|jD]}|�||j�qdSr)r+r�r4r$r#r6rCrrr�test_update_set�szTestWeakSet.test_update_setcCs8|jt|j�O_|j|jD]}|�||j�q dSr)r+r4r$r#r6rCrrr�test_iorszTestWeakSet.test_iorcCsv|j�|j�}|�|d�|j|jD]6}||jvrN||jvrN|�||j�q&|�||j�q&|�t|jjgg�dSr)	r+�intersection_updater$r>r#r6rBr:r;r�rrr�test_intersection_updatesz$TestWeakSet.test_intersection_updatecCs\|jt|j�M_|j|jD]6}||jvrH||jvrH|�||j�q |�||j�q dSr�r+r4r$r#r6rBrCrrr�	test_iands
zTestWeakSet.test_iandcCs�|j�|j�}|�|d�|j|jD]6}||jvrN||jvrN|�||j�q&|�||j�q&|�t|jjgg�|�t|jj	gg�dSr)
r+�difference_updater$r>r#r6rBr:r;�symmetric_difference_updater�rrr�test_difference_updatesz"TestWeakSet.test_difference_updatecCs\|jt|j�8_|j|jD]6}||jvrH||jvrH|�||j�q |�||j�q dSrr�rCrrr�	test_isub$s
zTestWeakSet.test_isubcCsv|j�|j�}|�|d�|j|jD]6}||jv||jvArN|�||j�q&|�||j�q&|�t|jjgg�dSr)	r+r�r$r>r#r6rBr:r;r�rrr� test_symmetric_difference_update,sz,TestWeakSet.test_symmetric_difference_updatecCs\|jt|j�N_|j|jD]6}||jv||jvArH|�||j�q |�||j�q dSrr�rCrrr�	test_ixor6s
zTestWeakSet.test_ixorcCsp|j��}||O}|�||j�||M}|�||j�||8}|�|t��|j��}||N}|�|t��dSr)r+r~r>r)rrxrrr�test_inplace_on_self>s

z TestWeakSet.test_inplace_on_selfcCs�|�|j|jk�|�|jt|j�k�|�|jt|j�k�|�|jt|j�k�|�|jt|j�k�|�|jttg�k�|�|jdk�dS)Nr=)	rUr+rr#rar4rHrIrrrrr�test_eqJszTestWeakSet.test_eqcCs4|�|jt|j�k�t�}t�}|�||k�dSr)rUr+r4r#rra)r�s1�s2rrr�test_neTszTestWeakSet.test_necCsrdd�dD�}t|�}t|�}t|�|d=t��|�tt|��t|�t|�dg�~|�t|�t|��dS)NcSsg|]}t|��qSrrrrrrr]rzATestWeakSet.test_weak_destroy_while_iterating.<locals>.<listcomp>r���r=)	r�iter�nextrKrLr6r?rHr>)rr#r+�itrrr�!test_weak_destroy_while_iteratingZs$z-TestWeakSet.test_weak_destroy_while_iteratingcsndd�tjD��t���tj��fdd��}|��}|�|��Wd�n1sT0Y|�� }|�t�j|�Wd�n1s�0Y|�|��|��}��	|�Wd�n1s�0Y|�
|�����}|��}��|�Wd�n1�s0Y|�
t��t|��|��}���Wd�n1�sP0Y|�
t��d�dS)NcSsg|]}t|��qSrrrrrrrlrzLTestWeakSet.test_weak_destroy_and_mutate_while_iterating.<locals>.<listcomp>c3sZzNt��}ttt|���}tt�����}||kr:t|�t��|VWd}nd}0dSr)r�r�strr�rJrKrL)r�ZyieldedrM�r#r+rr�testcontextnszMTestWeakSet.test_weak_destroy_and_mutate_while_iterating.<locals>.testcontextr)r(r)r�
contextlib�contextmanagerrBr:r�rrrqr6r~r�r>r?r|)rr�rMrxrr�r�,test_weak_destroy_and_mutate_while_iteratingjs&*.(*(z8TestWeakSet.test_weak_destroy_and_mutate_while_iteratingcCs�d}dd�t|�D�}t|�}~t|�}zt|�WntyFYn0t��t|�}~t��t��t|�}|�|d�|�	|d�dS)N�cSsg|]
}t��qSr�r
rgrrrr�rz/TestWeakSet.test_len_cycles.<locals>.<listcomp>)rr=r)
rirr�r��
StopIterationrKrLr?r6r>)r�Nr#r+r��n1�n2rrr�test_len_cycles�s"zTestWeakSet.test_len_cyclesc	Cs�|jtjgt���R�tdd�D]�}d}t�d�t�|||�dd�t|�D�}t|�}~t|�}zt|�Wnt	y�Yn0t
|�}~t
|�}|�|d�|�||�|�|d�|�||�q"dS)Nr=�dr�rcSsg|]
}t��qSrr�rgrrrr�rz-TestWeakSet.test_len_race.<locals>.<listcomp>)
Z
addCleanuprKZ
set_thresholdZ
get_thresholdrirLrr�r�r�r?ZassertGreaterEqualZassertLessEqual)rZthr�r#r+r�r�r�rrr�
test_len_race�s(
zTestWeakSet.test_len_racecCsdSrrrrrr�	test_repr�szTestWeakSet.test_reprcCs |�|jt�|�|jt�dSr)ZassertIsInstancer+rrrrrr�test_abc�szTestWeakSet.test_abcN)1rr	r
r1r8r<rArDrOrRrTrWrXr[r\r^r_rdrerfrlrurvryr{r}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrs\

	


%r�__main__)Zunittest�weakrefrr(�collectionsrr�collections.abcrrrKr��testrrr
ZTestCaserr�mainrrrr�<module>s3