python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_set.cpython-311.pyc

e7
ddlZddlmZddlmZddlZddlZddlZddlZddl	Z	ddl
mZmZddl
Z
ddlZddlZddlZGddeZdZGdd	ZGd
dZGdd
eZGddZGddeejZGddeZGddeZGddeejZGddeZ GddeZ!GddeZ"GddejZ#Gd d!eZ$Gd"d#e#Z%eZ&Gd$d%Z'Gd&d'e'ejZ(Gd(d)e'ejZ)Gd*d+e'ejZ*Gd,d-e'ejZ+Gd.d/e'ejZ,Gd0d1e'ejZ-Gd2d3e'ejZ.d4Z/d5Z0Gd6d7ejZ1Gd8d9ejZ2Gd:d;ejZ3Gd<d=ejZ4Gd>d?ejZ5Gd@dAZ6GdBdCe6ejZ7GdDdEe6ejZ8GdFdGe6ejZ9GdHdIe6ejZ:GdJdKe6ejZ;GdLdMZ<GdNdOe<ejZ=GdPdQe<ejZ>GdRdSe<ejZ?GdTdUe<ejZ@GdVdWe<ejZAGdXdYe<ejZBGdZd[ZCGd\d]eCejZDGd^d_eCejZEGd`daeCejZFGdbdceCejZGGdddeeCejZHGdfdgejZIdhZJGdidjZKGdkdlZLGdmdnZMGdodpZNGdqdrZOGdsdtZPGdudvZQddwlmRZRdxZSGdydzejZTGd{d|ZUGd}d~ZVGddejZWGddZXGddeXZYGddeYejZZGddeYejZ[GddeYejZ\GddeYejZ]GddeXZ^Gdde^ejZ_Gdde^ejZ`Gdde^ejZaGdde^ejZbGdde^ejZcGdde^ejZddZedZfdZgdZhGddejZiejdkrejkdSdS)N)support)warnings_helper)	randrangeshuffleceZdZdS)PassThruN__name__
__module____qualname__A/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_set.pyrrDrrc#KtN)rr
rrcheck_pass_thrurs
NrceZdZdZdZdS)BadCmpcdSNr
selfs r__hash__zBadCmp.__hash__qrctr)RuntimeErrorrothers  r__eq__z
BadCmp.__eq__srNr
rrrr!r
rrrrs2rrceZdZdZdZdS)ReprWrapperz*Used to test self-referential repr() callsc*t|jSr)reprvaluers r__repr__zReprWrapper.__repr__sDJrN)r
rr__doc__r(r
rrr$r$s)00     rr$ceZdZdZdZdZdS)HashCountingIntzBint-like object that counts the number of times __hash__ is calledcd|_dSNr
hash_count)rargss  r__init__zHashCountingInt.__init__#s
rcV|xjdz
c_t|Sr)r/intrrs rrzHashCountingInt.__hash__%s$1||D!!!rN)r
rrr)r1rr
rrr+r+!s8HH"""""rr+ceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdS)TestJointOpscdx|_}d|_d|_|||_t
||_dS)N
simsalabim
madagascar4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)word	otherwordlettersthetypesdictfromkeysd)rr:s  rsetUpzTestJointOps.setUp,sF''	D%Md##t$$rc|t|jgd|ttjddS)Nra)assertRaises	TypeErrorr=setr1rs rtest_new_or_initzTestJointOps.test_new_or_init3sE)T\2q999)SUU^q99999rc t|j}t|j}||||t
|jt|t|jggdSr)	sortedr>rAassertEqualrGrr=rrH)ractualexpecteds   rtest_uniquificationz TestJointOps.test_uniquification7st$&>>***(DL/2C2CDDD)T\B488888rcz|t|jt|jdSr)rMlenr>rArs rtest_lenzTestJointOps.test_len>s.TVc$&kk22222rc\|jD]&}|||jv||jv'|t
|jjgg|t|jg}|	||j|dSr)
r<rMr>rArGrH__contains__r=	frozensetassertIn)rcr>s   r
test_containszTestJointOps.test_containsAs	7	7AQ$&[!tv+6666)TV%82$???LL)DL11233

dll4<00!44444rc	|j|j}|jD]*}|||v||jvp||jv+||j||j|t||j	|
t|jjt|
t|jjggttt jt$t&t(fD]}||d|dtd||d|dtd||d|dtd||d|dtd	||d|d|d
td|}||tdg|tdg|ddgdS)
NabcbacdcabcdefgfeabcefgccbabcefabceffgrrD)r>unionr;r<rMrAr=r:typebasetyperGrrrHrIrVr?r@strlisttuple)rurXCxs     r
test_unionzTestJointOps.test_unionHsFLL((	I	IAQ!VQ$&[%GA4GHHHHdi!8!8999a$-000(DFL/2C2CDDD)TV\B4888iT5@	[	[AT\\'22885BBCKKPPPT\\'22887DDc(mmTTTT\\'22885BBCJJOOOT\\'22884AA3w<<PPPT\\'22884!!D''JJCPXMMZZZZ
LLNNaS1c1#hh77q!f9M9MNNNNNrcp|j|j}||jt	|jz|||jt|jz|	|j|jz|ddS#t$rYdSwxYw)Nz(s|t did not screen-out general iterables)r>rer;rMrIrVfailrHris  rtest_orzTestJointOps.test_or[sFLL((#dn"5"55q999)DN";";;Q???	BFT^##
II@AAAAA			DD	B''
B54B5c	|j|j}|jD]*}|||v||jvo||jv+||j||j|t||j	|
t|jjttttjt"t$t&fD]}||d|dtd||d|dtd||d|dtd||d|dtd||d|d	|d
td|d}|}|jtkr2|t)|t)|dS|t)|t)|dS)Nr[r\ccr^r`bcrbcbcfbagb)r>intersectionr;r<rMrAr=r:rfrgrGrrrIrVr?r@rhrirjidassertNotEqual)rrrrXrlr>zs      rtest_intersectionzTestJointOps.test_intersectionfsF//	J	JAQ!VQ$&[%HQ$.5HIIIIdi!8!8999a$-000(DF$79J9JKKKiT5@	`	`AT\\'22??%II3t99UUUT\\'22??'

KKSQSWWUUUT\\'22??%II3t99UUUT\\'22??$HH#b''RRRT\\'22??&		11U88TTVYZ]V^V^____LL!!
NN<9;;&&RUUBqEE*****1r!uu-----rc`d}dD]}||}dD]}tttjt
ttfD]_}||}||}|||}|	|||
|dup|du`dS)NcHt||S)z&Pure python equivalent of isdisjoint())rIr|)s1s2s  rfz'TestJointOps.test_isdisjoint.<locals>.f{s2ww++B////r)
rwrFabraababacr\rvr^r`rbTF)r=rIrVr?r@rhrirj
isdisjointrM
assertTrue)	rrlargrrargrlrrNrOs	         rtest_isdisjointzTestJointOps.test_isdisjointzs	0	0	0V	G	GDd##BY
G
GiT5HGGA4B]]2..F qRyyH$$VX666OOFdN$EfoFFFFG
G	G	Grcp|j|j}||jt	|jz|||jt|jz|	|j|jz|ddS#t$rYdSwxYw)Nz(s&t did not screen-out general iterables)r>r|r;rMrIrVrprHrqs  rtest_andzTestJointOps.test_andsF//#dn"5"55q999)DN";";;Q???	BFT^##
II@AAAAA			DD	rtc	H|j|j}|jD]*}|||v||jvo||jv+||j||j|t||j	|
t|jjt|
t|jjggttt jt$t&t(fD]}||d|dtd||d|dtd||d|dtd||d|dtd||dtd||d|d|d	td
dS)Nr[r\rr^rar`rFrbr{rX)r>
differencer;r<rMrAr=r:rfrgrGrrrHrIrVr?r@rhrirjrrrrXrls    rtest_differencezTestJointOps.test_differencesFdn--	N	NAQ!VQ$&[%LQdn5LMMMMdi!8!8999a$-000(DF$57H7HIII)TV%6===iT5@	Y	YAT\\'22==aahhGGTSSST\\'22==aajjII3u::VVVT\\'22==aahhGGSRRRT\\'22==aaggFFE

SSST\\'22==??ULLLT\\'22==aaffaaffMMsSVxxXXXX
	Y	Yrcp|j|j}||jt	|jz
|||jt|jz
|	|j|jz
|ddS#t$rYdSwxYw)Nz(s-t did not screen-out general iterables)r>rr;rMrIrVrprHrqs  rtest_subzTestJointOps.test_subsFdn--#dn"5"55q999)DN";";;Q???	BFT^##
II@AAAAA			DD	rtc|j|j}|jD]+}|||v||jv||jvz,||j||j|t||j	|
t|jjt|
t|jjggttt jt$t&t(fD]K}||d|dtd||d|dtd||d|dtd||d|dtd	MdS)
Nr[r\abdr^r_r`rFrbrc)r>symmetric_differencer;r<rMrAr=r:rfrgrGrrrHrIrVr?r@rhrirjrs    rtest_symmetric_differencez&TestJointOps.test_symmetric_differencesF''77	L	LAQ!Va46ka4>6I%JKKKKdi!8!8999a$-000(DF$?ARARSSS)TV%@2$GGGiT5@	`	`AT\\'22GG%QQSVW\S]S]^^^T\\'22GG'

SSUXYaUbUbcccT\\'22GG%QQSVWZS[S[\\\T\\'22GG$PPRUV]R^R^____		`	`rcp|j|j}||jt	|jz|||jt|jz|	|j|jz|ddS#t$rYdSwxYw)Nz(s^t did not screen-out general iterables)r>rr;rMrIrVrprHrqs  rtest_xorzTestJointOps.test_xorsF''77#dn"5"55q999)DN";";;Q???	BFT^##
II@AAAAA			DD	rtc||jt|j||jt	|j||j|jkd||jt|j||jt	|j||j|jkddSNFT)rMr>rIr:rVr~r;rs r
test_equalityzTestJointOps.test_equalitysTY00049!5!566649,e444DFC$7$7888DFIdn$=$=>>>49,d33333rcttgd}||}|t	|ddS)N)abcdefbcdbdcbfedfedccba)maprVr=rMrR)rtr>s   rtest_setOfFrozensetsz!TestJointOps.test_setOfFrozensetssI	FFFGGLLOOQ#####rct|jgd\}}}|||k|||k|||k|||k|||k|||k|||k|||k|||k|t	dd|t	dd|t	dd|t	dddS)N)rabcdedefrFracbs)rr=rassertFalserIissubset
issuperset)rpqrs    rtest_sub_and_superzTestJointOps.test_sub_and_supersdl$:$:$:;;1aAQQAQQa   Qa   C))%00111E

--c22333S**511222U..s3344444rcttjdzD]5}t|jt
tfvrdg|j_dg|j_tj	|j|}tj
|}||j||jd|t|jt
tfvr||jj|j||jj|j|t|jd|j`|j`7dS)Nrrmr != y)rangepickleHIGHEST_PROTOCOLrfr>rIrVrmrdumpsloadsrMrhasattr)rrrrdups    r
test_picklingzTestJointOps.test_picklingsv.233	'	'ADF||C#33355TVQ''A,q//CTVS*DEEEDF||C#333  35111  35111  !5!5666FHdfh	'	'rcttjdzD]F}t|j}||j}tj||}tj|}||tj
j||||tj|}	t|}n#t$rYwxYwtj||}tj|}||||||fz
HdSr)rrriterr>r=rrassertIsInstancecollectionsraIteratorrMnext
StopIteration)rprotoitorgdatarAitdrops       rtest_iterator_picklingz#TestJointOps.test_iterator_picklingsA62Q677	M	MELLE<<''DUE**AaB
!!"ko&>???T\\"--t444aB
Bxx 



R''AaBT\\"--tdllD76K6K/KLLLL%	M	MsC**
C76C7cGfddd}||g}tj|}|t	|t	||D]}|}|t	|t	|||jdz|jdS)Nc(eZdZdZdZdfd	ZdS)*TestJointOps.test_deepcopy.<locals>.Tracerc||_dSrr')rr's  rr1z3TestJointOps.test_deepcopy.<locals>.Tracer.__init__	s
"


rc|jSrrrs rrz3TestJointOps.test_deepcopy.<locals>.Tracer.__hash__s
z!rNc*|jdzSrr)rmemoTracers  r__deepcopy__z7TestJointOps.test_deepcopy.<locals>.Tracer.__deepcopy__
svdj1n---rr)r
rrr1rr)rsrrrsQ
#
#
#
"
"
"
.
.
.
.
.
.
.
.rr
r)r=copydeepcopyr~r}rMr')rrr>relemnewtrs      @r
test_deepcopyzTestJointOps.test_deepcopys	.	.	.	.	.	.	.	.	.	.
F2JJLL!mABqEE2c77+++		DDDBqEE2d88,,,1dj11111rcGddtfdtdD}|D]%}||_||_t|g|_&dS)NceZdZdS)TestJointOps.test_gc.<locals>.ANr	r
rrArDrrc3,K|]}VdSrr
).0rrrs  r	<genexpr>z'TestJointOps.test_gc.<locals>.<genexpr>s)))))))))r)rIrcyclesub)rr>rrs   @rtest_gczTestJointOps.test_gcs								))))U4[[)))))	#	#DDJDHD6{{DHH	#	#rc0Gdd|j}|}t}|||||||||||dS)NceZdZdZdS)6TestJointOps.test_subclass_with_custom_hash.<locals>.Hc@tt|dzS)Ni)r3r}rs rrz?TestJointOps.test_subclass_with_custom_hash.<locals>.H.__hash__%s2d88j0111rN)r
rrrr
rrHr$s#
2
2
2
2
2rr)r=rIaddrWremovediscard)rrr>rs    rtest_subclass_with_custom_hashz+TestJointOps.test_subclass_with_custom_hash"s	2	2	2	2	2	2	2	2!##

%%	a

a		a			!rcL|tg}|t|jttg|t|jtt|dr|t|jt|t|jt|t|jtdSdS)Nr)	r=rrGrrUrrrrrr>s  rtest_badcmpzTestJointOps.test_badcmp/sLL&(($$,vxx6JKKK,AAA1e	@lAE688<<<lAIvxx@@@lAHfhh?????	@	@rcht}||g}||_|jtkr%|t|ddSt|dd}|t||d|ddS)Nz
{set(...)}(rz({z(...)}))r$r=r'rIrMr&	partition)rwr>names    rtest_cyclical_reprzTestJointOps.test_cyclical_repr:sMMLL!<3T!WWl3333377$$S))!,DT!WWttt&DEEEEErcd}tttt	|}|t
d|D|||}|t
d|D||||t
d|D|t|dr|
||t
d|D|tt|}|t
d|D|tt|}|t
d|D|tt|d	}|t
d
|D|||t|d	dS)Nrc3$K|]}|jVdSrr.rrs  rrz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>G$;;T_;;;;;;rc3$K|]}|jVdSrr.rs  rrz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Irrc3$K|]}|jVdSrr.rs  rrz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Krrsymmetric_difference_updatec3$K|]}|jVdSrr.rs  rrz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Nrrc3$K|]}|jVdSrr.rs  rrz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Prrc3$K|]}|jVdSrr.rs  rrz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Rrr{c3$K|]}|jVdSrr.rs  rrz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Trr)
r?r@rr+rrMsumr=rrrrIrV)rnrAr>d2d3s      rtest_do_not_rehash_dict_keysz)TestJointOps.test_do_not_rehash_dict_keysDsMM#ouQxx8899;;;;;;;Q???LLOO;;;;;;;Q???	Q;;;;;;;Q???1344	-
))!,,,;;;;;;;Q???
]]3q66
"
";;;;;;;Q???
]]9Q<<
(
(;;;;;;;Q???
]]9Q<<
-
-;;;;;;;Q???T]]1c2233333rcGddt}|}tj|}t|dg}t	||_~~t
j||duddS)NceZdZdS)/TestJointOps.test_container_iterator.<locals>.CNr	r
rrrlrYrrrlrzCycle was not collected)	objectweakrefrefrIrrmgccollectr)rrlobjr	containers     rtest_container_iteratorz$TestJointOps.test_container_iteratorWs								acck#aMM	Y


'@AAAAArcFtj|t|jdSr)rcheck_free_after_iteratingrr=rs rtest_free_after_iteratingz&TestJointOps.test_free_after_iteratingcs*4t|DDDDDrN)r
rrrBrJrPrSrYrnrsrrrrrrrrrrrrrrrrrr	rrr
rrr5r5)s%%%:::999333555OOO&	B	B	B...(GGG	B	B	BYYY 	B	B	B```	B	B	B444$$$
555 '''MMM*222"###	@	@	@FFF444&
B
B
BEEEEErr5ceZdZeZeZdZdZdZdZ	dZ
dZdZdZ
d	Zd
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZej e!edddZ"dS)TestSetc|}||j||t	|j||j||t	|j|t|j|d|t|jddS)NrDr)r=r1r:rMrIr;rGrHrs  r	test_initzTestSet.test_initjsLLNN	

49C	NN+++	

4>"""C//000)QZA666)QZ33333rc|td}||}|t|t|dSNrr=rr~r}rr>rs   rtest_constructor_identityz!TestSet.test_constructor_identitysPLLq""LLOOBqEE2a55)))))rc\tgd}hd}|||dS)NrrDrrrDrrIrMrs   rtest_set_literalzTestSet.test_set_literalxs6LLGGArchd}|t|d|}|t|tdS)N>rr)rMrRpoprfr3)rr>stored_values   r test_set_literal_insertion_orderz(TestSet.test_set_literal_insertion_order}sXNNQ###uuwwl++S11111rcgfd}|d|d|dh}|gddS)Nc2|dSr)append)reventss rrecordz9TestSet.test_set_literal_evaluation_order.<locals>.recordsMM#rrrDrr#)rM)rr/r>r.s   @r!test_set_literal_evaluation_orderz)TestSet.test_set_literal_evaluation_orderse					
VAYYq		66!99-+++++rcR|tt|jdSr)rGrHhashr>rs r	test_hashzTestSet.test_hashs")T4622222rc|j||jt|t	|jddSr-)r>clearrMrIrRrs r
test_clearzTestSet.test_clearsQ'''TVa(((((rc(|j}||j||t	|jt	||t||jdSr)r>rrMr~r}rfrgrrs  r	test_copyzTestSet.test_copysqfkkmm%%%BtvJJ3000cDM22222rcX|jd|d|j|j}|jd||j||t|jjgdS)NQ)r>rrWrrMrGrHr8s  rtest_addzTestSet.test_adds

3

c46"""fkkmm

3%%%)TVZ44444rc|jd|d|j|t|jjd|t
|jjg|t|jg}|	||j||||j|||j||t|jj||jdSNrFr;)
r>rassertNotInrGKeyErrorrHr=rVr:rWrs  rtest_removezTestSet.test_removes

cdf%%%(DFM3777)TV]B777LL)DI../00

dll49--q111	di(()))di00!444(DFM4<<	3J3JKKKKKrcdD]k}	|j||2#t$r-}|jd}|||Yd}~dd}~wwxYwdS)N)r;rr)r>rrpr@r0rM)rv1ev2s    rtest_remove_keyerror_unpackingz&TestSet.test_remove_keyerror_unpackings		B


b!!!
			
)
)
)VAY  R((((((((
)		s5
A,#A''A,c	F|ddg}	|j||dS#t$rM}||jd|ud||jdYd}~dSd}~wwxYw)NrrzKeyError should be {0}, not {1})r=r>rrpr@rr0format)rkeyrEs   rtest_remove_keyerror_setz TestSet.test_remove_keyerror_setsllAq6""	FMM#
IIKKKKK	N	N	NOOAF1I,:AA#BC&)MM
N
N
N
N
N
N
N
N
N	NsA		
B ABB c|jd|d|j|jd|t|jjg|t
|jg}|||j||||j|||j||||jdSr>)	r>rr?rGrHr=rVr:rWrs  rtest_discardzTestSet.test_discardssdf%%%s)TV^R888LL)DI../00

dll49--q111			$,,ty))***di00!444			$,,ty))*****rctt|jD]6}|j}|||j7|t|jjdSr)rrRr>r(r?rGr@)rrrrs   rtest_popzTestSet.test_popsks46{{##	+	+A6::<<DT46****(DFJ/////rc
N|j|j}||d|j|jzD]}|||j|t|jjt|t|jjggdD]\}}tttj
ttt fD]l}|d}||||d||t|mdD]}d}tttj
ttt fD]}|d}||||||d||t|t|zt|zdS)N))r\r]r^r_)r`rarbrcr[)r\r^r`rbabcdaahi)r>updater;rMr:rWrGrrrHrIrVr?r@rhrirjr=rretvalrXrrrlr>s       rtest_updatezTestSet.test_updatest~..&&&)dn,	%	%AMM!TV$$$$(DFM?3D3DEEE)TV]RD999[	,	,DAq)T]CuD
,
,LL))  !!A$$666  CFF++++
,8	>	>AA)T]CuD
>
>LL))  !!A$$!!5!5t<<<  CFFSVVOc!ff$<====
>	>	>rc|xjt|jzc_|j|jzD]}|||jdSr)r>rIr;r:rWrrXs  rtest_iorzTestSet.test_iorsW#dn%%%)dn,	%	%AMM!TV$$$$	%	%rc
P|j|j}||d|j|jzD]K}||jvr%||jvr|||j0|||jL|t|jjt|t|jjggdD]8\}}tttjtt t"fD]}|d}||||d||t|d}||}d}||||||d||tdt|zt|z:dS)N))r\rX)r^rw)r`rx)rbrwr[cbc)r>intersection_updater;rMr:rWr?rGrrrHrIrVr?r@rhrirjr=)	rrXrXrrrlr>ssrs	         rtest_intersection_updatez TestSet.test_intersection_updates++DN;;&&&)dn,	,	,ADN""qDI~~

a((((  DF++++(DF$>@Q@QRRR)TV%?"FFFL		@		@DAq)T]CuD
@
@LL))  !6!6qqtt!<!<dCCC  CFF+++LL$$  !6!6qqttQQqTT!B!BDIII  CLLQ$7A$>????
@		@		@rc|xjt|jzc_|j|jzD]K}||jvr%||jvr|||j0|||jLdSrr>rIr;r:rWr?r[s  r	test_iandzTestSet.test_iands#dn%%%)dn,	,	,ADN""qDI~~

a((((  DF++++		,	,rc	|j|j}||d|j|jzD]K}||jvr%||jvr|||j0|||jL|t|jjt|t|jjgg|t|jjggdD]\}}tttjt t"t$fD]}|d}||||d||t||d}||||d|d}||d|||d|d}||d|d|||ddS)N))r\r)r^rar`rF)rbrar[
abcdefghihabacdefghihr\efghih)r>difference_updater;rMr:rWr?rGrrrHrrIrVr?r@rhrirjr=rWs       rtest_difference_updatezTestSet.test_difference_update	s|))$.99&&&)dn,	,	,ADI~~!4>"9"9

a((((  DF++++(DF$<o>O>OPPP)TV%=tDDD)TV%G"NNNR	<	<DAq)T]CuD
<
<LL))  !4!4QQqTT!:!:DAAA  CFF+++LL..##%%%  DLL$>$>???LL..##AAeHH---  DLL$<$<===LL..##AAeHHaahh777  DLL$:$:;;;;
<	<	<rc|xjt|jzc_|j|jzD]K}||jvr%||jvr|||j0|||jLdSrrcr[s  r	test_isubzTestSet.test_isub&s#dn%%%)dn,	,	,ADI~~!4>"9"9

a((((  DF++++		,	,rc	|j|j}||d|j|jzD]L}||jv||jvzr|||j1|||jM|t|jjt|t|jjggdD]\}}tttjtt t"fD]l}|d}||||d||t|mdS)N))r\rrRrfrSr[)r>rr;rMr:rWr?rGrrrHrIrVr?r@rhrirjr=rWs       r test_symmetric_difference_updatez(TestSet.test_symmetric_difference_update.ss33DNCC&&&)dn,	,	,ATY1#67
,

a((((  DF++++(DF$FHYHYZZZ)TV%G"NNNX	,	,DAq)T]CuD
,
,LL))  !>!>qqtt!D!DdKKK  CFF++++
,	,	,rc|xjt|jzc_|j|jzD]L}||jv||jvzr|||j1|||jMdSrrcr[s  r	test_ixorzTestSet.test_ixor>s#dn%%%)dn,	,	,ATY1#67
,

a((((  DF++++		,	,rc|j}||z}|||j||z}|||j||z}||||j}||z}|||dSr)r>rrMr=)rrs  rtest_inplace_on_selfzTestSet.test_inplace_on_selfFsFKKMM	QDF###	QDF###	QDLLNN+++FKKMM	QDLLNN+++++rc$|d}tj|}|t	|t	|d}tj|tt|dS)Ngallahad)	r=rproxyrMrhr
gc_collectrGReferenceError)rr>rs   rtest_weakrefzTestSet.test_weakrefRsvLL$$M!QQ(((.#q11111rcxGdd}hd}|}||k||j|}||k||j|}||k||j|}||k||jdS)Nc&eZdZdZdZdZdZdS)5TestSet.test_rich_compare.<locals>.TestRichSetComparecd|_dSNTF)	gt_calledrsome_sets  r__gt__z<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__gt__\!%urcd|_dSr)	lt_calledrs  r__lt__z<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__lt___rrcd|_dSr)	ge_calledrs  r__ge__z<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__ge__brrcd|_dSr)	le_calledrs  r__le__z<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__le__errN)r
rrrrrrr
rrTestRichSetComparer}[sP













rrr$)rrrrr)rrmysetmyobjs    rtest_rich_comparezTestSet.test_rich_compareZs								"		""$$


(((""$$


(((""$$
(((""$$
(((((r
test_c_apiz*C API test only available in a debug buildcn|tddSNT)rMrIrrs rrzTestSet.test_c_api~s0	
))++T22222rN)#r
rrrIr=rgrr r&r*r0r3r6r9r<rArGrLrNrPrYr\rardrlrnrprrrtrzrunittest
skipUnlessrrr
rrrrfsGH444***

222,,,333)))
333555	L	L	L							+	+	+000>>>&%%%
@@@*,,,<<<:,,,,,, ,,,
,
,
,222")")")HXl33EGG33GG333rrceZdZdS)SetSubclassNr	r
rrrrrrrceZdZeZeZdZdS)TestSetSubclasscGddt}|ddg}|t|||t|ddh|t
5|ddddn#1swxYwYGddt}|ddgd	
}|t|||t|ddh||jd	Gddt}|ddg}|t|||t|ddh||j|t
5|ddgd	
ddddS#1swxYwYdS)
NceZdZdS);TestSetSubclass.test_keywords_in_subclass.<locals>.subclassNr	r
rrsubclassrrrrrrDr
sequencec eZdZdfd	ZxZS)ETestSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_initNcXt|||_dSr)superr1newarg)rargr	__class__s   rr1zNTestSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_init.__init__s&  %%%$rr)r
rrr1
__classcell__rs@rsubclass_with_initrs=
%
%
%
%
%
%
%
%
%
%rrrrc eZdZdfd	ZxZS)DTestSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_newNcZt||}||_|Srr__new__rclsrrrrs    rrzLTestSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_new.__new__&wwsC00$rrr
rrrrrs@rsubclass_with_newr=









rr)rIassertIsrfrMrGrHrassertIsNonerrrkrrs     rtest_keywords_in_subclassz)TestSetSubclass.test_keywords_in_subclasss					s			HaV

d1ggx(((Q!Q(((


y
)
)	"	"Hb!!!!	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	%	%	%	%	%	%	%	%
1va000

d1gg1222Q!Q(((1%%%								

q!f%%

d1gg0111Q!Q(((!(###


y
)
)	0	0q!fQ////	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0s$
BB #B G%%G),G)N)r
rrrr=rIrgrr
rrrrs-GH00000rrc@eZdZeZeZdZdZdZdZ	dZ
dZdZdS)	
TestFrozenSetc||j}||j||t|jdSr)r=r:r1r;rMrIrs  rrzTestFrozenSet.test_initsMLL##	

4>"""C	NN+++++rc|td}||}|t|t|dSr)r=rrMr}rs   rr z'TestFrozenSet.test_constructor_identitysPLLq""LLOOA1&&&&&rc|t|dt|ddfdtD}t	}tdD]F}t||t||G|t|ddS)Nabcdebebecdadc.g|]}tSr
r)rrrrs  r
<listcomp>z+TestFrozenSet.test_hash.<locals>.<listcomp>s...y||...rr)rMr2r=rrIrrrR)rseqresultsrrrs    @rr3zTestFrozenSet.test_hashsdll84455dll84455	7	7	7
....U1XX...%%s	1	1ACLLLKKT\\#..//0000Wq)))))rc|j}|t|jt|dSr)r>rrMr}r8s  rr9zTestFrozenSet.test_copys;fkkmmDFRWW-----rcttdtdzdgz}||}|t|}||||t
|t
|i}d||<|||ddS)Nrabcdefgapple*)rirr=reversedrMr~r})rrkey1key2rAs     rtest_frozen_as_dictkeyz$TestFrozenSet.test_frozen_as_dictkeys599ooY/7);||C  ||HSMM**t$$$BtHHbhh///$4"%%%%%rc|d}|t|t|dS)Nabcdcda)r=rMr2rrs  rtest_hash_cachingzTestFrozenSet.test_hash_cachings;LL##a$q''*****rc
P
d}t}|j}dt|D}td|zD]3
|tt	
fd|D4|t
|d|zd}d}tdD]q}d|z}|dz
t|fD][}t
fd	tt|||D}	|d
|	z|\rdS)N
c"g|]}|dzd|zf
SrCr
rrrs  rrz9TestFrozenSet.test_hash_effectiveness.<locals>.<listcomp>s$333Qac1a4[333rrDc$g|]\}}|z
|
Sr
r
)rrEmrrs   rrz9TestFrozenSet.test_hash_effectiveness.<locals>.<listcomp>s&(H(H(Htq!AaC(H(H(H(Hrctg}t|dz
D]&}t|}||'|d|Sr)rVrr-)rnumsrrnums    rzf_rangez7TestFrozenSet.test_hash_effectiveness.<locals>.zf_rangesSKK=D1Q3ZZ
!
!ooC    8Orc3Ktt|dzD]0}ttt	j||Ed{V1dSr)rrRrrV	itertoolscombinations)r>rrs  rpowersetz7TestFrozenSet.test_hash_effectiveness.<locals>.powersetse3q66!8__
H
Hy)*@A*F*FGGGGGGGGGG
H
Hrrch|]}|zSr
r
)rhmasks  r	<setcomp>z8TestFrozenSet.test_hash_effectiveness.<locals>.<setcomp>sHHHaTHHHrrI)	rIrrr2rVrMrRr
assertGreater)rr
hashvaluesaddhashvalue	elemmasksrrrrrkrrrs          @@rtest_hash_effectivenessz%TestFrozenSet.test_hash_effectivenesssmUU
!~33%((333	q!t	L	LALi(H(H(H(Hy(H(H(HIIJJKKKKZ!Q$///				H	H	Hr	+	+AQAq5D)
+
+HHHH3tXXdd1gg5F5F+G+GHHHII""1Q3****
+	+	+rN)
r
rrrVr=rgrr r3r9rrrr
rrrrsGH,,,
'''
***...&&&++++++++rrceZdZdS)FrozenSetSubclassNr	r
rrrrrrrc4eZdZeZeZdZdZdZ	dZ
dZdS)TestFrozenSetSubclasscfGddt}|ddg}|t|||t	|ddh|t5|ddddn#1swxYwYGddt}|ddgd	
}|t|||t	|ddh||jd	Gddt}|ddgd	
}|t|||t	|ddh||jd	dS)
NceZdZdS)ATestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclassNr	r
rrrrrrrrrDr
rceZdZddZdS)KTestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_initNc||_dSrr)rrrs   rr1zTTestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_init.__init__s
$rr)r
rrr1r
rrrrs(
%
%
%
%
%
%rrrrc eZdZdfd	ZxZS)JTestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_newNcZt||}||_|Srrrs    rrzRTestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_new.__new__rrrrrs@rrrrrr)rVrrfrMrIrGrHrrs     rrz/TestFrozenSetSubclass.test_keywords_in_subclasss+					y			HaV

