Your IP : 216.73.216.196


Current Path : /opt/alt/python310/lib64/python3.10/test/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/test/__pycache__/test_weakset.cpython-310.opt-2.pyc

o

0�i�=�@s�ddlZddlmZddlZddlmZddlmZm	Z	ddl
Z
ddlZddlm
Z
Gdd�d�ZGdd	�d	�ZGd
d�dej�ZedkrKe��dSdS)
�N)�WeakSet)�
UserString)�Set�
MutableSet)�supportc@seZdZdS)�FooN)�__name__�
__module__�__qualname__�rr�8/opt/alt/python310/lib64/python3.10/test/test_weakset.pyrsrc@�eZdZdd�ZdS)�RefCyclecCs
||_dS�N)�cycle��selfrrr�__init__s
zRefCycle.__init__N)rr	r
rrrrrr�rc@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)NcS�g|]}t|��qSr��ustr��.0�crrr�
<listcomp>�z%TestWeakSet.setUp.<locals>.<listcomp>��a�brcSrrrrrrrrr)�x�y�zcSrrrrrrrrrZabcSrrrrrrrrrZabcdecSrrrrrrrrr�defcSrrrrrrr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�rq|�||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-�zTestWeakSet.test_new_or_initcCsL|�t|j�t|j��|�t|j�d�|`t��|�t|j�d�dS)N�r)�assertEqual�lenr.r1r3r2r�
gc_collectrrrr�test_len0s
zTestWeakSet.test_lencCsd|jD]}|�||jv||jv�q|�d|j�|�|j|j�|`t�	�|�t
d�|j�dS)NrAr%)r-rBr.r1�assertNotInr9r2r3rrDr�rrrrr�
test_contains7s
zTestWeakSet.test_containscCs|j�|j�}|jD]}|�||v||jvp||jv�q
|�|jt|j��|�t|�t�|�	t
|jjgg�ttt
jttfD]}t|j|j�}||j�}|�|j�|�|�~qA|�t|�t|j�t|j��|j��t��|�t|�t|j�t|j��dSr)r.�unionr'r-rBr1rr&�typer=r>r7�	frozensetr/r0�list�tuplerC�pop�gc�collect)r�ur�Cr!rrr�
test_unionAs
"
 
