python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_weakset.cpython-312.opt-2.pyc

Αe7AddlZddlmZddlZddlZddlmZddlm	Z	m
Z
ddlZddlZddl
mZGddZGdd	ZGd
deZGdd
eZGddej&Zedk(rej,yy)N)WeakSet)
UserString)Set
MutableSet)supportceZdZy)FooN__name__
__module____qualname__E/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_weakset.pyr	r	rr	ceZdZdZy)RefCyclec||_yN)cycleselfs r__init__zRefCycle.__init__s	
rN)rrr
rrrrrrsrrceZdZy)WeakSetSubclassNr
rrrrrrrrceZdZdZy)WeakSetWithSlots)xyN)rrr
	__slots__rrrrrsIrrc&eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1y0)1TestWeakSetc2dDcgc]
}t|c}|_dDcgc]
}t|c}|_dDcgc]
}t|c}|_dDcgc]
}t|c}|_dDcgc]
}t|c}|_t
|j|_t
|j|_t
|j
|_	tjDcgc]
}t|c}|_t
|j|_
tj|j|_td|_t
|j"g|_ycc}wcc}wcc}wcc}wcc}wcc}w)Nabc)rrzababcdedefF)ustritemsitems2ab_itemsabcde_items	def_itemsr
ab_weakset
abcde_weaksetdef_weaksetstring
ascii_lettersletterssdictfromkeysdobjfsrr's  rsetUpzTestWeakSet.setUps'67!d1g7
(781tAw8*./Qa/
-45DG5+01a$q'1!$--0$T%5%56"4>>2)/)=)=>AQ>$tzz*9488*%88/51?s"E;FFF
=F7Fctt}ttD]/}|dk(s|jdr|j	||d|z1y)N
test_c_api_zWeakSet missing method )dirrset
startswithassertIn)rweaksetmethodsmethods   rtest_methodszTestWeakSet.test_methods,sNW#h	=F%):):3)?MM&.2V;
=	=rc<|jttgdy)N)assertRaises	TypeErrorrrs rtest_new_or_initzTestWeakSet.test_new_or_init4s)Wb!4rc4|jt|jt|j|jt|jd|`t
j|jt|jdy)Nr)assertEquallenr9r<r>r=r
gc_collectrs rtest_lenzTestWeakSet.test_len7scTVVc$&&k2TWWq)HTWWq)rct|jD],}|j||jv||jv.|j	d|j|j|j|j|`tj|j	td|jy)NrQr,)r8rRr9r<assertNotInrGr=r>rrTr-r?s  r
test_containszTestWeakSet.test_contains>s	7AQ$&&[!tvv+6	7	
DFF#

dhh(HcDGG,rcD|jj|j}|jD]2}|j	||v||j
vxs||jv4|j	|jt
|j|j	t|t|jt|jjggtttjtt fD]b}t
|j|jz}||j}|j	|jj||~d|j	t#|t#|jt#|jz|jj%t'j(|j	t#|t#|jt#|jzyr)r9unionr/r8rRr<rr.typerMrNrE	frozensetr:r;listtuplerSpopgccollect)rur'Crs     r
test_unionzTestWeakSet.test_unionHsrFFLL%	FAQ!VQ$&&[%DA4DE	F!45a'*)TVV\\B48ie;	A

T[[01A$++ATVV\\!_a0		
	
QTZZ3t{{3C!CD


QTZZ3t{{3C!CDrc|jj|j}|j|jt	|jz||j|jt|jz|yr)r9rZr/rRrEr\ris  rtest_orzTestWeakSet.test_orYs\FFLL%#dkk"22A6)DKK"88!<rcNt|j}|j|j}|jD]2}|j	||v||jvxr||jv4|j	|t|j|j	t|ttttjttfD]>}tg}|j	|j||j|@|j	t|t|j|jjtj |j	t|t|jyr)rr8intersectionr/rRr[rEr\r:r;r]r^r.rSr_r`ra)rr9rgr'rcrs      rtest_intersectionzTestWeakSet.test_intersection^s*DLL!
NN4;;'	MAQ!VQ$++%5%K!t||:KL	MGDLL12a'*ie;	?AAQ^^AdjjM:A>	?	
QT[[!12


QT[[!12rc|j|jjt|j|j|jjt|j
yr)
assertTruer9
isdisjointrr/r8rs rtest_isdisjointzTestWeakSet.test_isdisjointmsM))'$++*>?@DFF--gdll.CDDErc|jj|j}|j|jt	|jz||j|jt|jz|yr)r9rjr/rRrEr\rfs  rtest_andzTestWeakSet.test_andqs^FF,#dkk"22A6)DKK"88!<rc|jj|j}|jD]2}|j	||v||j
vxr||jv4|j	|jt
|j|j	t|t|jt|jjggyr)r9
differencer/r8rRr<rr.r[rMrNrrgr's   rtest_differencezTestWeakSet.test_differencevsFFdkk*	KAQ!VQ$&&[%IQdkk5IJ	K!45a'*)TVV%6%6=rc|jj|j}|j|jt	|jz
||j|jt|jz
|yr)r9rsr/rRrEr\rfs  rtest_subzTestWeakSet.test_sub~s^FFdkk*#dkk"22A6)DKK"88!<rc.|jj|j}|jD]1}|j	||v||j
v||jvz3|j	|jt
|j|j	t|t|jt|jjgg|j	t|t|jt|jz|jjtj|j	t|t|jt|jzyr)r9symmetric_differencer/r8rRr<rr.r[rMrNrSr_r`rarts   rtest_symmetric_differencez%TestWeakSet.test_symmetric_differencesFF''4	IAQ!Va466ka4;;6F%GH	I!45a'*)TVV%@%@2$GQTZZ3t{{3C!CD


QTZZ3t{{3C!CDrc|jj|j}|j|jt	|jz||j|jt|jz|yr)r9ryr/rRrEr\rfs  rtest_xorzTestWeakSet.test_xors^FF''4#dkk"22A6)DKK"88!<rc|j|j|jk|j|j|jk|j|j|jk\|j|j|jk|j|j|jk\|jtdj
d|jtdjd|jtdj
d|jtdjdy)Nr%abccbs)rmr3r4assertFalser5rEissubset
issupersetrs rtest_sub_and_superzTestWeakSet.test_sub_and_supers4+=+==>**d.@.@@A**doo=>++t/?/??@++t/?/??@C))%01E
--c23S**512U..s34rc<|j|j|jk|j|j|jk|j|j|jk|jttkyr)rmr3r4rr5rrs rtest_ltzTestWeakSet.test_ltsn$*<*<<=++d.>.>>?4??:;WY./rc<|j|j|jkD|j|j|jkD|j|j|jkD|jttkDyr)rmr4r3rr5rrs rtest_gtzTestWeakSet.test_gtsn**T__<=++d.>.>>?4??:;WY./rctdtdD}|D]!}||_||_t|g|_#y)Nc30K|]}tywr)r	).0rgs  r	<genexpr>z&TestWeakSet.test_gc.<locals>.<genexpr>s/aCE/si)rrangersubrE)rr9elems   rtest_gczTestWeakSet.test_gcs@/5;//	'DDJDHvDH	'rcGddt}|}t}|j||j|||j	||j||j|y)NceZdZdZy)5TestWeakSet.test_subclass_with_custom_hash.<locals>.Hc0tt|dzS)Ni)intidrs r__hash__z>TestWeakSet.test_subclass_with_custom_hash.<locals>.H.__hash__s2d8j011rN)rrr
rrrrHrs
2rr)rrEaddrGremovediscard)rrr9fs    rtest_subclass_with_custom_hashz*TestWeakSet.test_subclass_with_custom_hashsX	2	2#

%	a

a		a			!rct}|j|j|j||j|j|j
|j|t|j
|j
t|j|d|j
t|jdy)NrLrQ)rrr.rRr9r/rMrN)rr9s  r	test_initzTestWeakSet.test_initsI	

4::DFF#	

4;;GDKK01)QZZA6)QZZ3rct|j}t|}|jt|t|yr)rr.assertNotEqualr)rr9ts   rtest_constructor_identityz%TestWeakSet.test_constructor_identitys1DJJAJBqE2a5)rcN|jtt|jyr)rMrNhashr9rs r	test_hashzTestWeakSet.test_hashs)T4662rc|jj|j|jtg|jt	|jdy)Nr)r9clearrRrrSrs r
test_clearzTestWeakSet.test_clears?-TVVa(rc|jj}|j|j||jt	|jt	|yr)r9copyrRrr)rdups  r	test_copyzTestWeakSet.test_copysAffkkm%BtvvJ30rctd}|jj||j||j|jj	}|jj||j|j||j
t|jjg|jjttj|jt|jdk(|jj|j|jt|jdk(y)NQrQ)r-r9rrGrrRrMrNr>r	rrTrmrSr=)rrrs   rtest_addzTestWeakSet.test_addsI

1


a ffkkm

1
%)TVVZZ4CEDGG)*DHHDGG)*rc4td}|jj||j||j|j	t
|jj||j	t|jjgy)Nr%)r-r9rrWrMKeyErrorrN)rrs  rtest_removezTestWeakSet.test_removescI

aDFF#(DFFMM15)TVV]]B7rc*tdtd}}|jj||j||j|jj||j	t
|jjgy)Nr%r)r-r9rrWrMrN)rr%qs   rtest_discardzTestWeakSet.test_discardsaCy$s)1qDFF#q)TVV^^R8rc
tt|jD]8}|jj}|j	||j:|jt|jjyr)rrSr9r_rWrMr)rrgrs   rtest_popzTestWeakSet.test_pops[s466{#	+A66::<DT466*	+	
(DFFJJ/rc>|jj|j}|j|d|j|jzD]}|j||j |j
t|jjggyr)r9updater/rRr.rGrMrNrretvalr's   rtest_updatezTestWeakSet.test_updatesrt{{+&**t{{*	%AMM!TVV$	%)TVV]]RD9rc|jjt|j|j|jzD]}|j||j yr)r9rrEr/r.rGr?s  rtest_update_setzTestWeakSet.test_update_setsI

c$++&'**t{{*	%AMM!TVV$	%rc|xjt|jzc_|j|jzD]}|j	||j yr)r9rEr/r.rGr?s  rtest_iorzTestWeakSet.test_ior	sG#dkk""**t{{*	%AMM!TVV$	%rc|jj|j}|j|d|j|jzD]W}||jvr+||jvr|j||j<|j
||jY|jt|jjggyr)	r9intersection_updater/rRr.rGrWrMrNrs   rtest_intersection_updatez$TestWeakSet.test_intersection_updates++DKK8&**t{{*	,ADKKAO

a(  DFF+		,
	
)TVV%?%?"Frc:|xjt|jzc_|j|jzD]W}||jvr+||jvr|j	||j<|j||jYyrr9rEr/r.rGrWr?s  r	test_iandzTestWeakSet.test_iandsq#dkk""**t{{*	,ADKKAO

a(  DFF+		,rc|jj|j}|j|d|j|jzD]W}||jvr+||jvr|j||j<|j
||jY|jt|jjgg|jt|jjggyr)
r9difference_updater/rRr.rGrWrMrNsymmetric_difference_updaters   rtest_difference_updatez"TestWeakSet.test_difference_update s))$++6&**t{{*	,ADJJ1DKK#7

a(  DFF+		,
	
)TVV%=%=tD)TVV%G%G"Nrc:|xjt|jzc_|j|jzD]W}||jvr+||jvr|j	||j<|j||jYyrrr?s  r	test_isubzTestWeakSet.test_isub+sq#dkk""**t{{*	,ADJJ1DKK#7

a(  DFF+		,rc|jj|j}|j|d|j|jzD]X}||jv||jvzr|j||j=|j
||jZ|jt|jjggyr)	r9rr/rRr.rGrWrMrNrs   r test_symmetric_difference_updatez,TestWeakSet.test_symmetric_difference_update3s33DKK@&**t{{*	,ATZZA$45

a(  DFF+		,
	
)TVV%G%G"Nrc<|xjt|jzc_|j|jzD]X}||jv||jvzr|j	||j=|j||jZyrrr?s  r	test_ixorzTestWeakSet.test_ixor=st#dkk""**t{{*	,ATZZA$45

a(  DFF+		,rcl|jj}||z}|j||j||z}|j||j||z}|j|t|jj}||z}|j|tyr)r9rrRr)rrs  rtest_inplace_on_selfz TestWeakSet.test_inplace_on_selfEsFFKKM	QDFF#	QDFF#	QGI&FFKKM	QGI&rcp|j|j|jk(|j|jt|jk(|j	|jt|jk(|j	|jt
|jk(|j	|jt|jk(|j	|jttgk(|j	|jdk(y)NrQ)	rmr9rr.rrEr]r^r	rs rtest_eqzTestWeakSet.test_eqQs$&&()'$**"5563tzz?234

#3345#4457C5>121%rc|j|jt|jk7t	}t	}|j||k7yr)rmr9rEr.rr)rs1s2s   rtest_nezTestWeakSet.test_ne[s?#djj/12
Y
Yr"rcndDcgc]
}t|}}t|}t|}t||d=t	j
|j
tt|t|t|dz
g~|jt|t|ycc}w)Nr$rQ)
r-riternextr`rarGrSr]rR)rr'r.r9its     r!test_weak_destroy_while_iteratingz-TestWeakSet.test_weak_destroy_while_iteratingas#22Qa22EN
!WR"I




c$r(mc%j#e*q.%ABQU,3sB2crtjDcgc]
}t|c}ttj
fd}|5}|j
|ddd|5}|jtj|ddd|j
|5}j|ddd|j|j}|5}j|ddd|jtt||5}j!ddd|jtdycc}w#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swY[xYw)Nc3K	t}ttt|}ttj	}||k(rt|tj|d}y#d}wxYwwr)rr-strrr_r`ra)ryieldedrbr.r9s   rtestcontextzMTestWeakSet.test_weak_destroy_and_mutate_while_iterating.<locals>.testcontextusd