d1ggx(((Q!Q(((


y
)
)	"	"Hb!!!!	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	%	%	%	%	%	%	%	%
1va000

d1gg1222Q!Q(((1%%%									

q!fQ///

d1gg0111Q!Q(((1%%%%%s
BB #B c|td}||}|t|t|dSrrrs   rr z/TestFrozenSetSubclass.test_constructor_identityr!rc|j}|t|jt|dSr)r>rr~r}r8s  rr9zTestFrozenSetSubclass.test_copys;fkkmmBtvJJ300000rc|}||}|||dSr)r=rMrs   rtest_nested_empty_constructorz3TestFrozenSetSubclass.test_nested_empty_constructors:LLNNLLOOArc.|j}t}|}||g|d|d||g|d|d|td|||t||||||g}|t	tt
t|t	|dS)Nr
rwr)r=rVrrMrRrIrr})r	FrozensetrFefss     rtest_singleton_empty_frozensetz4TestFrozenSetSubclass.test_singleton_empty_frozenset#sL	KKIKKy{{IIbMM99R==))B--y{{IIbMM99R==))B--yq""IIiikk$:$:y%%q!YYq\\99Q<<I
	
SR..//S:::::rN)r
rrrr=rVrgrr r9rrr
rrrrsiGH&&&6***
111
	;	;	;	;	;rrceZdZdZdS)SetSubclassWithSlotsrmr__dict__Nr
rr	__slots__r
rrrr/&IIIrrc.eZdZeZejZejZdS)TestSetSubclassWithSlotsN)r
rrrr=r5rBrr
rrrr2s#"GE .MMMrrceZdZdZdS)FrozenSetSubclassWithSlotsrNrr
rrrr7r
rrceZdZeZdS)TestFrozenSetSubclassWithSlotsN)r
rrrr=r
rrrr:s(GGGrrceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdS)TestBasicOpscr|j/|t|j|jdSdSr)r&rMrIrs r	test_reprzTestBasicOps.test_reprEs89 T$(^^TY77777! rct|j}||d||d|ddd}|d|jD}||||dS)N{}rz, c,g|]}t|Sr
)r&)rr's  rrz:TestBasicOps.check_repr_against_values.<locals>.<listcomp>PsCCCed5kkCCCr)	r&rIr
startswithendswithsplitsortvaluesrM)rtextresultsorted_repr_valuess    rcheck_repr_against_valuesz&TestBasicOps.check_repr_against_valuesIsDH~~,,---

