HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/__pycache__/test_weakset.cpython-37.pyc
B

��g�;�@szddlZddlmZddlZddlmZddlZddlZGdd�d�Z	Gdd�d�Z
Gdd	�d	ej�Ze
d
krve��dS)�N)�WeakSet)�
UserStringc@seZdZdS)�FooN)�__name__�
__module__�__qualname__�rr�-/usr/local/lib/python3.7/test/test_weakset.pyr	src@seZdZdd�ZdS)�RefCyclecCs
||_dS)N)�cycle)�selfrrr	�__init__
szRefCycle.__init__N)rrrr
rrrr	r
sr
c@sleZdZdd�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.dYS)Z�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>sz%TestWeakSet.setUp.<locals>.<listcomp>)�a�brcSsg|]}t|��qSr)r)rrrrr	rs)�x�y�zcSsg|]}t|��qSr)r)rrrrr	rsZabcSsg|]}t|��qSr)r)rrrrr	rsZabcdecSsg|]}t|��qSr)r)rrrrr	rs�defcSsg|]}t|��qSr)r)rrrrr	rs�F)�items�items2Zab_itemsZabcde_itemsZ	def_itemsr�
ab_weakset�
abcde_weakset�def_weakset�string�
ascii_letters�letters�s�dict�fromkeys�dr�obj�fs)rrrr	�setUps
zTestWeakSet.setUpcCsDtt�}x6tt�D]*}|dks|�d�r*q|�||d|�qWdS)NZ
test_c_api�_zWeakSet missing method )�dirr�set�
startswith�assertIn)rZweaksetmethods�methodrrr	�test_methods#szTestWeakSet.test_methodscCs|�ttgd�dS)N�)�assertRaises�	TypeErrorr)rrrr	�test_new_or_init+szTestWeakSet.test_new_or_initcCsD|�t|j�t|j��|�t|j�d�|`|�t|j�d�dS)N�r)�assertEqual�lenr"r%r'r&)rrrr	�test_len.szTestWeakSet.test_lencCs`x&|jD]}|�||jk||jk�qW|�d|j�|�|j|j�|`|�td�|j�dS)Nr4r)	r!r5r"r%�assertNotInr-r&r'r)rrrrr	�
test_contains4szTestWeakSet.test_containscCs|j�|j�}x.|jD]$}|�||k||jkp6||jk�qW|�|jt|j��|�t|�t�|�	t
|jjgg�xHttt
jttfD]4}t|j|j�}||j�}|�|j�|�|�~q�W|�t|�t|j�t|j��|j��t��|�t|�t|j�t|j��dS)N)r"�unionrr!r5r%rr�typer1r2r+�	frozensetr#r$�list�tupler6�pop�gc�collect)r�ur�Crrrr	�
test_union=s$
 