$zTestWeakSet.test_unioncCsB|j�|j�}|�|jt|j�B|�|�|jt|j�B|�dSr)r.rIr'rBr7rK�r�irrr�test_orR�zTestWeakSet.test_orcCs�t|j�}|�|j�}|jD]}|�||v||jvo||jv�q|�|t|j��|�t|�t�tttj	t
tfD]}tg�}|�|�||j��|�q:|�t
|�t
|j��|j��t��|�t
|�t
|j��dSr)rr-�intersectionr'rBrJr7rKr/r0rLrMr&rCrNrOrP)rr.rUrrRr!rrr�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.rXr'rBr7rKrTrrr�test_andjrWzTestWeakSet.test_andcCsv|j�|j�}|jD]}|�||v||jvo||jv�q
|�|jt|j��|�t|�t�|�	t
|jjgg�dSr)r.�
differencer'r-rBr1rr&rJr=r>�rrUrrrr�test_differenceos
"zTestWeakSet.test_differencecCsB|j�|j�}|�|jt|j�|�|�|jt|j�|�dSr)r.r^r'rBr7rKrTrrr�test_subwrWzTestWeakSet.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-rBr1rr&rJr=r>rCrNrOrPr_rrr�test_symmetric_difference|s
" 
$z%TestWeakSet.test_symmetric_differencecCsB|j�|j�}|�|jt|j�A|�|�|jt|j�A|�dSr)r.rbr'rBr7rKrTrrr�test_xor�rWzTestWeakSet.test_xorcCs�|�|j|jk�|�|j|jk�|�|j|jk�|�|j|jk�|�|j|jk�|�td��d��|�td��d��|�td��d��|�td��d��dS)Nr�abcZcbs)rZr(r)�assertFalser*r7�issubset�
issupersetrrrr�test_sub_and_super�szTestWeakSet.test_sub_and_supercCsL|�|j|jk�|�|j|jk�|�|j|jk�|�t�t�k�dSr)rZr(r)rfr*rrrrr�test_lt��zTestWeakSet.test_ltcCsL|�|j|jk�|�|j|jk�|�|j|jk�|�t�t�k�dSr)rZr)r(rfr*rrrrr�test_gt�rkzTestWeakSet.test_gtcCs<tdd�td�D��}|D]}||_||_t|g�|_q
dS)Ncss�|]}t�VqdSr)r�rrUrrr�	<genexpr>�s�z&TestWeakSet.test_gc.<locals>.<genexpr>i�)r�ranger�subr7)rr.�elemrrr�test_gc�s�zTestWeakSet.test_gccCsTGdd�dt�}|�}t�}|�|�|�||�|�|�|�|�|�|�dS)Nc@r
)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
rurrrr�H�rrv)rr7�addr9�remove�discard)rrvr.�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)Nr<rA)rrr&rBr.r'r=r>)rr.rrr�	test_init�szTestWeakSet.test_initcCs*t|j�}t|�}|�t|�t|��dSr)rr&�assertNotEqualrt)rr.�trrr�test_constructor_identity�s
z%TestWeakSet.test_constructor_identitycCs|�tt|j�dSr)r=r>�hashr.rrrr�	test_hash�r@zTestWeakSet.test_hashcCs2|j��|�|jtg��|�t|j�d�dS)Nr)r.�clearrBrrCrrrr�
test_clear�s
zTestWeakSet.test_clearcCs2|j��}|�|j|�|�t|j�t|��dSr)r.�copyrBr}rt)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�QrA)rr.rwr9r�rBr=r>r3rrrDrZrCr2)rr!r�rrr�test_add�s
zTestWeakSet.test_addcCsJtd�}|j�|�|�||j�|�t|jj|�|�t|jjg�dS)Nr)rr.rxrFr=�KeyErrorr>)rr!rrr�test_remove�s
zTestWeakSet.test_removecCsNtd�td�}}|j�|�|�||j�|j�|�|�t|jjg�dS)Nrr�)rr.ryrFr=r>)rr�qrrr�test_discard�s
zTestWeakSet.test_discardcCs@tt|j��D]}|j��}|�||j�q|�t|jj�dSr)rorCr.rNrFr=r�)rrUrqrrr�test_pop�s
zTestWeakSet.test_popcCsR|j�|j�}|�|d�|j|jD]	}|�||j�q|�t|jjgg�dSr)r.�updater'rBr&r9r=r>�rZretvalrrrr�test_update�s
zTestWeakSet.test_updatecCs6|j�t|j��|j|jD]	}|�||j�qdSr)r.r�r7r'r&r9rGrrr�test_update_set�s�zTestWeakSet.test_update_setcCs8|jt|j�O_|j|jD]	}|�||j�qdSr)r.r7r'r&r9rGrrr�test_iors�zTestWeakSet.test_iorcCsv|j�|j�}|�|d�|j|jD]}||jvr'||jvr'|�||j�q|�||j�q|�t|jjgg�dSr)	r.�intersection_updater'rBr&r9rFr=r>r�rrr�test_intersection_update�z$TestWeakSet.test_intersection_updatecCs\|jt|j�M_|j|jD]}||jvr$||jvr$|�||j�q|�||j�qdSr�r.r7r'r&r9rFrGrrr�	test_iand��zTestWeakSet.test_iandcCs�|j�|j�}|�|d�|j|jD]}||jvr'||jvr'|�||j�q|�||j�q|�t|jjgg�|�t|jj	gg�dSr)
r.�difference_updater'rBr&r9rFr=r>�symmetric_difference_updater�rrr�test_difference_updatesz"TestWeakSet.test_difference_updatecCs\|jt|j�8_|j|jD]}||jvr$||jvr$|�||j�q|�||j�qdSrr�rGrrr�	test_isub$r�zTestWeakSet.test_isubcCsv|j�|j�}|�|d�|j|jD]}||jv||jvAr'|�||j�q|�||j�q|�t|jjgg�dSr)	r.r�r'rBr&r9rFr=r>r�rrr� test_symmetric_difference_update,r�z,TestWeakSet.test_symmetric_difference_updatecCs\|jt|j�N_|j|jD]}||jv||jvAr$|�||j�q|�||j�qdSrr�rGrrr�	test_ixor6r�zTestWeakSet.test_ixorcCsp|j��}||O}|�||j�||M}|�||j�||8}|�|t��|j��}||N}|�|t��dSr)r.r�rBr)rr~rrr�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)NrA)	rZr.rr&rfr7rLrMrrrrr�test_eqJszTestWeakSet.test_eqcCs4|�|jt|j�k�t�}t�}|�||k�dSr)rZr.r7r&rrf)r�s1�s2rrr�test_neTszTestWeakSet.test_necCsrdd�dD�}t|�}t|�}t|�|d=t��|�tt|��t|�t|�dg�~|�t|�t|��dS)NcSrrrrrrrr]rzATestWeakSet.test_weak_destroy_while_iterating.<locals>.<listcomp>r���rA)	r�iter�nextrOrPr9rCrLrB)rr&r.�itrrr�!test_weak_destroy_while_iteratingZs$z-TestWeakSet.test_weak_destroy_while_iteratingcsjdd�tjD��t���tj��fdd��}|��}|�|��Wd�n1s*wY|��}|�t�j|�Wd�n1sEwY|�|��|��
}��	|�Wd�n1scwY|�
|�����}|��
}��|�Wd�n1s�wY|�
t��t|��|��}���Wd�n1s�wY|�
t��d�dS)NcSrrrrrrrrlrzLTestWeakSet.test_weak_destroy_and_mutate_while_iterating.<locals>.<listcomp>c3sZ�z(t��}ttt|���}tt�����}||krt|�t��|VWd}dSd}wr)r�r�strr�rNrOrP)r�ZyieldedrQ�r&r.rr�testcontextns�zMTestWeakSet.test_weak_destroy_and_mutate_while_iterating.<locals>.testcontextr)r+r,r�
contextlib�contextmanagerrFr=r�rxrwr9r�r�rBrCr�)rr�rQr~rr�r�,test_weak_destroy_and_mutate_while_iteratingjs0����
�z8TestWeakSet.test_weak_destroy_and_mutate_while_iteratingcCs�d}dd�t|�D�}t|�}~t|�}zt|�Wn	ty#Ynwt��t|�}~t��t��t|�}|�|d�|�	|d�dS)N�cS�g|]}t��qSr�rrmrrrr��z/TestWeakSet.test_len_cycles.<locals>.<listcomp>)rrAr)
rorr�r��
StopIterationrOrPrCr9rB)r�Nr&r.r��n1�n2rrr�test_len_cycles�s$�zTestWeakSet.test_len_cyclesc	Cs�|jtjgt���R�tdd�D]S}d}t�d�t�|||�dd�t|�D�}t|�}~t|�}zt|�Wn	t	yBYnwt
|�}~t
|�}|�|d�|�||�|�|d�|�||�qdS)NrA�dr�rcSr�rr�rmrrrr�r�z-TestWeakSet.test_len_race.<locals>.<listcomp>)
Z
addCleanuprOZ
set_thresholdZ
get_thresholdrorPrr�r�r�rCZassertGreaterEqualZassertLessEqual)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
r4r;r?rErHrSrVrYr\r]r`rarcrdrirjrlrrr{r|rr�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+�collectionsrrZcollections.abcrrrOr��testrrrZTestCaserr�mainrrrr�<module>s"3