c**+++ad!!$''


CCt{CCC!!!!344444rc`|t|j|jdSr)rMrRrIlengthrs rtest_lengthzTestBasicOps.test_lengthTs(TX44444rcF||j|jdSrrMrIrs rtest_self_equalityzTestBasicOps.test_self_equalityW"48,,,,,rcF||j|jdSr)rMrIrrs rtest_equivalent_equalityz%TestBasicOps.test_equivalent_equalityZr)rcj||j|jdSr)rMrIrrrs rr9zTestBasicOps.test_copy]s*$(33333rcZ|j|jz}|||jdSrrIrMrrr s  rtest_self_unionzTestBasicOps.test_self_union`.DH$*****rcZ|jtz}|||jdSrrI	empty_setrMrr/s  rtest_empty_unionzTestBasicOps.test_empty_uniond,I%*****rcZt|jz}|||jdSr)r4rIrMrr/s  rtest_union_emptyzTestBasicOps.test_union_emptyhs,TX%*****rcZ|j|jz}|||jdSrr.r/s  rtest_self_intersectionz#TestBasicOps.test_self_intersectionlr1rcZ|jtz}||tdSrrIr4rMr/s  rtest_empty_intersectionz$TestBasicOps.test_empty_intersectionps*I%+++++rcZt|jz}||tdSrr4rIrMr/s  rtest_intersection_emptyz$TestBasicOps.test_intersection_emptyt*TX%+++++rc||j|j}|||jdSrrIrrMr/s  rtest_self_isdisjointz!TestBasicOps.test_self_isdisjointxs9$$TX..TX.....rcp|jt}||ddSr)rIrr4rMr/s  rtest_empty_isdisjointz"TestBasicOps.test_empty_isdisjoint|s3$$Y//&&&&&rcpt|j}||ddSr)r4rrIrMr/s  rtest_isdisjoint_emptyz"TestBasicOps.test_isdisjoint_emptys3%%dh//&&&&&rcZ|j|jz}||tdSrrIrMr4r/s  rtest_self_symmetric_differencez+TestBasicOps.test_self_symmetric_difference,DH$+++++rcZ|jtz}|||jdSrr<r/s  rtest_empty_symmetric_differencez,TestBasicOps.test_empty_symmetric_differencer6rcZ|j|jz
}||tdSrrJr/s  rtest_self_differencez!TestBasicOps.test_self_differencerLrcZ|jtz
}|||jdSrr3r/s  rtest_empty_differencez"TestBasicOps.test_empty_differencer6rcZt|jz
}||tdSrr?r/s  rtest_empty_difference_revz&TestBasicOps.test_empty_difference_revrArc|jD]}|||jt|j}||t
|jdSr)rIrWrrrM__length_hint__rR)rvsetiters   rtest_iterationzTestBasicOps.test_iterationsi	*	*AMM!T[))))tx..0022CMMBBBBBrcttjdzD]V}tj|j|}tj|}||j||jd|WdS)Nrr)rrrrrIrrM)rrrrs    rrzTestBasicOps.test_picklings~62Q677	<	<ETXu--A<??DTXt+/888TT:
<
<
<
<	<	<rcT|t5tddddn#1swxYwY|t5tdddddS#1swxYwYdS)Nr)rGrHrIrrkrs rtest_issue_37219zTestBasicOps.test_issue_37219s