zTestWeakSet.test_unioncCsB|j�|j�}|�|jt|j�B|�|�|jt|j�B|�dS)N)r"r:rr5r+r<)r�irrr	�test_orNszTestWeakSet.test_orcCs�t|j�}|�|j�}x.|jD]$}|�||k||jko>||jk�qW|�|t|j��|�t|�t�x8tttj	t
tfD]$}tg�}|�|�||j��|�qzW|�t
|�t
|j��|j��t��|�t
|�t
|j��dS)N)rr!�intersectionrr5r;r+r<r#r$r=r>rr6r?r@rA)rr"rErrCrrrr	�test_intersectionSs
$
zTestWeakSet.test_intersectioncCs6|�|j�t|j���|�|j�t|j���dS)N)�
assertTruer"�
isdisjointrrr!)rrrr	�test_isdisjointbszTestWeakSet.test_isdisjointcCsB|j�|j�}|�|jt|j�@|�|�|jt|j�@|�dS)N)r"rGrr5r+r<)rrErrr	�test_andfszTestWeakSet.test_andcCsz|j�|j�}x.|jD]$}|�||k||jko6||jk�qW|�|jt|j��|�t|�t�|�	t
|jjgg�dS)N)r"�
differencerr!r5r%rrr;r1r2)rrErrrr	�test_differenceks$zTestWeakSet.test_differencecCsB|j�|j�}|�|jt|j�|�|�|jt|j�|�dS)N)r"rMrr5r+r<)rrErrr	�test_subsszTestWeakSet.test_subcCs�|j�|j�}x.|jD]$}|�||k||jk||jkA�qW|�|jt|j��|�t|�t�|�	t
|jjgg�|�t|�t|j�t|j��|j��t
��|�t|�t|j�t|j��dS)N)r"�symmetric_differencerr!r5r%rrr;r1r2r6r?r@rA)rrErrrr	�test_symmetric_differencexs$ 
z%TestWeakSet.test_symmetric_differencecCsB|j�|j�}|�|jt|j�A|�|�|jt|j�A|�dS)N)r"rPrr5r+r<)rrErrr	�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)rIrr�assertFalserr+�issubset�
issuperset)rrrr	�test_sub_and_super�szTestWeakSet.test_sub_and_supercCsL|�|j|jk�|�|j|jk�|�|j|jk�|�t�t�k�dS)N)rIrrrTrr)rrrr	�test_lt�szTestWeakSet.test_ltcCsL|�|j|jk�|�|j|jk�|�|j|jk�|�t�t�k�dS)N)rIrrrTrr)rrrr	�test_gt�szTestWeakSet.test_gtcCs@tdd�td�D��}x$|D]}||_||_t|g�|_qWdS)Ncss|]}t�VqdS)N)r)rrErrr	�	<genexpr>�sz&TestWeakSet.test_gc.<locals>.<genexpr>i�)r�ranger�subr+)rr"�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�id)rrrr	�__hash__�sz>TestWeakSet.test_subclass_with_custom_hash.<locals>.H.__hash__N)rrrrarrrr	�H�srb)rr+�addr-�remove�discard)rrbr"�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)Nr0r4)rr
rr5r"rr1r2)rr"rrr	�	test_init�szTestWeakSet.test_initcCs*t|j�}t|�}|�t|�t|��dS)N)rr�assertNotEqualr`)rr"�trrr	�test_constructor_identity�s
z%TestWeakSet.test_constructor_identitycCs|�tt|j�dS)N)r1r2�hashr")rrrr	�	test_hash�szTestWeakSet.test_hashcCs2|j��|�|jtg��|�t|j�d�dS)Nr)r"�clearr5rr6)rrrr	�
test_clear�s
zTestWeakSet.test_clearcCs2|j��}|�|j|�|�t|j�t|��dS)N)r"�copyr5rir`)r�duprrr	�	test_copy�s
zTestWeakSet.test_copycCs�td�}|j�|�|�||j�|j��}|j�|�|�|j|�|�t|jjg�|j�t	��|�
t|j�dk�|j�|j�|�
t|j�dk�dS)N�Qr4)
rr"rcr-rpr5r1r2r'rrIr6r&)rrrqrrr	�test_add�s
zTestWeakSet.test_addcCsJtd�}|j�|�|�||j�|�t|jj|�|�t|jjg�dS)Nr)rr"rdr8r1�KeyErrorr2)rrrrr	�test_remove�s
zTestWeakSet.test_removecCsNtd�td�}}|j�|�|�||j�|j�|�|�t|jjg�dS)Nrrs)rr"rer8r1r2)rr�qrrr	�test_discard�s
zTestWeakSet.test_discardcCsDx.tt|j��D]}|j��}|�||j�qW|�t|jj�dS)N)r[r6r"r?r8r1ru)rrEr]rrr	�test_pop�s
zTestWeakSet.test_popcCsV|j�|j�}|�|d�x"|j|jD]}|�||j�q(W|�t|jjgg�dS)N)r"�updaterr5rr-r1r2)r�retvalrrrr	�test_update�s
zTestWeakSet.test_updatecCs:|j�t|j��x"|j|jD]}|�||j�q WdS)N)r"rzr+rrr-)rrrrr	�test_update_set�szTestWeakSet.test_update_setcCs<|jt|j�O_x"|j|jD]}|�||j�q"WdS)N)r"r+rrr-)rrrrr	�test_ior�szTestWeakSet.test_iorcCsz|j�|j�}|�|d�xF|j|jD]6}||jkrP||jkrP|�||j�q(|�||j�q(W|�t|jjgg�dS)N)	r"�intersection_updaterr5rr-r8r1r2)rr{rrrr	�test_intersection_updatesz$TestWeakSet.test_intersection_updatecCs`|jt|j�M_xF|j|jD]6}||jkrJ||jkrJ|�||j�q"|�||j�q"WdS)N)r"r+rrr-r8)rrrrr	�	test_iands
zTestWeakSet.test_iandcCs�|j�|j�}|�|d�xF|j|jD]6}||jkrP||jkrP|�||j�q(|�||j�q(W|�t|jjgg�|�t|jj	gg�dS)N)
r"�difference_updaterr5rr-r8r1r2�symmetric_difference_update)rr{rrrr	�test_difference_updatesz"TestWeakSet.test_difference_updatecCs`|jt|j�8_xF|j|jD]6}||jkrJ||jkrJ|�||j�q"|�||j�q"WdS)N)r"r+rrr-r8)rrrrr	�	test_isubs
zTestWeakSet.test_isubcCsz|j�|j�}|�|d�xF|j|jD]6}||jk||jkArP|�||j�q(|�||j�q(W|�t|jjgg�dS)N)	r"r�rr5rr-r8r1r2)rr{rrrr	� test_symmetric_difference_update'sz,TestWeakSet.test_symmetric_difference_updatecCs`|jt|j�N_xF|j|jD]6}||jk||jkArJ|�||j�q"|�||j�q"WdS)N)r"r+rrr-r8)rrrrr	�	test_ixor1s
zTestWeakSet.test_ixorcCsp|j��}||O}|�||j�||M}|�||j�||8}|�|t��|j��}||N}|�|t��dS)N)r"rpr5r)rrjrrr	�test_inplace_on_self9s