!Ws48}-UYY[)*a<H

TsBA2A:7B:A>>Br)r6r7r-r
contextlibcontextmanagerrWrMrrrrGrrrRrSr)rr'rrbrr.r9s     @@r,test_weak_destroy_and_mutate_while_iteratingz8TestWeakSet.test_weak_destroy_and_mutate_while_iteratingqsl"("6"67Qa7EN		"	"	
#	 ]	#aQ"	#
]	5ah!4	5A
]	a
EE!H	

a
FFH
]	a
HHQK	QQ(
]	a
GGI	Q#C8&	#	#	5	5						sAE7E<7"F	:F=F!F-<F	FF!F*-F6cd}t|Dcgc]}t}}t|}~t|}	t	|t
jt|}~t
jt
jt|}|j|d|j|dycc}w#t
$rYwxYw)N)rrQr)rrrrr
StopIterationr`rarSrGrR)rNrgr.r9rn1n2s        rtest_len_cycleszTestWeakSet.test_len_cycless%*1X...EN
!W	H	


V






V

b&!Q!/		sB>C	CCcT|jtjgtjt	ddD]}d}tj
dtj|||t	|Dcgc]}t
}}t|}~t|}	t|t|}~t|}|j|d|j|||j|d|j||ycc}w#t$rYrwxYw)NrQdrr)
addCleanupr`
set_threshold
get_thresholdrrarrrrrrSassertGreaterEqualassertLessEqual)	rthrrgr.r9rrrs	         r
test_len_racezTestWeakSet.test_len_races((>2+;+;+=>3-	)BAJJqMRR().q2AXZ2E2AaB
RQBQB##B*  Q'##B*  R('	)3!

s>D)D	D'&D'cyrrrs r	test_reprzTestWeakSet.test_reprsrc|j|jt|j|jtyr)assertIsInstancer9rrrs rtest_abczTestWeakSet.test_abcs*dffc*dffj1rcttfD]}||j}dg|_dg|_tj
|}|j
|||j|||j|||j|j|j|j|j|j|jt|dtj|}|j
|||j|||j|||j|j|j|j|j|j|j|j|j|j|j|j|jt|dy)Nrr(r)
rrr.rr(rrrRassertIsNotassertIsrhasattrdeepcopy)rclsr9rs    rtest_copyingzTestWeakSet.test_copyingsg,,	0CDJJA%AC%AC))A,C!!#s+S!$S!$MM#%%%MM#%%%WS#./--"C!!#s+S!$S!$SUUACC(SUUACC(SUUACC(SUUACC(WS#./+	0rN)2rrr
r@rJrOrUrXrdrhrkrorqrurwrzr|rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"r"s& =5*-E"=

3F=
>=

E=
	500'5*
3)
1
+890:%
%
G,	O,O,
'&#- #$J ()0120rr"__main__)unittestweakrefrrr6collectionsrr-collections.abcrrr`rtestrr	rrrTestCaser"rmainrrr<module>rs{
*+				g	wE0(##E0PzHMMOr