y
)
)	"	"EES!!!	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"


y
)
)	)	)EE##C(((	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)s#"A		A
A
."BB!$B!N)r
rrrr"r%r(r+r9r0r5r8r:r=r@rDrFrHrKrNrPrRrTrYrr\r
rrrrCsp888	5	5	5555------444++++++++++++,,,,,,///'''''',,,+++,,,+++,,,CCC<<<)))))rrceZdZdZdS)TestBasicOpsEmptycd|_g|_t|j|_t|j|_d|_d|_dS)Nz	empty setrzset()caserrIrr$r&rs rrBzTestBasicOpsEmpty.setUpsD!	$+&&$+&&			rNr
rrrBr
rrr^r^s#rr^c eZdZdZdZdZdS)TestBasicOpsSingletoncd|_dg|_t|j|_t|j|_d|_d|_dS)Nzunit set (number)rrz{3}r`rs rrBzTestBasicOpsSingleton.setUpsF)	c$+&&$+&&			rc<|d|jdSrrWrIrs rtest_inzTestBasicOpsSingleton.test_ins

a"""""rc<|d|jdSNrDr?rIrs rtest_not_inz!TestBasicOpsSingleton.test_not_in DH%%%%%rNr
rrrBrhrlr
rrrdrdsA###&&&&&rrdc eZdZdZdZdZdS)TestBasicOpsTuplecd|_dg|_t|j|_t|j|_d|_d|_dS)Nzunit set (tuple)rzerorz
{(0, 'zero')}r`rs rrBzTestBasicOpsTuple.setUpsF(	"m$+&&$+&&%			rc<|d|jdS)Nrrrgrs rrhzTestBasicOpsTuple.test_ins

k48,,,,,rc<|d|jdS)N	rkrs rrlzTestBasicOpsTuple.test_not_inrmrNrnr
rrrprpsA&&&---&&&&&rrpceZdZdZdS)TestBasicOpsTriplecd|_ddtjg|_t	|j|_t	|j|_d|_d|_dS)Nz
triple setrrsr)raoperatorrrrIrr$r&rs rrBzTestBasicOpsTriple.setUpsM"	&(,/$+&&$+&&			rNrbr
rrrxrxs#rrxceZdZdZdZdS)TestBasicOpsStringcd|_gd|_t|j|_t|j|_d|_dS)Nz
string setrFr{rXrrarrIrr$rs rrBzTestBasicOpsString.setUpsA"	%oo$+&&$+&&rc.|dSrr"rs rrzTestBasicOpsString.test_repr&&(((((rNr
rrrBrr
rrr|r|2)))))rr|ceZdZdZdZdS)TestBasicOpsBytescd|_gd|_t|j|_t|j|_d|_dS)Nz	bytes set)abcrrrs rrBzTestBasicOpsBytes.setUpsC!	((($+&&$+&&rc.|dSrrrs rrzTestBasicOpsBytes.test_reprrrNrr
rrrrrrrceZdZdZdZdS)TestBasicOpsMixedStringBytesc|tjtjdt
d|_gd|_t|j|_t|j|_	d|_
dS)Nignorezstring and bytes set)rFr{rrrI)enterContextrcheck_warningswarningssimplefilterBytesWarningrarrIrr$rs rrBz"TestBasicOpsMixedStringBytes.setUpss/8::;;;h555,	,,,$+&&$+&&rc.|dSrrrs rrz&TestBasicOpsMixedStringBytes.test_repr	rrNrr
rrrrs2)))))rrc#Ktr)rHr
rrbaditerrs
Orc#KdVdSrr
r
rrgooditerrs
JJJJJrc$eZdZdZdZdZdZdS)TestExceptionPropagationz?SF 628246:  Set constructor should not trap iterator TypeErrorsc`|tttdSr)rGrHrIrrs rtest_instanceWithExceptionz3TestExceptionPropagation.test_instanceWithExceptions$)S'))44444rctgdtdtddddttdtdttdS)Nr#rrDr)onetwothreera)rIrrrs rtest_instancesWithoutExceptionz7TestExceptionPropagation.test_instancesWithoutExceptionscGGGG1Aq))***E!HH


E


HJJrctgd}	|D]}|dg	|ddS#t$rYdSwxYw)Nr#rIz0no exception when changing size during iteration)rIrVrpr)rr>rrs   rtest_changingSizeWhileIteratingz8TestExceptionPropagation.test_changingSizeWhileIterating$s}LL	J

!






IIHIIIII			DD	sA
AAN)r
rrr)rrrr
rrrrsLII555JJJJJrrceZdZdZdS)
TestSetOfSetsctdg}t|g}|}|t	|t||||||t||dSr)rVrIr(rMrfrrr)rinnerouterelements    rtest_constructorzTestSetOfSets.test_constructor1s1#UG))++g	222
		%
U&&&


erN)r
rrrr
rrrr0s#rrczeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdS)
TestBinaryOpsc.td|_dSNrDrIrIrs rrBzTestBinaryOps.setUp>y>>rc	^||jtdddddS)Nrrrr'rs rtest_eqzTestBinaryOps.test_eqAs03!a!}}#5#566666rc||jtdgz}||tddSNrDrr%r/s  rtest_union_subsetzTestBinaryOps.test_union_subsetDs8CHH$Y00000rc|jtgdz}||tgddSNrDrIrr%r/s  rtest_union_supersetz!TestBinaryOps.test_union_supersetHsBC---\\\!2!233333rc|jtgdz}||tgddSNrrIr)rDrrIrrr%r/s  rtest_union_overlapz TestBinaryOps.test_union_overlapLs@C			NN*___!5!566666rc|jtdgz}||tgddSNrrr%r/s  rtest_union_non_overlapz$TestBinaryOps.test_union_non_overlapP>CHH$\\\!2!233333rcz|jtdz}||tddSNrDrIr%r/s  rtest_intersection_subsetz&TestBinaryOps.test_intersection_subsetTs6CKK'V-----rc|jtgdz}||tgddSNrrr%r/s  rtest_intersection_supersetz(TestBinaryOps.test_intersection_supersetXs@C---YYY00000rc|jtgdz}||tdgdSNrrIr%r/s  rtest_intersection_overlapz'TestBinaryOps.test_intersection_overlap\s<C			NN*aS*****rcl|jtdgz}||tdSNrrJr/s  rtest_intersection_non_overlapz+TestBinaryOps.test_intersection_non_overlap`s2CHH$+++++rc|jtd}||ddS)NrFrCr/s  rtest_isdisjoint_subsetz$TestBinaryOps.test_isdisjoint_subsetds9$$S[[11'''''rc|jtgd}||ddS)NrFrCr/s  rtest_isdisjoint_supersetz&TestBinaryOps.test_isdisjoint_superseths?$$S%6%677'''''rc|jtgd}||ddS)NrFrCr/s  rtest_isdisjoint_overlapz%TestBinaryOps.test_isdisjoint_overlapls=$$S^^44'''''rc|jtdg}||ddS)NrTrCr/s  rtest_isdisjoint_non_overlapz)TestBinaryOps.test_isdisjoint_non_overlapps;$$S!XX..&&&&&rc||jtdz}||tdgdSNrrr%r/s  rtest_sym_difference_subsetz(TestBinaryOps.test_sym_difference_subsetts8CKK'aS*****rc||jtdz}||tdgdSNrrr%r/s  rtest_sym_difference_supersetz*TestBinaryOps.test_sym_difference_supersetxs:C---aS*****rc~|jtdz}||tgddSNr)rDrrrr%r/s  rtest_sym_difference_overlapz)TestBinaryOps.test_sym_difference_overlap|s<C	NN*\\\!2!233333rc|jtdgz}||tgddSrr%r/s  rtest_sym_difference_non_overlapz-TestBinaryOps.test_sym_difference_non_overlaprrN)r
rrrBrrrrrrrrrrrrrrrrrr
rrrr=s""""777111444777444...111+++,,,((((((((('''++++++44444444rrceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdS)
TestUpdateOpsc.td|_dSrrrs rrBzTestUpdateOps.setUprrc|xjtdgzc_||jtddSrr%rs rrzTestUpdateOps.test_union_subsets>CHH3y>>22222rc|xjtgdzc_||jtgddSrr%rs rrz!TestUpdateOps.test_union_supersetsHC%%%3|||#4#455555rc|xjtgdzc_||jtgddSrr%rs rrz TestUpdateOps.test_union_overlapsFC			NN"3#7#788888rc|xjtdgzc_||jtgddSrr%rs rrz$TestUpdateOps.test_union_non_overlapDCHH3|||#4#455555rc|jtgd||jtgddSr)rIrVrMrs rtest_union_method_callz$TestUpdateOps.test_union_method_callsJIII'''3#7#788888rc|xjtdzc_||jtddSrr%rs rrz&TestUpdateOps.test_intersection_subsets<CKK3v;;/////rc|xjtgdzc_||jtgddSrr%rs rrz(TestUpdateOps.test_intersection_supersetsFC%%%3yyy>>22222rc|xjtgdzc_||jtdgdSrr%rs rrz'TestUpdateOps.test_intersection_overlapsBC			NN"3s88,,,,,rc|xjtdgzc_||jtdSrrJrs rrz+TestUpdateOps.test_intersection_non_overlaps8CHH9-----rc|jtgd||jtdgdSr)rIr_rMrs rtest_intersection_method_callz+TestUpdateOps.test_intersection_method_callsH$$S^^4443s88,,,,,rc|xjtdzc_||jtdgdSrr%rs rrz(TestUpdateOps.test_sym_difference_subset>CKK3s88,,,,,rc|xjtdzc_||jtdgdSrr%rs rrz*TestUpdateOps.test_sym_difference_supersets@C%%%3s88,,,,,rc|xjtdzc_||jtgddSrr%rs rrz)TestUpdateOps.test_sym_difference_overlapsBC	NN"3|||#4#455555rc|xjtdgzc_||jtgddSrr%rs rrz-TestUpdateOps.test_sym_difference_non_overlaprrc|jtgd||jtgddSr)rIrrMrs rtest_sym_difference_method_callz-TestUpdateOps.test_sym_difference_method_callsL,,S^^<<<3|||#4#455555rc|xjtdzc_||jtdgdSrr%rs rtest_difference_subsetz$TestUpdateOps.test_difference_subsetrrc|xjtdzc_||jtgdSrr%rs rtest_difference_supersetz&TestUpdateOps.test_difference_supersets>C%%%3r77+++++rc|xjtdzc_||jtddgdSNrrDrr%rs rtest_difference_overlapz%TestUpdateOps.test_difference_overlaps@C	NN"31v;;/////rc|xjtdgzc_||jtgddS)Nrrr%rs rtest_difference_non_overlapz)TestUpdateOps.test_difference_non_overlapsBCHH3yyy>>22222rc|jtgd||jtddgdSr)rIrkrMrs rtest_difference_method_callz)TestUpdateOps.test_difference_method_callsJ""3yyy>>22231v;;/////rN)r
rrrBrrrrrrrrrrrrrrrrrrrrr
rrrrsO"""333666999666999000333---...---------666666666---,,,00033300000rrcbeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdS)
TestMutatecJgd|_t|j|_dS)Nr~)rrIrs rrBzTestMutate.setUps"%oot{##rc|jd||jtddS)NrXrarIrrMrs rtest_add_presentzTestMutate.test_add_presents:S3u::.....rc|jd||jtddS)NrAr]r
rs rtest_add_absentzTestMutate.test_add_absents:S3v;;/////rct}d}|jD]?}|||dz
}|t	||@|||jdS)Nrr)rIrrrMrR)rtmpexpected_lenrWs    rtest_add_until_fullzTestMutate.test_add_until_fullswee	5	5AGGAJJJALSXX|4444dh'''''rc|jd||jtddS)Nr{ac)rIrrMrs rtest_remove_presentzTestMutate.test_remove_presents:3t99-----rc	|jd|ddS#t$rYdSwxYw)NrAz7Removing missing element should have raised LookupError)rIrrpLookupErrorrs rtest_remove_absentzTestMutate.test_remove_absentsV	HOOC   IIOPPPPP			DD	s/3
AAct|j}|jD]I}|j||dz}|t|j|JdSr)rRrIrrrM)rrrWs   rtest_remove_until_emptyz"TestMutate.test_remove_until_emptysi48}}	:	:AHOOAALS]]L9999	:	:rc|jd||jtddS)NrXrrIrrMrs rtest_discard_presentzTestMutate.test_discard_presents<3t99-----rc|jd||jtddS)NrArarrs rtest_discard_absentzTestMutate.test_discard_absents<3u::.....rc|j|t|jddSr-)rIr5rMrRrs rr6zTestMutate.test_clears8TX*****rci}|jr#d||j<|j#|t|t|j|jD]}|||dSr)rIr(rMrRrrW)rpoppedrWs   rrPzTestMutate.test_popsh	*%)F48<<>>"h	*Vc$+&6&6777	%	%AMM!V$$$$	%	%rc|jd||jt|jdS)Nr
rIrVrMrrs rtest_update_empty_tuplez"TestMutate.test_update_empty_tuples>3t{#3#344444rc|jd||jt|jdS)NrEr&rs rtest_update_unit_tuple_overlapz)TestMutate.test_update_unit_tuple_overlaps>3t{#3#344444rc|jd||jt|jdgzdS)N)rFrrr&rs r"test_update_unit_tuple_non_overlapz-TestMutate.test_update_unit_tuple_non_overlap sE
###3t{cU':#;#;<<<<<rN)r
rrrBrrrrrrrr!r6rPr'r)r+r
rrr
r
s$$$///000(((...:::...///+++%%%555555=====rr
c0eZdZdddZdddddd	d
ZdZdS)
TestSubsetsrr)<=>===!=><r/r.)r0r1r3r2r.r/c|j}|j}dD],}||jv}td|zdzt	}||||tjvrAt|tj|}||}|||tj	|}td|zdzt	}||||tjvrAt|tj|}||}|||.dS)N)r1r0r3r.r2r/rmr)
leftrightcasesevallocalsrMr-case2methodgetattrreverse)rrmrrarOr methodrcases        r
test_issubsetzTestSubsets.test_issubset4s9IJ4	3	3Dtz)H#*s*FHH55FVX...{... K$;D$ABB  222 '-E#++VXX66FVX.../// K$;E$BCC  222%	3	3rN)r
rrr:r<r?r
rrr-r-&sU#%KG33333rr-c>eZdZeZeZdZdZdS)TestSubsetEqualEmptyz
both emptyr0r.r/Nr
rrrIr5r6rr7r
rrrArALs.CEEDCEEEDEEErrAcJeZdZeddgZeddgZdZdZdS)TestSubsetEqualNonEmptyrrDz
equal pairrBNrCr
rrrErETs:CAKKDCAKKEDEEErrEcDeZdZeZeddgZdZdZdS)TestSubsetEmptyNonEmptyrrDzone empty, one non-emptyr1r3r.NrCr
rrrGrG\s4CEEDCAKKE&DEEErrGcHeZdZedgZeddgZdZdZdS)TestSubsetPartialrrDz&one a non-empty proper subset of otherrHNrCr
rrrJrJds8CHHDCAKKE4DEEErrJcFeZdZedgZedgZdZdZdS)TestSubsetNonOverlaprrDzneither empty, neither containsr1NrCr
rrrLrLls6CHHDCHHE-DEEErrLcbeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdS)TestOnlySetsInBinaryOpsc&||j|jkd||j|jkd||j|jkd||j|jkddSr)rMr rIrs r
test_eq_nez"TestOnlySetsInBinaryOps.test_eq_nevstx/777TZ/777tx/666TZ/66666rctfdtfdtfdtfdtfdtfdtfdtfddS)	Nc$jjkSrrIr rsr<lambda>z:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>~TX
-Brc$jjkSrrSrsrrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>TX-Crc$jjkSrrSrsrrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>rUrc$jjkSrrSrsrrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>rWrc$jjkSrr rIrsrrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>TZ$(-Brc$jjkSrr[rsrrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>TZ48-Crc$jjkSrr[rsrrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>r\rc$jjkSrr[rsrrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>r^r)rGrHrs`rtest_ge_gt_le_ltz(TestOnlySetsInBinaryOps.test_ge_gt_le_lt}s	)%B%B%B%BCCC)%C%C%C%CDDD)%B%B%B%BCCC)%C%C%C%CDDD)%B%B%B%BCCC)%C%C%C%CDDD)%B%B%B%BCCC)%C%C%C%CDDDDDrc~	|xj|jzc_|ddS#t$rYdSwxYwNzexpected TypeErrorrIr rprHrs rtest_update_operatorz,TestOnlySetsInBinaryOps.test_update_operatorX	,HH
"HH
II*+++++			DD	.
<<c|jr!|j|jdS|t
|jj|jdSr)otherIsIterablerIrVr rGrHrs rrYz#TestOnlySetsInBinaryOps.test_updatesN	FHOODJ'''''i$*EEEEErc&tfdtfdjr!jjdStjjjdS)Nc"jjzSrrSrsrrTz4TestOnlySetsInBinaryOps.test_union.<locals>.<lambda>TX
-Brc"jjzSrr[rsrrTz4TestOnlySetsInBinaryOps.test_union.<locals>.<lambda>TZ$(-Br)rGrHrirIrer rs`rrnz"TestOnlySetsInBinaryOps.test_unions)%B%B%B%BCCC)%B%B%B%BCCC	EHNN4:&&&&&iDDDDDrc~	|xj|jzc_|ddS#t$rYdSwxYwrcrdrs r!test_intersection_update_operatorz9TestOnlySetsInBinaryOps.test_intersection_update_operatorrfrgc|jr!|j|jdS|t
|jj|jdSr)rirIr_r rGrHrs rraz0TestOnlySetsInBinaryOps.test_intersection_updates\	*H((44444i"h:"j
*
*
*
*
*rc&tfdtfdjr!jjdStjjjdS)Nc"jjzSrrSrsrrTz;TestOnlySetsInBinaryOps.test_intersection.<locals>.<lambda>rlrc"jjzSrr[rsrrTz;TestOnlySetsInBinaryOps.test_intersection.<locals>.<lambda>rnr)rGrHrirIr|r rs`rrz)TestOnlySetsInBinaryOps.test_intersections)%B%B%B%BCCC)%B%B%B%BCCC	LH!!$*-----i)>
KKKKKrc~	|xj|jzc_|ddS#t$rYdSwxYwrcrdrs r#test_sym_difference_update_operatorz;TestOnlySetsInBinaryOps.test_sym_difference_update_operatorrfrgc|jr!|j|jdS|t
|jj|jdSr)rirIrr rGrHrs rtest_sym_difference_updatez2TestOnlySetsInBinaryOps.test_sym_difference_updates\	*H00<<<<<i"hB"j
*
*
*
*
*rc&tfdtfdjr!jjdStjjjdS)Nc"jjzSrrSrsrrTz=TestOnlySetsInBinaryOps.test_sym_difference.<locals>.<lambda>rlrc"jjzSrr[rsrrTz=TestOnlySetsInBinaryOps.test_sym_difference.<locals>.<lambda>rnr)rGrHrirIrr rs`rtest_sym_differencez+TestOnlySetsInBinaryOps.test_sym_differences)%B%B%B%BCCC)%B%B%B%BCCC	TH))$*55555i)F
SSSSSrc~	|xj|jzc_|ddS#t$rYdSwxYwrcrdrs rtest_difference_update_operatorz7TestOnlySetsInBinaryOps.test_difference_update_operatorrfrgc|jr!|j|jdS|t
|jj|jdSr)rirIrkr rGrHrs rrlz.TestOnlySetsInBinaryOps.test_difference_updates\	*H&&tz22222i"h8"j
*
*
*
*
*rc&tfdtfdjr!jjdStjjjdS)Nc"jjz
SrrSrsrrTz9TestOnlySetsInBinaryOps.test_difference.<locals>.<lambda>rlrc"jjz
Srr[rsrrTz9TestOnlySetsInBinaryOps.test_difference.<locals>.<lambda>rnr)rGrHrirIrr rs`rrz'TestOnlySetsInBinaryOps.test_differences)%B%B%B%BCCC)%B%B%B%BCCC	JH
+++++i)<djIIIIIrN)r
rrrPrarerYrnrprarrvrxr|r~rlrr
rrrNrNts777	E	E	E,,,FFFEEE,,,***LLL,,,***TTT,,,***JJJJJrrNceZdZdZdS)TestOnlySetsNumericcJtd|_d|_d|_dS)Nr#FrIr rirs rrBzTestOnlySetsNumeric.setUps$^^
$rNrbr
rrrr#%%%%%rrceZdZdZdS)TestOnlySetsDictcPtd|_ddd|_d|_dS)Nr#rDrI)rrTrrs rrBzTestOnlySetsDict.setUps*^^QZZ
#rNrbr
rrrr#$$$$$rrceZdZdZdS)TestOnlySetsOperatorc^td|_tj|_d|_dS)Nr#F)rIrzrr rirs rrBzTestOnlySetsOperator.setUps&^^\
$rNrbr
rrrrrrrceZdZdZdS)TestOnlySetsTuplecJtd|_d|_d|_dS)Nr#rTrrs rrBzTestOnlySetsTuple.setUps$^^
#rNrbr
rrrrrrrceZdZdZdS)TestOnlySetsStringcJtd|_d|_d|_dS)Nr#raTrrs rrBzTestOnlySetsString.setUp	s$^^
#rNrbr
rrrrrrrceZdZdZdS)TestOnlySetsGeneratorc`d}td|_||_d|_dS)Nc3:KtdddD]}|VdS)NrrrD)r)rrs rgenz(TestOnlySetsGenerator.setUp.<locals>.gens41b!__



rr#Tr)rrs  rrBzTestOnlySetsGenerator.setUps;			^^SUU
#rNrbr
rrrrs#$$$$$rrceZdZdZdZdS)TestCopyingc~|j}t|t}t|jt}|t|t|t
t|D]%}|||||u&dSNrK)rIrrLr&rMrRrrrrdup_listset_listrrs     rr9zTestCopying.test_copyshmmoo#4((($(---XH

666s8}}%%	8	8AOOHQK8A;67777	8	8rc|tj|j}t|t}t|jt}|t
|t
|tt
|D]$}|||||%dSr)rrrIrLr&rMrRrrs     rtest_deep_copyzTestCopying.test_deep_copy%smDH%%#4((($(---XH

666s8}}%%	7	7AXa[(1+6666	7	7rN)r
rrr9rr
rrrrs288877777rrceZdZdZdS)TestCopyingEmptyc,t|_dSrrrs rrBzTestCopyingEmpty.setUp1s55rNrbr
rrrr0s#rrceZdZdZdS)TestCopyingSingletonc0tdg|_dS)Nhellorrs rrBzTestCopyingSingleton.setUp7sy>>rNrbr
rrrr6s#"""""rrceZdZdZdS)TestCopyingTriplec2tgd|_dS)N)rsrNrrs rrBzTestCopyingTriple.setUp=s((())rNrbr
rrrr<s#*****rrceZdZdZdS)TestCopyingTuplec0tdg|_dS)NrrDrrs rrBzTestCopyingTuple.setUpCsx==rNrbr
rrrrBs#!!!!!rrceZdZdZdS)TestCopyingNestedc0tdg|_dS)N)r)rrIrrs rrBzTestCopyingNested.setUpIs()**rNrbr
rrrrHs#+++++rrc,eZdZdZdZdZdZdZdS)TestIdentitiescVtd|_td|_dS)Nabracadabraalacazam)rIrFr{rs rrBzTestIdentities.setUpOs"]##Zrc|j|j}}|||z
|k|||z
|k|||z|k|||z|k|||z|k|||z|k|||z||zkdSr)rFr{rrrFr{s   rtest_binopsVsSubsetsz#TestIdentities.test_binopsVsSubsetsSsvtv1A	"""A	"""A	"""A	"""A	"""A	"""AA
&&&&&rc|j|j}}|||z||z|||z||z|||z||z||kr|||z
||z
dSdSr)rFr{rMr~rs   rtest_commutativityz!TestIdentities.test_commutativity]svtv11ac"""1ac"""1ac"""66!QqS)))))6rc|j|j}}|||z
||zz||z
z||z|||z||zz||z||||z
z||z|||z
|z||z|||z
||zz||||z
||zz||||z
||z
z||zdSr)rFr{rMrs   rtest_summationszTestIdentities.test_summationsesvtv1!A#!ac*AaC000!A#!ac***AaC!A#&&&!A#q!A#&&&!A#!a(((!A#!a(((!A#!ac*****rc|j|jt}}}|||z
|z||||z
|z||||z||zz|dSr)rFr{rIrM)rrFr{rss    rtest_exclusionzTestIdentities.test_exclusionps{VTVSUUd1!A#q$'''!A#q$'''!A#!d+++++rN)r
rrrBrrrrr
rrrrNs_!!!'''***	+	+	+,,,,,rrc#K|D]}|VdS)zRegular generatorNr
seqnrrs  rRrys*
rceZdZdZdZdZdS)GzSequence using __getitem__c||_dSrrrrs  rr1z
G.__init__s
			rc|j|Srrrqs  r__getitem__z
G.__getitem__sy|rN)r
rrr)r1rr
rrrr~s8  rrc$eZdZdZdZdZdZdS)Iz Sequence using iterator protocolc"||_d|_dSr-rrs  rr1z
I.__init__	rc|Srr
rs r__iter__z
I.__iter__rc|jt|jkrt|j|j}|xjdz
c_|SrrrrRrrrrWs  r__next__z
I.__next__>6S^^##=%8Idf!rNr
rrr)r1rrr
rrrrsG&&rrceZdZdZdZdZdS)Igz9Sequence using iterator protocol defined with a generatorc"||_d|_dSr-rrs  rr1zIg.__init__rrc#&K|jD]}|VdSrr)rvals  rrzIg.__iter__s,9		CIIII		rNr
rrr)r1rr
rrrrs8??rrceZdZdZdZdZdS)Xz Missing __getitem__ and __iter__c"||_d|_dSr-rrs  rr1z
X.__init__rrc|jt|jkrt|j|j}|xjdz
c_|Srrrs  rrz
X.__next__rrN)r
rrr)r1rr
rrrrs8&&rrceZdZdZdZdZdS)NzIterator missing __next__()c"||_d|_dSr-rrs  rr1z
N.__init__rrc|Srr
rs rrz
N.__iter__rrNrr
rrrrs8!!rrc$eZdZdZdZdZdZdS)EzTest propagation of exceptionsc"||_d|_dSr-rrs  rr1z
E.__init__rrc|Srr
rs rrz
E.__iter__rrcddzdS)Nrrr
rs rrz
E.__next__s	QrNrr
rrrrsG$$rrc$eZdZdZdZdZdZdS)SzTest immediate stopcdSrr
rs  rr1z
S.__init__src|Srr
rs rrz
S.__iter__rrctr)rrs rrz
S.__next__srNrr
rrrrsG


rr)chaincttdttt	|S)z Test multiple tiers of iteratorsc|Srr
)rms rrTzL.<locals>.<lambda>sar)rrrrrrs rLrs.ZZ2agg;;00111rc eZdZdZdZdZdS)TestVariousIteratorArgscvttfD](}ddtddtdddfD]}ttt
tttfD][}|	t|||tt||t\|t|t||t|t||t |t#|*dS)	N123rwrdog333333?rr)rIrVrrrrrrrrMrLr&rGrHrrZeroDivisionErrorr)rconsr>gs    rrz(TestVariousIteratorArgs.test_constructors )$	B	BDRtk5d1;M;MN
B
BQAq!,[[A$$VDD1JJD%A%A%A6!!A$$TXCYCYCYZZZZ!!)TAaDD999!!)TAaDD999!!"3TAaDDAAAA
B	B	Brc
td}ddtddtdddd	fD]O}|j|j|j|j|jfD]*}tttttfD]}||}|||}t|tr|||M|t|t 
t|t 
|t$|t'||t$|t)||t*|t-|,QdS)Nnovemberrrwrrrrrdecemberr)rIrrer|rrrrrrrr
isinstanceboolrMrLr&rGrHrrrr)rr>rmethrrOrNs       rtest_inline_methodsz+TestVariousIteratorArgs.test_inline_methodsst
OOBd[%T!:L:LjY	A	AD!.!,@VXYXde

A

AQAq)__A#tDzzH!T!!D'']]F!(D11_((::::((D)A)A)A6(X\C]C]C]^^^^!!)T1Q44888!!)T1Q44888!!"3T1Q44@@@@

A	A	Arc
ddtddtddddfD]}d	D]}ttttt
tfD]}td
}|}t||t||t|||||t|tt|t|tttd
|t!||tttd
|t#||t$ttd
|t'|dS)Nrrwrrrrrr)rVr_rkrjanuaryr)rrrrrrrrIrr;rirMrLr&rGrHrrrr)rrmethnamerr>rs      rtest_inplace_methodsz,TestVariousIteratorArgs.test_inplace_methodssBd[%T!:L:LjY	a	aDQ
a
aQAq!,OOAIAA(GAx((aagg777(GAx((4111$$VA4%8%8%8&:M:M:MNNNN!!)WS^^X-N-NPQRVPWPWXXX!!)WS^^X-N-NPQRVPWPWXXX!!"3WS^^X5V5VXYZ^X_X_````
a	a	arN)r
rrrr	r
r
rrrrsLBBB
A
A
A
a
a
a
a
arrceZdZdZdZdS)bad_eqcXtr tt||uSr)be_badset2r5rrs  rr!z
bad_eq.__eq__s'	$JJLLL##u}rcdSr-r
rs rrzbad_eq.__hash__rrNr
rrr!rr
rrrrs2
rrceZdZdZdZdS)bad_dict_clearcJtrt||uSr)rdict2r5rs  rr!zbad_dict_clear.__eq__s!	KKMMMu}rcdSr-r
rs rrzbad_dict_clear.__hash__rrNrr
rrrrs2rrc eZdZdZdZdZdS)
TestWeirdBugsc$dath}dtdDada|t
|jtdath}tdiada|	tdS)NFc*h|]}tSr
)rrs  rrz4TestWeirdBugs.test_8420_set_merge.<locals>.<setcomp>s,,,Q,,,rKT)
rrrrrGrrVrrr)rset1s  rtest_8420_set_mergez!TestWeirdBugs.test_8420_set_mergesz,,%)),,,+T[$???  !!!4(((/////rcttd}||tdt	|}|ttd}|tdt|dS)Nr)rIrr5rVrri)rr>sirFs    rtest_iter_and_mutatez"TestWeirdBugs.test_iter_and_mutatesc

OO					s
!WW				s	sRrcGfddtfdtdDdh}|dS)Nc eZdZdZfdZdS).TestWeirdBugs.test_merge_and_mutate.<locals>.Xc tdSr-)r2rs rrz7TestWeirdBugs.test_merge_and_mutate.<locals>.X.__hash__s
Awwrc0dS)NF)r5)ror s  rr!z5TestWeirdBugs.test_merge_and_mutate.<locals>.X.__eq__s


urNr")r srrr&s=









rrc$h|]}
Sr
r
)rrrrs  rrz6TestWeirdBugs.test_merge_and_mutate.<locals>.<setcomp>$s((((((rrr)rIrrV)rr>rr s  @@rtest_merge_and_mutatez#TestWeirdBugs.test_merge_and_mutatesz										((((eBii(((
C	rN)r
rrr r#r+r
rrrrsA
0
0
0			rrc&eZdZdZdZdZdZdZdS)TestOperationsMutatingzRegression test for bpo-46615Nc(Gfddd|fdttdD|fdttdDdfS)Nc$eZdZfdZdZdS)<TestOperationsMutating.make_sets_of_bad_objects.<locals>.BadcsdStddkrtddkrttdS)NFrrD)rr5r)rr enabledrrs  rr!zCTestOperationsMutating.make_sets_of_bad_objects.<locals>.Bad.__eq__1s`! 5R==A%%JJLLLR==A%%JJLLLIaLL)))rc tdSrjrrs rrzETestOperationsMutating.make_sets_of_bad_objects.<locals>.Bad.__hash__9s ||#rNr)r3rrsrBadr00sG
*
*
*
*
*
*
*
$
$
$
$
$rr5Fc3,K|]}VdSrr
r_r5s  rrzBTestOperationsMutating.make_sets_of_bad_objects.<locals>.<genexpr>=) E E1 E E E E E Er2c3,K|]}VdSrr
r7s  rrzBTestOperationsMutating.make_sets_of_bad_objects.<locals>.<genexpr>>r9rT)constructor1rrconstructor2)rr5r3rrs @@@@rmake_sets_of_bad_objectsz/TestOperationsMutating.make_sets_of_bad_objects/s
	$
	$
	$
	$
	$
	$
	$
	$
	$
	$
	$
	$   E E E Eimm0D0D E E EEE   E E E Eimm0D0D E E EEETzrctdD]`}|\}}	|||'#t$r-}|dt	|Yd}~Yd}~wwxYwdS)Nrzchanged size during iteration)rr>rrWrh)rfunctionr8rrrEs      rcheck_set_op_does_not_crashz2TestOperationsMutating.check_set_op_does_not_crashCss	G	GA6688JD$
Gt$$$$
G
G
G

=s1vvFFFFFFFF
G		G	Gs7
A.#A))A.)r
rrr)r<r=r>rAr
rrr-r-)sG''LL(GGGGGrr-cheZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdS)TestBinaryOpsMutatingc2|ddS)Nc||kSrr
rFr{s  rrTz=TestBinaryOpsMutating.test_eq_with_mutation.<locals>.<lambda>P
a1frrArs rtest_eq_with_mutationz+TestBinaryOpsMutating.test_eq_with_mutationO (()<)<=====rc2|ddS)Nc||kSrr
rFs  rrTz=TestBinaryOpsMutating.test_ne_with_mutation.<locals>.<lambda>SrGrrHrs rtest_ne_with_mutationz+TestBinaryOpsMutating.test_ne_with_mutationRrJrc2|ddS)Nc||kSrr
rFs  rrTz=TestBinaryOpsMutating.test_lt_with_mutation.<locals>.<lambda>V
a!errHrs rtest_lt_with_mutationz+TestBinaryOpsMutating.test_lt_with_mutationU ((););<<<<<rc2|ddS)Nc||kSrr
rFs  rrTz=TestBinaryOpsMutating.test_le_with_mutation.<locals>.<lambda>YrGrrHrs rtest_le_with_mutationz+TestBinaryOpsMutating.test_le_with_mutationXrJrc2|ddS)Nc||kSrr
rFs  rrTz=TestBinaryOpsMutating.test_gt_with_mutation.<locals>.<lambda>\rPrrHrs rtest_gt_with_mutationz+TestBinaryOpsMutating.test_gt_with_mutation[rRrc2|ddS)Nc||kSrr
rFs  rrTz=TestBinaryOpsMutating.test_ge_with_mutation.<locals>.<lambda>_rGrrHrs rtest_ge_with_mutationz+TestBinaryOpsMutating.test_ge_with_mutation^rJrc2|ddS)Nc||zSrr
rFs  rrTz>TestBinaryOpsMutating.test_and_with_mutation.<locals>.<lambda>b
a!errHrs rtest_and_with_mutationz,TestBinaryOpsMutating.test_and_with_mutationarRrc2|ddS)Nc||zSrr
rFs  rrTz=TestBinaryOpsMutating.test_or_with_mutation.<locals>.<lambda>er^rrHrs rtest_or_with_mutationz+TestBinaryOpsMutating.test_or_with_mutationdrRrc2|ddS)Nc||z
Srr
rFs  rrTz>TestBinaryOpsMutating.test_sub_with_mutation.<locals>.<lambda>hr^rrHrs rtest_sub_with_mutationz,TestBinaryOpsMutating.test_sub_with_mutationgrRrc2|ddS)Nc||zSrr
rFs  rrTz>TestBinaryOpsMutating.test_xor_with_mutation.<locals>.<lambda>kr^rrHrs rtest_xor_with_mutationz,TestBinaryOpsMutating.test_xor_with_mutationjrRrc6d}||dS)Nc||z}dSrr
rFs  rrz8TestBinaryOpsMutating.test_iadd_with_mutation.<locals>.fn
FAAArrHrs  rtest_iadd_with_mutationz-TestBinaryOpsMutating.test_iadd_with_mutationm+			((+++++rc6d}||dS)Nc||z}dSrr
rFs  rrz7TestBinaryOpsMutating.test_ior_with_mutation.<locals>.fsrkrrHrs  rtest_ior_with_mutationz,TestBinaryOpsMutating.test_ior_with_mutationrrmrc6d}||dS)Nc||z}dSrr
rFs  rrz8TestBinaryOpsMutating.test_isub_with_mutation.<locals>.fxrkrrHrs  rtest_isub_with_mutationz-TestBinaryOpsMutating.test_isub_with_mutationwrmrc6d}||dS)Nc||z}dSrr
rFs  rrz8TestBinaryOpsMutating.test_ixor_with_mutation.<locals>.f}rkrrHrs  rtest_ixor_with_mutationz-TestBinaryOpsMutating.test_ixor_with_mutation|rmrcd}d}d}||||||dS)Nc|D]}|D]}dSrr
rFr{rmrs    rf1z>TestBinaryOpsMutating.test_iteration_with_mutation.<locals>.f10





rc|D]}|D]}dSrr
)rFr{rrms    rf2z>TestBinaryOpsMutating.test_iteration_with_mutation.<locals>.f2r{rc2t||D]\}}dSr)ziprys    rf3z>TestBinaryOpsMutating.test_iteration_with_mutation.<locals>.f3s*Aq		

1

rrH)rrzr}rs    rtest_iteration_with_mutationz2TestBinaryOpsMutating.test_iteration_with_mutationss			
			
				
((,,,((,,,((,,,,,rN)r
rrrIrMrQrUrXr[r_rbrerhrlrprsrvrr
rrrCrCMs>>>>>>===>>>===>>>============,,,
,,,
,,,
,,,
-----rrCceZdZeZeZdS)TestBinaryOpsMutating_Set_SetNr
rrrIr<r=r
rrrrLLLLrrceZdZeZeZdS)'TestBinaryOpsMutating_Subclass_SubclassNr
rrrr<r=r
rrrrLLLLrrceZdZeZeZdS)"TestBinaryOpsMutating_Set_SubclassNr
rrrIr<rr=r
rrrrLLLLrrceZdZeZeZdS)"TestBinaryOpsMutating_Subclass_SetNr
rrrr<rIr=r
rrrrLLLLrrcPeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dS)
TestMethodsMutatingcD|tjdSr)rArIrrs rtest_issubset_with_mutationz/TestMethodsMutating.test_issubset_with_mutations((66666rcD|tjdSr)rArIrrs rtest_issuperset_with_mutationz1TestMethodsMutating.test_issuperset_with_mutation((88888rcD|tjdSr)rArIr|rs rtest_intersection_with_mutationz3TestMethodsMutating.test_intersection_with_mutations(()9:::::rcD|tjdSr)rArIrers rtest_union_with_mutationz,TestMethodsMutating.test_union_with_mutations((33333rcD|tjdSr)rArIrrs rtest_difference_with_mutationz1TestMethodsMutating.test_difference_with_mutationrrcD|tjdSr)rArIrrs r'test_symmetric_difference_with_mutationz;TestMethodsMutating.test_symmetric_difference_with_mutations(()ABBBBBrcD|tjdSr)rArIrrs rtest_isdisjoint_with_mutationz1TestMethodsMutating.test_isdisjoint_with_mutationrrcD|tjdSr)rArIrkrs r$test_difference_update_with_mutationz8TestMethodsMutating.test_difference_update_with_mutations(()>?????rcD|tjdSr)rArIr_rs r&test_intersection_update_with_mutationz:TestMethodsMutating.test_intersection_update_with_mutations(()@AAAAArcD|tjdSr)rArIrrs r.test_symmetric_difference_update_with_mutationzBTestMethodsMutating.test_symmetric_difference_update_with_mutations(()HIIIIIrcD|tjdSr)rArIrVrs rtest_update_with_mutationz-TestMethodsMutating.test_update_with_mutations((44444rN)r
rrrrrrrrrrrrrr
rrrrs777999;;;444999CCC999@@@BBBJJJ55555rrceZdZeZeZdS)TestMethodsMutating_Set_SetNrr
rrrrrrrceZdZeZeZdS)%TestMethodsMutating_Subclass_SubclassNrr
rrrrrrrceZdZeZeZdS) TestMethodsMutating_Set_SubclassNrr
rrrrrrrceZdZeZeZdS) TestMethodsMutating_Subclass_SetNrr
rrrrrrrc eZdZeZejZdS)TestMethodsMutating_Set_DictN)r
rrrIr<r?r@r=r
rrrrsL=LLLrrceZdZeZeZdS)TestMethodsMutating_Set_ListN)r
rrrIr<rir=r
rrrrsLLLLrrc#Kt|}	tt|g}t|D]
}|V||zVdS#t$rtVYdSwxYw)z-Generates all subsets of a set or sequence U.N)rrVrrr)Urmrs   rrrsQAtAwwi  !		AGGGa%KKKK		kks:AA-,A-cdt|Dtfdtt|DS)z!Graph of n-dimensional hypercube.c.g|]}t|gSr
rV)rrms  rrzcube.<locals>.<listcomp>s 333Q)QC..333rcLg|]tfdDf S)cg|]}|zSr
r
)rr>rms  rrz#cube.<locals>.<listcomp>.<listcomp>s888!888rr)rrm
singletonss @rrzcube.<locals>.<listcomp>sL...Y8888Z88899:...r)rr?r)rrs @rcubersb33%((333J...."588,,...///rci}|D][|D]Pfd|D}fd|D}t||z|tg<Q\|S)zGraph, the vertices of which are edges of G,
    with two vertices being adjacent iff the corresponding
    edges share a vertex.c>g|]}|kt|gSr
rrrrmrs  rrzlinegraph.<locals>.<listcomp>*;;;qAFF)QqE""FFFrc>g|]}|kt|gSr
rrs  rrzlinegraph.<locals>.<listcomp>rrr)rrnxnyrmrs    @@r	linegraphrs	A
331	3	3A;;;;;AaD;;;B;;;;;AaD;;;B"+BrE"2"2Ai1	3
Hrct}|D]\}}|D]}||D]}||kr	|||vr&|t|||g9||D]}||kr	|||vr'|t||||g:||D]@}||ks||kr|||vr'|t|||||gAƌь|S)zKReturn a set of faces in G.  Where a face is a set of vertices on that face)rIitemsrrV)rrrDedgesrFv3v4v5s        rfacesrs[	AWWYYKK	E	K	KBe
K
K882;;EE)RRL112222e
K
K88$2;;EE)RR,<"="=>>>>&'eKK#%88rRxx$,#%2;;$%EE)RRR4H*I*I$J$J$J	K
K

K	K$
HrceZdZdZdZdS)
TestGraphsc2td}t|}|t|d|D]%}|t|d&td|D}|||t|}|t|d|D]%}|t|d&dS)Nrrc3$K|]}|D]}|VdSrr
)rrrWs   rrz'TestGraphs.test_cube.<locals>.<genexpr>$s/AAe5AAaAAAAAAArrrI)rrIrMrRrr)rr	vertices1edge	vertices2	cubefacesfaces       r	test_cubezTestGraphs.test_cubesGGFF	Y+++HHJJ	+	+DSYY****AAqxxzzAAAAA	I...!HH	Y+++	+	+DSYY****	+	+rc*td}t|}|t|dt	|}|D]%}|t|d&t	d|D}|||t
|}tjt}|D]}|t|xxdz
cc< ||dd||dd|D]B}	|	}
|t|
d|
D]}|
||CdS)	NrrIc3$K|]}|D]}|VdSrr
)rrrs   rrz0TestGraphs.test_cuboctahedron.<locals>.<genexpr>9s0WWUQVWWDWWWWWWWrrrrrD)rrrMrRrIrrrdefaultdictr3rW)rr
cuboctahedronverticesr
othervertices	cubofaces	facesizesrvertexrcubeverts            rtest_cuboctahedronzTestGraphs.test_cuboctahedron,s
GG!!
]++R000}%%"))++	,	,ESZZ++++WWm.B.B.D.DWWWWW
=111-((	+C00		&	&Dc$ii   A%    1q)))1q)))#	+	+FDSYY*** 
+
+

h****
+	+	+rN)r
rrrrr
rrrrs2
+
+
++++++rr__main__)lrtestrtest.supportrrrrzrrrandomrrrrcollections.abcr	Exceptionrrrr$r3r+r5TestCaserrIrrrrVrrrrrrr4rr^rdrprxr|rrrrrrrrr
r-rArErGrJrLrNrrrrrrrrrrrrrrrrrrrrrrrrrrrr-rCrrrrrrrrrrrrrrrrr
mainr
rr<module>rs((((((				



%%%%%%%%					y			        
"""""c"""{E{E{E{E{E{E{E{Ez	[3[3[3[3[3lH-[3[3[3z					#			!0!0!0!0!0g!0!0!0HG+G+G+G+G+L("3G+G+G+R									6;6;6;6;6;M6;6;6;r'''''3'''/////x0///
'''''''')))))%=)))

CEE	f)f)f)f)f)f)f)f)Th&7
&
&
&
&
&L(*;
&
&
&"
&
&
&
&
&h&7
&
&
&"x'8	)	)	)	)	)x'8	)	)	)	)	)	)	)	)h&7	)	)	))))))<1B)))JJJJJx0JJJ6					H%			E4E4E4E4E4H%E4E4E4RR0R0R0R0R0H%R0R0R0lF=F=F=F=F="F=F=F=T#3#3#3#3#3#3#3#3L;(9k8+<k8+<X%6;(9pJpJpJpJpJpJpJpJh%%%%%183D%%%$$$$$.0A$$$%%%%%2H4E%%%$$$$$/1B$$$$$$$$0(2C$$$$$$$$3X5F$$$77777777*{H$5""""";(9"""*****X%6***!!!!!{H$5!!!+++++X%6+++',',',',',X&',',',V
								222'a'a'a'a'ah/'a'a'aR&&&&&H%&&&R!G!G!G!G!G!G!G!GHD-D-D-D-D-2D-D-D-N$98;L.CXEV)>@Q)>@Q
!5!5!5!5!50!5!5!5H"5x7H,?AR':H<M':H<M!!!!!#68I!!!#68I			///








4,+,+,+,+,+",+,+,+bzHMOOOOOr