z TestWeakSet.test_inplace_on_selfcCs�|�|j|jk�|�|jt|j�k�|�|jt|j�k�|�|jt|j�k�|�|jt|j�k�|�|jttg�k�|�|jdk�dS)Nr4)	rIr"rrrTr+r=r>r)rrrr	�test_eqEszTestWeakSet.test_eqcCs4|�|jt|j�k�t�}t�}|�||k�dS)N)rIr"r+rrrT)r�s1�s2rrr	�test_neOszTestWeakSet.test_necCsrdd�dD�}t|�}t|�}t|�|d=t��|�tt|��t|�t|�dg�~|�t|�t|��dS)NcSsg|]}t|��qSr)r)rrrrr	rXszATestWeakSet.test_weak_destroy_while_iterating.<locals>.<listcomp>)rrr���r4)	r�iter�nextr@rAr-r6r=r5)rrr"�itrrr	�!test_weak_destroy_while_iteratingUs$z-TestWeakSet.test_weak_destroy_while_iteratingc	sdd�tjD��t���tj��fdd��}|��}|�|��WdQRX|��}|�t�j|�WdQRX|�|��|��}��	|�WdQRX|�
|�����}|��}��|�WdQRX|�
t��t|��|��}���WdQRX|�
t��d�dS)NcSsg|]}t|��qSr)r)rrrrr	rgszLTestWeakSet.test_weak_destroy_and_mutate_while_iterating.<locals>.<listcomp>c3sVzJt��}ttt|���}tt�����}||kr:t|�t��|VWdd}XdS)N)r�r�strr�r?r@rA)r�ZyieldedrB)rr"rr	�testcontextis
zMTestWeakSet.test_weak_destroy_and_mutate_while_iterating.<locals>.testcontextr)rr r�
contextlib�contextmanagerr8r1rurdrcr-rprzr5r6rn)rr�rBrjr)rr"r	�,test_weak_destroy_and_mutate_while_iteratinges$z8TestWeakSet.test_weak_destroy_and_mutate_while_iteratingcCs�d}dd�t|�D�}t|�}~t|�}yt|�Wntk
rHYnXt��t|�}~t��t|�}|�|d�|�	|d�dS)N�cSsg|]
}t��qSr)r
)rrErrr	r�sz/TestWeakSet.test_len_cycles.<locals>.<listcomp>)rr4r)
r[rr�r��
StopIterationr@rAr6r-r5)r�Nrr"r��n1�n2rrr	�test_len_cycles�s zTestWeakSet.test_len_cyclesc	Cs�|jtjft����x�tdd�D]�}d}t�d�t�|||�dd�t|�D�}t|�}~t|�}yt|�Wnt	k
r�YnXt
|�}~t
|�}|�|d�|�||�|�|d�|�||�q"WdS)Nr4�dr�rcSsg|]
}t��qSr)r
)rrErrr	r�sz-TestWeakSet.test_len_race.<locals>.<listcomp>)
Z
addCleanupr@Z
set_thresholdZ
get_thresholdr[rArr�r�r�r6ZassertGreaterEqualZassertLessEqual)r�thr�rr"r�r�r�rrr	�
test_len_race�s(
zTestWeakSet.test_len_raceN)/rrrr(r/r3r7r9rDrFrHrKrLrNrOrQrRrWrXrYr^rgrhrkrmrorrrtrvrxryr|r}r~r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr	rsX	
	



%r�__main__)Zunittest�weakrefrr�collectionsrrr@r�rr
ZTestCaserr�mainrrrr	�<module>s(