python (3.12.0)

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

Αe<
ddlZddlmZddlmZddlZddlZddlZddlZddl	Z	ddl
mZmZddl
Z
ddlZddlZddlZGddeZdZGdd	ZGd
dZGdd
eZGddZGddeej2ZGddeZGddeZGddeej2ZGddeZ GddeZ!GddeZ"Gddej2Z#Gd d!eZ$Gd"d#e#Z%eZ&Gd$d%Z'Gd&d'e'ej2Z(Gd(d)e'ej2Z)Gd*d+e'ej2Z*Gd,d-e'ej2Z+Gd.d/e'ej2Z,Gd0d1e'ej2Z-Gd2d3e'ej2Z.d4Z/d5Z0Gd6d7ej2Z1Gd8d9ej2Z2Gd:d;ej2Z3Gd<d=ej2Z4Gd>d?ej2Z5Gd@dAZ6GdBdCe6ej2Z7GdDdEe6ej2Z8GdFdGe6ej2Z9GdHdIe6ej2Z:GdJdKe6ej2Z;GdLdMZ<GdNdOe<ej2Z=GdPdQe<ej2Z>GdRdSe<ej2Z?GdTdUe<ej2Z@GdVdWe<ej2ZAGdXdYe<ej2ZBGdZd[ZCGd\d]eCej2ZDGd^d_eCej2ZEGd`daeCej2ZFGdbdceCej2ZGGdddeeCej2ZHGdfdgej2ZIdhZJGdidjZKGdkdlZLGdmdnZMGdodpZNGdqdrZOGdsdtZPGdudvZQddwlmRZRdxZSGdydzej2ZTGd{d|ZUGd}d~ZVGddej2ZWGddZXGddeXZYGddeYej2ZZGddeYej2Z[GddeYej2Z\GddeYej2Z]GddeXZ^Gdde^ej2Z_Gdde^ej2Z`Gdde^ej2ZaGdde^ej2ZbGdde^ej2ZcGdde^ej2ZddZedZfdZgdZhGddej2Ziejdk(rejyy)N)support)warnings_helper)	randrangeshuffleceZdZy)PassThruN__name__
__module____qualname__A/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_set.pyrrrrc#KtwN)rr
rrcheck_pass_thrurs
N	ceZdZdZdZy)BadCmpcyNr
selfs r__hash__zBadCmp.__hash__rctr)RuntimeErrorrothers  r__eq__z
BadCmp.__eq__srNr
rrrr"r
rrrrsrrceZdZ	dZy)ReprWrapperc,t|jSr)reprvaluers r__repr__zReprWrapper.__repr__sDJJrN)r
rrr)r
rrr%r%s
0 rr%ceZdZ	dZdZy)HashCountingIntcd|_yNr
hash_count)rargss  r__init__zHashCountingInt.__init__#s	rcV|xjdz
c_tj|Sr)r/intrrs rrzHashCountingInt.__hash__%s1||D!!rN)r
rrr1rr
rrr+r+!sH"rr+ceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZy)TestJointOpscdx|_}d|_d|_|j||_t
j
||_y)N
simsalabim
madagascar4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)word	otherwordlettersthetypesdictfromkeysd)rr:s  rsetUpzTestJointOps.setUp,s<''	D%Md#t$rc|jt|jgd|jttjdy)Nra)assertRaises	TypeErrorr=setr1rs rtest_new_or_initzTestJointOps.test_new_or_init3s5)T\\2q9)SU^^q9rct|j}t|j}|j|||j	t
|jt|j	t|jggyr)	sortedr>rAassertEqualrGrr=rrH)ractualexpecteds   rtest_uniquificationz TestJointOps.test_uniquification7s]$&&>*(DLL/2CD)T\\B48rct|jt|jt|jyr)rMlenr>rArs rtest_lenzTestJointOps.test_len>s"TVVc$&&k2rcr|jD],}|j||jv||jv.|j	t
|jjgg|jt|jg}|j|j|j|yr)
r<rMr>rArGrH__contains__r=	frozensetassertIn)rcr>s   r
test_containszTestJointOps.test_containsAs	7AQ$&&[!tvv+6	7)TVV%8%82$?LL)DLL123

dll4<<0!4rc	|jj|j}|jD]2}|j	||v||j
vxs||jv4|j	|j|j
|j|j	t||j|jt|jjt|jt|jjggttt j"t$t&t(fD]E}|j	|j
dj|dtd|j	|j
dj|dtd|j	|j
dj|dtd|j	|j
dj|dtd	|j	|j
dj|d|d
tdH|j
}|j	|jtdg|tdg|j
ddgy)
NabcbacdcabcdefgfeabcefgccbabcefabceffgrrD)r>unionr;r<rMrAr=r:typebasetyperGrrrHrIrVr?r@strlisttuple)rurXCxs     r
test_unionzTestJointOps.test_unionHsFFLL(	IAQ!VQ$&&[%GA4GH	Idii!89a$--0(DFFLL/2CD)TVV\\B48iT5@	[AT\\'2885BCKPT\\'2887Dc(mTT\\'2885BCJOT\\'2884A3w<PT\\'2884!D'JCPXMZ	[
LLNaS1c1#h7q!f9MNrc|jj|j}|j|jt	|jz||j|jt|jz|	|j|jz|j
dy#t$rYywxYw)Nz(s|t did not screen-out general iterables)r>rer;rMrIrVfailrHris  rtest_orzTestJointOps.test_or[sFFLL(#dnn"55q9)DNN";;Q?	BFFT^^#
II@A		B66	CCc	|jj|j}|jD]2}|j	||v||j
vxr||jv4|j	|j|j
|j|j	t||j|jt|jjttttj t"t$t&fD]E}|j	|j
dj|dtd|j	|j
dj|dtd|j	|j
dj|dtd|j	|j
dj|dtd|j	|j
dj|d	|d
tdH|j
d}|j}|jtk(r%|j	t)|t)|y|j+t)|t)|y)Nr[r\ccr^r`bcrbcbcfbagb)r>intersectionr;r<rMrAr=r:rfrgrGrrrIrVr?r@rhrirjidassertNotEqual)rrrrXrlr>zs      rtest_intersectionzTestJointOps.test_intersectionfsFF/	JAQ!VQ$&&[%HQ$..5HI	Jdii!89a$--0(DFF$7$79JKiT5@	`AT\\'2??%I3t9UT\\'2??'
KSQSWUT\\'2??%I3t9UT\\'2??$H#b'RT\\'2??&	1U8TVYZ]V^_	`
LL!
NN<<9;&RUBqE*1r!u-rc@d}dD]}|j|}dD]~}tttjt
ttfD]O}||}|j|}|||}|j|||j|duxs|duQy)Nc:	t|j|Sr)rIr|)s1s2s  rfz'TestJointOps.test_isdisjoint.<locals>.f{s42w++B///r)
rwrFabraababacr\rvr^r`rbTF)r=rIrVr?r@rhrirj
isdisjointrM
assertTrue)	rrlargrrargrlrrNrOs	         rtest_isdisjointzTestJointOps.test_isdisjointzs	0V	GDd#BY
GiT5HGA4B]]2.F RyH$$VX6OOFdN$EfoFG
G	Grc|jj|j}|j|jt	|jz||j|jt|jz|	|j|jz|j
dy#t$rYywxYw)Nz(s&t did not screen-out general iterables)r>r|r;rMrIrVrprHrqs  rtest_andzTestJointOps.test_andsFF/#dnn"55q9)DNN";;Q?	BFFT^^#
II@A		rtc	|jj|j}|jD]2}|j	||v||j
vxr||jv4|j	|j|j
|j|j	t||j|jt|jjt|jt|jjggttt j"t$t&t(fD]}}|j	|j
dj|dtd|j	|j
dj|dtd|j	|j
dj|dtd|j	|j
dj|dtd|j	|j
djtd|j	|j
dj|d|d	td
y)Nr[r\rr^rar`rFrbr{rX)r>
differencer;r<rMrAr=r:rfrgrGrrrHrIrVr?r@rhrirjrrrrXrls    rtest_differencezTestJointOps.test_differencesFFdnn-	NAQ!VQ$&&[%LQdnn5LM	Ndii!89a$--0(DFF$5$57HI)TVV%6%6=iT5@	YAT\\'2==ahGTST\\'2==ajI3u:VT\\'2==ahGSRT\\'2==agFE
ST\\'2==?ULT\\'2==afafMsSVxX
	Yrc|jj|j}|j|jt	|jz
||j|jt|jz
|	|j|jz
|j
dy#t$rYywxYw)Nz(s-t did not screen-out general iterables)r>rr;rMrIrVrprHrqs  rtest_subzTestJointOps.test_subsFFdnn-#dnn"55q9)DNN";;Q?	BFFT^^#
II@A		rtc|jj|j}|jD]1}|j	||v||j
v||jvz3|j	|j|j
|j|j	t||j|jt|jjt|jt|jjggttt j"t$t&t(fD]}|j	|j
dj|dtd|j	|j
dj|dtd|j	|j
dj|dtd|j	|j
dj|dtd	y)
Nr[r\abdr^r_r`rFrbrc)r>symmetric_differencer;r<rMrAr=r:rfrgrGrrrHrIrVr?r@rhrirjrs    rtest_symmetric_differencez&TestJointOps.test_symmetric_differencesFF''7	LAQ!Va466ka4>>6I%JK	Ldii!89a$--0(DFF$?$?ARS)TVV%@%@2$GiT5@	`AT\\'2GG%QSVW\S]^T\\'2GG'
SUXYaUbcT\\'2GG%QSVWZS[\T\\'2GG$PRUV]R^_		`rc|jj|j}|j|jt	|jz||j|jt|jz|	|j|jz|j
dy#t$rYywxYw)Nz(s^t did not screen-out general iterables)r>rr;rMrIrVrprHrqs  rtest_xorzTestJointOps.test_xorsFF''7#dnn"55q9)DNN";;Q?	BFFT^^#
II@A		rtc |j|jt|j|j|jt	|j|j|j|jk(d|j|jt|j|j|jt	|j|j|j|jk7dyNFT)rMr>rIr:rVr~r;rs r
test_equalityzTestJointOps.test_equalitysTYY0499!56499,e4DFFC$78DFFIdnn$=>499,d3rcttgd}|j|}|jt	|dy)N)abcdefbcdbdcbfedfedccba)maprVr=rMrR)rtr>s   rtest_setOfFrozensetsz!TestJointOps.test_setOfFrozensetss0	FGLLOQ#rct|jgd\}}}|j||k|j||k|j||k|j||kD|j||k\|j||k|j||k|j||kD|j||k\|jt	djd|jt	dj
d|jt	djd|jt	dj
dy)N)rabcdedefrFracbs)rr=rassertFalserIissubset
issuperset)rpqrs    rtest_sub_and_superzTestJointOps.test_sub_and_supers!dll$:;1aAQQAQQa Qa C))%01E
--c23S**512U..s34rcttjdzD]h}t|jt
tfvr$dg|j_dg|j_tj|j|}tj|}|j|j||jd|t|jt
tfvs|j|jj|j|j|jj|j|jt|jd|j`|j`ky)Nrrmr != y)rangepickleHIGHEST_PROTOCOLrfr>rIrVrmrdumpsloadsrMrhasattr)rrrrdups    r
test_picklingzTestJointOps.test_picklingsv..23	'ADFF|C#3355TVVQ'A,,q/CTVVS*DEDFF|C#33  3551  3551  !56FFHdffh	'rcttjdzD])}t|j}|j|j}tj||}tj|}|j|tjj|j|j||tj|}	t|}tj||}tj|}|j|j|||j|fz
,y#t$rY:wxYwr)rrriterr>r=rrassertIsInstancecollectionsraIteratorrMnext
StopIteration)rprotoitorgdatarAitdrops       rtest_iterator_picklingz#TestJointOps.test_iterator_picklings622Q67	MELE<<'DUE*AaB
!!"koo&>&>?T\\"-t4aB
BxR'AaBT\\"-tdllD76K/KL%	M!

sE	EEcpGfddd}|j|g}tj|}|jt	|t	||D]}|}|jt	|t	|j|jdz|jy)Nc&eZdZdZdZdfd	Zy)*TestJointOps.test_deepcopy.<locals>.Tracerc||_yrr()rr(s  rr1z3TestJointOps.test_deepcopy.<locals>.Tracer.__init__	s	"
rc|jSrrrs rrz3TestJointOps.test_deepcopy.<locals>.Tracer.__hash__szz!rNc.|jdzSrr)rmemoTracers  r__deepcopy__z7TestJointOps.test_deepcopy.<locals>.Tracer.__deepcopy__
sdjj1n--rr)r
rrr1rr)rsrrrs
#
"
.rr
r)r=copydeepcopyr~r}rMr()rrr>relemnewtrs      @r
test_deepcopyzTestJointOps.test_deepcopys	.	.
2JLL!mmABqE2c7+	DD	BqE2d8,1djj1rcGddtfdtdD}|D]!}||_||_t|g|_#y)NceZdZy)TestJointOps.test_gc.<locals>.ANr	r
rrArrrc3,K|]}
ywrr
).0rrrs  r	<genexpr>z'TestJointOps.test_gc.<locals>.<genexpr>s)))rIrcyclesub)rr>rrs   @rtest_gczTestJointOps.test_gcsK		)U4[))	#DDJDHD6{DH	#rcGdd|j}|}t}|j||j|||j	||j||j|y)NceZdZdZy)6TestJointOps.test_subclass_with_custom_hash.<locals>.Hc0tt|dzS)Ni)r3r}rs rrz?TestJointOps.test_subclass_with_custom_hash.<locals>.H.__hash__%s2d8j011rN)r
rrrr
rrHr$s
2rr)r=rIaddrWremovediscard)rrr>rs    rtest_subclass_with_custom_hashz+TestJointOps.test_subclass_with_custom_hash"s\	2	2#

%	a

a		a			!rc|jtg}|jt|jttg|jt|jtt|dr||jt|jt|jt|jt|jt|jtyy)Nr)	r=rrGrrUrrrrrr>s  rtest_badcmpzTestJointOps.test_badcmp/sLL&($,vx6JK,A1elAEE68<lAIIvx@lAHHfh?rc$t}|j|g}||_|jtk(r|j	t|dyt|j
dd}|j	t||d|dy)Nz
{set(...)}(rz({z(...)}))r%r=r(rIrMr'	partition)rwr>names    rtest_cyclical_reprzTestJointOps.test_cyclical_repr:srMLL!<<3T!Wl37$$S)!,DT!Wt&DErcd}tjttt	|}|jt
d|D||j|}|jt
d|D||j||jt
d|D|t|dr|j||jt
d|D|tjt|}|jt
d|D|tjt|}|jt
d|D|tjt|d	}|jt
d
|D||j|tj|d	y)Nrc34K|]}|jywrr.rrs  rrz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>G;T__;c34K|]}|jywrr.rs  rrz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Irrc34K|]}|jywrr.rs  rrz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Krrsymmetric_difference_updatec34K|]}|jywrr.rs  rrz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Nrrc34K|]}|jywrr.rs  rrz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Prrc34K|]}|jywrr.rs  rrz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Rrr{c34K|]}|jywrr.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_keysDsaMM#ouQx89;;;Q?LLO;;;Q?	Q;;;Q?134
))!,;;;Q?
]]3q6
";;;Q?
]]9Q<
(;;;Q?
]]9Q<
-;;;Q?T]]1c23rcGddt}|}tj|}t|dg}t	||_~~t
j|j|dudy)NceZdZy)/TestJointOps.test_container_iterator.<locals>.CNr	r
rrrlrYrrrlrzCycle was not collected)	objectweakrefrefrIrrmgccollectr)rrlobjr	containers     rtest_container_iteratorz$TestJointOps.test_container_iteratorWs^		ckk#aM	Y



'@ArcNtj|t|jyr)rcheck_free_after_iteratingrr=rs rtest_free_after_iteratingz&TestJointOps.test_free_after_iteratingcs**4t||DrN)r
rrrBrJrPrSrYrnrsrrrrrrrrrrrrrrrrrrrrr
rrr5r5)s%:935O&	B.(G	BY 	B`	B4$
5 'M*2"#	@F4&
BErr5ceZdZeZeZdZdZdZdZ	dZ
dZdZdZ
d	Zd
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZej@e!edddZ"y)TestSetc|j}|j|j|j|t	|j|j|j
|j|t	|j
|j
t|j|d|j
t|jdy)NrDr)r=r1r:rMrIr;rGrHrs  r	test_initzTestSet.test_initjsLLN	

499C		N+	

4>>"C/0)QZZA6)QZZ3rc|jtd}|j|}|jt|t|yNrr=rr~r}rr>rs   rtest_constructor_identityz!TestSet.test_constructor_identitys9LLq"LLOBqE2a5)rcJtgd}hd}|j||y)NrrDrrrDrrIrMr!s   rtest_set_literalzTestSet.test_set_literalxs LArchd}|jt|d|j}|jt|ty)N>rr)rMrRpoprfr3)rr>stored_values   r test_set_literal_insertion_orderz(TestSet.test_set_literal_insertion_order}s;Q#uuwl+S1rcjgfd}|d|d|dh}|jgdy)Nc(j|yr)append)reventss rrecordz9TestSet.test_set_literal_evaluation_order.<locals>.recordsMM#rrrDrr%)rM)rr1r>r0s   @r!test_set_literal_evaluation_orderz)TestSet.test_set_literal_evaluation_orders5	
AYq	6!9-+rcN|jtt|jyr)rGrHhashr>rs r	test_hashzTestSet.test_hashs)T4662rc|jj|j|jt|jt	|jdyr-)r>clearrMrIrRrs r
test_clearzTestSet.test_clears='TVVa(rc|jj}|j|j||jt	|jt	||jt||jyr)r>rrMr~r}rfrgrrs  r	test_copyzTestSet.test_copysYffkkm%BtvvJ30cDMM2rcj|jjd|jd|j|jj}|jjd|j	|j||jt|jjgy)NQ)r>rrWrrMrGrHr:s  rtest_addzTestSet.test_addso

3

c466"ffkkm

3%)TVVZZ4rc|jjd|jd|j|jt|jjd|jt
|jjg|j
t|jg}|j|j
|j||j|j
|j|j|j
|j||jt|jj|j
|jyNrFr=)
r>rassertNotInrGKeyErrorrHr=rVr:rWrs  rtest_removezTestSet.test_removes

cdff%(DFFMM37)TVV]]B7LL)DII./0

dll499-q1	dii()dii0!4(DFFMM4<<		3JKrcdD].}	|jj||j0y#t$r+}|jd}|j||Yd}~ad}~wwxYw)N)r=)rr)r>rrprBr0rM)rv1ev2s    rtest_remove_keyerror_unpackingz&TestSet.test_remove_keyerror_unpackingsc	B


b!
			
)VVAY  R((
)s5	A)!A$$A)c	*|jddg}	|jj||jy#t$rH}|j|jd|udj||jdYd}~yd}~wwxYw)NrrzKeyError should be {0}, not {1})r=r>rrprBrr0format)rkeyrFs   rtest_remove_keyerror_setz TestSet.test_remove_keyerror_setsllAq6"	FFMM#
IIK	NOOAFF1I,:AA#BC&&)M
N
N	NsA	B
>B

Bc|jjd|jd|j|jjd|jt|jjg|jt
|jg}|j|j|j||j|j|j|j|j|j||j|j|jyr@)	r>rrArGrHr=rVr:rWrs  rtest_discardzTestSet.test_discardssdff%s)TVV^^R8LL)DII./0

dll499-q1			$,,tyy)*dii0!4			$,,tyy)*rc
tt|jD]8}|jj}|j	||j:|jt|jjyr)rrRr>r*rArGrB)rrrrs   rtest_popzTestSet.test_pops[s466{#	+A66::<DT466*	+	
(DFFJJ/rc
|jj|j}|j|d|j|jzD]}|j||j |j
t|jjt|j
t|jjggdD]\}}tttjttt fD]U}|j#d}|j|j||d|j|t|WdD]}d}tttjttt fD]t}|j#d}|j|j||||d|j|t|t|zt|zvy)N))r\r]r^r_)r`rarbrcr[)r\r^r`rbabcdaahi)r>updater;rMr:rWrGrrrHrIrVr?r@rhrirjr=rretvalrXrrrlr>s       rtest_updatezTestSet.test_updatest~~.&))dnn,	%AMM!TVV$	%(DFFMM?3DE)TVV]]RD9[	,DAq)T]]CuD
,LL)  !A$6  CF+
,	,
8	>AA)T]]CuD
>LL)  !A$!!5t<  CFSVOc!f$<=
>	>rc|xjt|jzc_|j|jzD]}|j	||j yr)r>rIr;r:rWrrXs  rtest_iorzTestSet.test_iorsG#dnn%%))dnn,	%AMM!TVV$	%rc
|jj|j}|j|d|j|jzD]W}||jvr+||jvr|j||j<|j
||jY|jt|jjt|jt|jjggdD]\}}tttjtt t"fD]}|j%d}|j|j||d|j|t|d}|j%|}d}|j|j||||d|j|tdt|zt|zy)N))r\rX)r^rw)r`rx)rbrwr[cbc)r>intersection_updater;rMr:rWrArGrrrHrIrVr?r@rhrirjr=)	rrYrXrrrlr>ssrs	         rtest_intersection_updatez TestSet.test_intersection_updates++DNN;&))dnn,	,ADNN"qDII~

a(  DFF+		,
	
(DFF$>$>@QR)TVV%?%?"FL		@DAq)T]]CuD
@LL)  !6!6qt!<dC  CF+LL$  !6!6qtQqT!BDI  CLQ$7A$>?
@		@rc:|xjt|jzc_|j|jzD]W}||jvr+||jvr|j	||j<|j||jYyrr>rIr;r:rWrAr\s  r	test_iandzTestSet.test_iandsq#dnn%%))dnn,	,ADNN"qDII~

a(  DFF+		,rc	D|jj|j}|j|d|j|jzD]W}||jvr+||jvr|j||j<|j
||jY|jt|jjt|jt|jjgg|jt|jjggdD]e\}}tttjt t"t$fD]1}|j'd}|j|j||d|j|t||j'd}|j|j||j'd|j'd}|j|d|j||j'd|j'd}|j|d|d|j||j'd4hy)N))r\r)r^rar`rF)rbrar[
abcdefghihabacdefghihr\efghih)r>difference_updater;rMr:rWrArGrrrHrrIrVr?r@rhrirjr=rXs       rtest_difference_updatezTestSet.test_difference_update	s))$..9&))dnn,	,ADII~!4>>"9

a(  DFF+		,
	
(DFF$<$<o>OP)TVV%=%=tD)TVV%G%G"NR	<DAq)T]]CuD
<LL)  !4!4QqT!:DA  CF+LL.##%  DLL$>?LL.##AeH-  DLL$<=LL.##AeHah7  DLL$:;
<	<rc:|xjt|jzc_|j|jzD]W}||jvr+||jvr|j	||j<|j||jYyrrdr\s  r	test_isubzTestSet.test_isub&sq#dnn%%))dnn,	,ADII~!4>>"9

a(  DFF+		,rc	0|jj|j}|j|d|j|jzD]X}||jv||jvzr|j||j=|j
||jZ|jt|jjt|jt|jjggdD]\}}tttjtt t"fD]U}|j%d}|j|j||d|j|t|Wy)N))r\rrSrgrTr[)r>rr;rMr:rWrArGrrrHrIrVr?r@rhrirjr=rXs       r test_symmetric_difference_updatez(TestSet.test_symmetric_difference_update.s833DNNC&))dnn,	,ATYY1#67

a(  DFF+		,
	
(DFF$F$FHYZ)TVV%G%G"NX	,DAq)T]]CuD
,LL)  !>!>qt!DdK  CF+
,	,rc<|xjt|jzc_|j|jzD]X}||jv||jvzr|j	||j=|j||jZyrrdr\s  r	test_ixorzTestSet.test_ixor>st#dnn%%))dnn,	,ATYY1#67

a(  DFF+		,rc|jj}||z}|j||j||z}|j||j||z}|j||j|jj}||z}|j||jyr)r>rrMr=)rrs  rtest_inplace_on_selfzTestSet.test_inplace_on_selfFsFFKKM	QDFF#	QDFF#	QDLLN+FFKKM	QDLLN+rc|jd}tj|}|jt	|t	|d}tj|jtt|y)Ngallahad)	r=rproxyrMrhr
gc_collectrGReferenceError)rr>rs   rtest_weakrefzTestSet.test_weakrefRsYLL$MM!QQ(.#q1rcXGdd}hd}|}||k|j|j|}||kD|j|j|}||k|j|j|}||k\|j|jy)Nc$eZdZdZdZdZdZy)5TestSet.test_rich_compare.<locals>.TestRichSetComparecd|_yNTF)	gt_calledrsome_sets  r__gt__z<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__gt__\!%rcd|_yr)	lt_calledrs  r__lt__z<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__lt___rrcd|_yr)	ge_calledrs  r__ge__z<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__ge__brrcd|_yr)	le_calledrs  r__le__z<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__le__errN)r
rrrrrrr
rrTestRichSetComparer~[s



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

("$

("$
("$
(r
test_c_apiz*C API test only available in a debug buildcT|jtjdyNT)rMrIrrs rrzTestSet.test_c_api~s	
))+T2rN)#r
rrrIr=rgrr"r(r,r2r5r8r;r>rCrHrMrOrQrZr]rbrermrorqrsrur{runittest
skipUnlessrrr
rrrrfsGH4*

2,3)
35	L			+0>&%
@*,<:,, ,
,2")HXl3EG3G3rrceZdZy)SetSubclassNr	r
rrrrrrrceZdZeZeZdZy)TestSetSubclassc0Gddt}|ddg}|jt|||jt|ddh|j	t
5|ddddGddt}|ddgd	
}|jt|||jt|ddh|j|jd	Gddt}|ddg}|jt|||jt|ddh|j|j|j	t
5|ddgd	
dddy#1swYxYw#1swYyxYw)
NceZdZy);TestSetSubclass.test_keywords_in_subclass.<locals>.subclassNr	r
rrsubclassrrrrrrDr
sequencec eZdZdfd	ZxZS)ETestSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_initc2t||||_yr)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_newc6t|||}||_|Srr__new__rclsrrrrs    rrzLTestSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_new.__new__wsC0$rrr
rrrrrs@rsubclass_with_newr


rr)rIassertIsrfrMrGrHrassertIsNonerrrkrrs     rtest_keywords_in_subclassz)TestSetSubclass.test_keywords_in_subclasss]	s	aV

d1gx(Q!Q(


y
)	"b!	"	%	%
1va0

d1g12Q!Q(1%		

q!f%

d1g01Q!Q(!((#


y
)	0q!fQ/	0	0-	"	",	0	0s'
E?)
F?F	FN)r
rrrr=rIrgrr
rrrrsGH0rrc>eZdZeZeZdZdZdZdZ	dZ
dZdZy)	
TestFrozenSetc|j|j}|j|j|j	|t|jyr)r=r:r1r;rMrIrs  rrzTestFrozenSet.test_inits<LL#	

4>>"C		N+rc|jtd}|j|}|jt|t|yr)r=rrMr}r!s   rr"z'TestFrozenSet.test_constructor_identitys9LLq"LLOA1&rc|jt|jdt|jdd}t|Dcgc]
}t	|}}t}tdD]6}t
||jt|j|8|jt|dycc}w)Nabcdebebecdadr)	rMr4r=rrrIrrrR)rrrrseqresultss     rr5zTestFrozenSet.test_hashsdll845dll845	7
%*1X.y|..%s	1ACLKKT\\#./0	1	
Wq)/sCc|jj}|jt|jt|yr)r>rrMr}r:s  rr;zTestFrozenSet.test_copys-ffkkmDFFRW-rcFttdtdzdgz}|j|}|jt|}|j	|||jt
|t
|i}d||<|j	||dy)Nrabcdefgapple*)rirr=reversedrMr~r})rrkey1key2rAs     rtest_frozen_as_dictkeyz$TestFrozenSet.test_frozen_as_dictkeys59oY/7);||C ||HSM*t$BtHbh/$4"%rcn|jd}|jt|t|y)Nabcdcda)r=rMr4rrs  rtest_hash_cachingzTestFrozenSet.test_hash_cachings(LL#a$q'*rc
Ld}t}|j}t|Dcgc]}|dzd|zf}}td|zD]5}|tt	|Dcgc]
\}}||zs|c}}7|jt
|d|zd}d}	tdD]d}d|z}
|
dz
}t|fD]M}t
tt|	||D
chc]}
|
|z	c}
}|jd|z|
Ofycc}wcc}}wcc}
w)N
rrDctg}t|dz
D]}t|}|j| |d|Sr)rVrr/)rnumsrrnums    rzf_rangez7TestFrozenSet.test_hash_effectiveness.<locals>.zf_rangesDK=D1Q3Z
!oC 
!8Orc3Ktt|dzD].}ttt	j
||Ed{0y7wr)rrRrrV	itertoolscombinations)r>rrs  rpowersetz7TestFrozenSet.test_hash_effectiveness.<locals>.powersetsC3q6!8_
Hy)*@*@A*FGGG
HGsAAAArJ)	rIrrr4rVrMrRr
assertGreater)rr
hashvaluesaddhashvaluerr	elemmasksrFmrrrmaskrhrks               rtest_hash_effectivenessz%TestFrozenSet.test_hash_effectivenesss#U
!~~*/(3Qac1a4[3	3q!t	LAiy(Htq!AaC(HIJK	LZ!Q$/		Hr	+AQAq5D)
+3tXd1g5F+GHaTHI""1Q3*
+	+#4(H&IsD
D)D)D!N)
r
rrrVr=rgrr"r5r;rrrr
rrrrs/GH,
'
*.&++rrceZdZy)FrozenSetSubclassNr	r
rrrrrrrc2eZdZeZeZdZdZdZ	dZ
dZy)TestFrozenSetSubclasscGddt}|ddg}|jt|||jt	|ddh|jt5|ddddGddt}|ddgd	
}|jt|||jt	|ddh|j|jd	Gddt}|ddgd	
}|jt|||jt	|ddh|j|jd	y#1swYxYw)
NceZdZy)ATestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclassNr	r
rrrrrrrrrDr
rceZdZddZy)KTestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_initNc||_yrr)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_newc6t|||}||_|Srrrs    rrzRTestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_new.__new__rrrrrs@rrrrrr)rVrrfrMrIrGrHrrs     rrz/TestFrozenSetSubclass.test_keywords_in_subclasss+	y	aV

d1gx(Q!Q(


y
)	"b!	"	%	%
1va0

d1g12Q!Q(1%			

q!fQ/

d1g01Q!Q(1%'	"	"s'
EE!c|jtd}|j|}|jt|t|yrr r!s   rr"z/TestFrozenSetSubclass.test_constructor_identityr#rc|jj}|jt|jt|yr)r>rr~r}r:s  rr;zTestFrozenSetSubclass.test_copys-ffkkmBtvvJ30rcj|j}|j|}|j||yr)r=rMr!s   rtest_nested_empty_constructorz3TestFrozenSetSubclass.test_nested_empty_constructors*LLNLLOArc|j}t}|}||g|d|d||g|d|d|td|||t||||||g}|jt	tt
t|t	|y)Nr
rwr)r=rVrrMrRrIrr})r	FrozensetrFefss     rtest_singleton_empty_frozensetz4TestFrozenSetSubclass.test_singleton_empty_frozenset#sLL	KK{IbM9R=)B-{IbM9R=)B-q"Iik$:%q!Yq\9Q<I
	
SR./S:rN)r
rrrr=rVrgrr"r;rrr
rrrrs%GH&6*
1
	;rrceZdZdZy)SetSubclassWithSlotsrmr__dict__Nr
rr	__slots__r
rrrr/&Irrc@eZdZeZejZejZy)TestSetSubclassWithSlotsN)r
rrrr=r5rBrr
rrrr2s"GE ..MrrceZdZdZy)FrozenSetSubclassWithSlotsrNrr
rrrr7rrrceZdZeZy)TestFrozenSetSubclassWithSlotsN)r
rrrr=r
rrr	r	:s(Grr	ceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZy)TestBasicOpsc||j0|jt|j|jyyr)r'rMrIrs r	test_reprzTestBasicOps.test_reprEs-99 T$((^TYY7!rct|j}|j|jd|j|j	d|ddjd}|j
|jDcgc]
}t|}}|j
|j||ycc}w)N{}rz, )	r'rIr
startswithendswithsplitsortvaluesrM)rtextresultr(sorted_repr_valuess     rcheck_repr_against_valuesz&TestBasicOps.check_repr_against_valuesIsDHH~,-

c*+a!!$'
7;{{Ced5kCC!!34DsB?cb|jt|j|jyr)rMrRrIlengthrs rtest_lengthzTestBasicOps.test_lengthTsTXX4rcP|j|j|jyrrMrIrs rtest_self_equalityzTestBasicOps.test_self_equalityW488,rcP|j|j|jyr)rMrIrrs rtest_equivalent_equalityz%TestBasicOps.test_equivalent_equalityZr!rcl|j|jj|jyr)rMrIrrrs rr;zTestBasicOps.test_copy]s $((3rcn|j|jz}|j||jyrrIrMrrrs  rtest_self_unionzTestBasicOps.test_self_union`(DHH$*rcb|jtz}|j||jyrrI	empty_setrMrr's  rtest_empty_unionzTestBasicOps.test_empty_uniond$I%*rcbt|jz}|j||jyr)r,rIrMrr's  rtest_union_emptyzTestBasicOps.test_union_emptyhs$TXX%*rcn|j|jz}|j||jyrr&r's  rtest_self_intersectionz#TestBasicOps.test_self_intersectionlr)rcV|jtz}|j|tyrrIr,rMr's  rtest_empty_intersectionz$TestBasicOps.test_empty_intersectionps I%+rcVt|jz}|j|tyrr,rIrMr's  rtest_intersection_emptyz$TestBasicOps.test_intersection_emptyt TXX%+rc|jj|j}|j||jyrrIrrMr's  rtest_self_isdisjointz!TestBasicOps.test_self_isdisjointxs0$$TXX.TXX.rcf|jjt}|j|dyr)rIrr,rMr's  rtest_empty_isdisjointz"TestBasicOps.test_empty_isdisjoint|s&$$Y/&rcftj|j}|j|dyr)r,rrIrMr's  rtest_isdisjoint_emptyz"TestBasicOps.test_isdisjoint_emptys&%%dhh/&rcb|j|jz}|j|tyrrIrMr,r's  rtest_self_symmetric_differencez+TestBasicOps.test_self_symmetric_difference$DHH$+rcb|jtz}|j||jyrr4r's  rtest_empty_symmetric_differencez,TestBasicOps.test_empty_symmetric_differencer.rcb|j|jz
}|j|tyrrBr's  rtest_self_differencez!TestBasicOps.test_self_differencerDrcb|jtz
}|j||jyrr+r's  rtest_empty_differencez"TestBasicOps.test_empty_differencer.rcVt|jz
}|j|tyrr7r's  rtest_empty_difference_revz&TestBasicOps.test_empty_difference_revr9rc|jD]}|j||j t|j}|j	|jt
|jyr)rIrWrrrM__length_hint__rR)rvsetiters   rtest_iterationzTestBasicOps.test_iterationsU	*AMM!T[[)	*txx.002CMBrcttjdzD]c}tj|j|}tj
|}|j
|j||jd|ey)Nrr)rrrrrIrrM)rrrrs    rrzTestBasicOps.test_picklingsd622Q67	<ETXXu-A<<?DTXXt+/88T:
<	<rc|jt5tjdddd|jt5tj	ddddy#1swYAxYw#1swYyxYw)Nr)rGrHrIrrlrs rtest_issue_37219zTestBasicOps.test_issue_37219sm


y
)	"ES!	"


y
)	)E##C(	)	)	"	"	)	)sA0
A<0A9<BN)r
rrr
rrr r#r;r(r-r0r2r5r8r<r>r@rCrFrHrJrLrQrrTr
rrrrCsv8	55--4++++,,/'',+,+,C<)rrceZdZdZy)TestBasicOpsEmptycd|_g|_t|j|_t|j|_d|_d|_y)Nz	empty setrzset()caserrIrrr'rs rrBzTestBasicOpsEmpty.setUps>!	$++&$++&	rNr
rrrBr
rrrVrVsrrVceZdZdZdZdZy)TestBasicOpsSingletoncd|_dg|_t|j|_t|j|_d|_d|_y)Nzunit set (number)rrz{3}rXrs rrBzTestBasicOpsSingleton.setUps@)	c$++&$++&	rc<|jd|jyrrWrIrs rtest_inzTestBasicOpsSingleton.test_ins

a"rc<|jd|jyNrDrArIrs rtest_not_inz!TestBasicOpsSingleton.test_not_inDHH%rNr
rrrBr`rdr
rrr\r\s#&rr\ceZdZdZdZdZy)TestBasicOpsTuplecd|_dg|_t|j|_t|j|_d|_d|_y)Nzunit set (tuple)rzerorz
{(0, 'zero')}rXrs rrBzTestBasicOpsTuple.setUps@(	"m$++&$++&%	rc<|jd|jy)Nrjr_rs rr`zTestBasicOpsTuple.test_ins

k488,rc<|jd|jy)N	rcrs rrdzTestBasicOpsTuple.test_not_inrerNrfr
rrrhrhs&-&rrhceZdZdZy)TestBasicOpsTriplecd|_ddtjg|_t	|j|_t	|j|_d|_d|_y)Nz
triple setrrkr)rYoperatorrrrIrrr'rs rrBzTestBasicOpsTriple.setUpsI"	&(,,/$++&$++&	rNrZr
rrrprpsrrpceZdZdZdZy)TestBasicOpsStringcd|_gd|_t|j|_t|j|_d|_y)Nz
string setrFr{rXrrYrrIrrrs rrBzTestBasicOpsString.setUps7"	%$++&$++&rc$|jyrrrs rr
zTestBasicOpsString.test_repr&&(rNr
rrrBr
r
rrrtrt)rrtceZdZdZdZy)TestBasicOpsBytescd|_gd|_t|j|_t|j|_d|_y)Nz	bytes set)abcrrwrs rrBzTestBasicOpsBytes.setUps7!	($++&$++&rc$|jyrryrs rr
zTestBasicOpsBytes.test_reprrzrNr{r
rrr~r~r|rr~ceZdZdZdZy)TestBasicOpsMixedStringBytesc|jtjtjdt
d|_gd|_t|j|_t|j|_	d|_
y)Nignorezstring and bytes set)rFr{rrrJ)enterContextrcheck_warningswarningssimplefilterBytesWarningrYrrIrrrs rrBz"TestBasicOpsMixedStringBytes.setUps^/88:;h5,	,$++&$++&rc$|jyrryrs rr
z&TestBasicOpsMixedStringBytes.test_repr	rzrNr{r
rrrrs)rrc#Ktwr)rHr
rrbaditerrs
Orc#Kdywrr
r
rrgooditerrs
Jsc eZdZ	dZdZdZy)TestExceptionPropagationcJ|jtttyr)rGrHrIrrs rtest_instanceWithExceptionz3TestExceptionPropagation.test_instanceWithExceptions)S')4rctgdtdtddddttdtdtty)Nr%rrDr)onetwothreera)rIrrrs rtest_instancesWithoutExceptionz7TestExceptionPropagation.test_instancesWithoutExceptions:GG1Aq)*E!H
E
HJrctgd}	|D]}|jdg	|jdy#t$rYywxYw)Nr%rJz0no exception when changing size during iteration)rIrWrpr)rr>rrs   rtest_changingSizeWhileIteratingz8TestExceptionPropagation.test_changingSizeWhileIterating$sPL	J
!



IIHI		s;	AAN)r
rrrrrr
rrrrsI5JrrceZdZdZy)
TestSetOfSetsc,tdg}t|g}|j}|jt	|t|j||j
||j|t|j|yr)rVrIr*rMrfrrr)rinnerouterelements    rtest_constructorzTestSetOfSets.test_constructor1sm1#UG))+g	2
		%
U&


erN)r
rrrr
rrrr0srrcxeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZy)
TestBinaryOpsc$td|_yNrDrJrIrs rrBzTestBinaryOps.setUp>
y>rc	V|j|jtddddy)Nrrrrrs rtest_eqzTestBinaryOps.test_eqAs!3!a!}#56rcl|jtdgz}|j|tdyNrDrr'r's  rtest_union_subsetzTestBinaryOps.test_union_subsetDs*CH$Y0rcr|jtgdz}|j|tgdyNrDrJrr'r's  rtest_union_supersetz!TestBinaryOps.test_union_supersetHs*C--\!23rcr|jtgdz}|j|tgdyNrrJr)rDrrJrrr'r's  rtest_union_overlapz TestBinaryOps.test_union_overlapLs)C	N*_!56rcp|jtdgz}|j|tgdyNrrr'r's  rtest_union_non_overlapz$TestBinaryOps.test_union_non_overlapP+CH$\!23rcj|jtdz}|j|tdyNrDrJr'r's  rtest_intersection_subsetz&TestBinaryOps.test_intersection_subsetTs(CK'V-rcr|jtgdz}|j|tgdyNrrr'r's  rtest_intersection_supersetz(TestBinaryOps.test_intersection_supersetXs)C--Y0rcp|jtgdz}|j|tdgyNrrJr'r's  rtest_intersection_overlapz'TestBinaryOps.test_intersection_overlap\s*C	N*aS*rcb|jtdgz}|j|tyNrrBr's  rtest_intersection_non_overlapz+TestBinaryOps.test_intersection_non_overlap`s&CH$+rcp|jjtd}|j|dy)NrFr;r's  rtest_isdisjoint_subsetz$TestBinaryOps.test_isdisjoint_subsetds*$$S[1'rct|jjtgd}|j|dy)NrFr;r's  rtest_isdisjoint_supersetz&TestBinaryOps.test_isdisjoint_superseths+$$S%67'rct|jjtgd}|j|dy)NrFr;r's  rtest_isdisjoint_overlapz%TestBinaryOps.test_isdisjoint_overlapls*$$S^4'rcr|jjtdg}|j|dy)NrTr;r's  rtest_isdisjoint_non_overlapz)TestBinaryOps.test_isdisjoint_non_overlapps,$$S!X.&rcl|jtdz}|j|tdgyNrrr'r's  rtest_sym_difference_subsetz(TestBinaryOps.test_sym_difference_subsetts*CK'aS*rcl|jtdz}|j|tdgyNrrr'r's  rtest_sym_difference_supersetz*TestBinaryOps.test_sym_difference_supersetxs+C--aS*rcn|jtdz}|j|tgdyNr)rDrrrr'r's  rtest_sym_difference_overlapz)TestBinaryOps.test_sym_difference_overlap|s)C	N*\!23rcp|jtdgz}|j|tgdyrr'r's  rtest_sym_difference_non_overlapz-TestBinaryOps.test_sym_difference_non_overlaprrN)r
rrrBrrrrrrrrrrrrrrrrrr
rrrr=s\"71474.1+,((('++44rrceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZy)
TestUpdateOpsc$td|_yrrrs rrBzTestUpdateOps.setUprrc|xjtdgzc_|j|jtdyrr'rs rrzTestUpdateOps.test_union_subsets.CH3y>2rc|xjtgdzc_|j|jtgdyrr'rs rrz!TestUpdateOps.test_union_supersets.C%%3|#45rc|xjtgdzc_|j|jtgdyrr'rs rrz TestUpdateOps.test_union_overlaps-C	N"3#78rc|xjtdgzc_|j|jtgdyrr'rs rrz$TestUpdateOps.test_union_non_overlap/CH3|#45rc|jjtgd|j|jtgdyr)rIrWrMrs rtest_union_method_callz$TestUpdateOps.test_union_method_calls/I'3#78rc|xjtdzc_|j|jtdyrr'rs rrz&TestUpdateOps.test_intersection_subsets,CK3v;/rc|xjtgdzc_|j|jtgdyrr'rs rrz(TestUpdateOps.test_intersection_supersets-C%%3y>2rc|xjtgdzc_|j|jtdgyrr'rs rrz'TestUpdateOps.test_intersection_overlaps.C	N"3s8,rc|xjtdgzc_|j|jtyrrBrs rrz+TestUpdateOps.test_intersection_non_overlaps*CH9-rc|jjtgd|j|jtdgyr)rIr`rMrs rtest_intersection_method_callz+TestUpdateOps.test_intersection_method_calls2$$S^43s8,rc|xjtdzc_|j|jtdgyrr'rs rrz(TestUpdateOps.test_sym_difference_subset.CK3s8,rc|xjtdzc_|j|jtdgyrr'rs rrz*TestUpdateOps.test_sym_difference_supersets/C%%3s8,rc|xjtdzc_|j|jtgdyrr'rs rrz)TestUpdateOps.test_sym_difference_overlaps-C	N"3|#45rc|xjtdgzc_|j|jtgdyrr'rs rrz-TestUpdateOps.test_sym_difference_non_overlaprrc|jjtgd|j|jtgdyr)rIrrMrs rtest_sym_difference_method_callz-TestUpdateOps.test_sym_difference_method_calls1,,S^<3|#45rc|xjtdzc_|j|jtdgyrr'rs rtest_difference_subsetz$TestUpdateOps.test_difference_subsetrrc|xjtdzc_|j|jtgyrr'rs rtest_difference_supersetz&TestUpdateOps.test_difference_supersets-C%%3r7+rc|xjtdzc_|j|jtddgyNrrDrr'rs rtest_difference_overlapz%TestUpdateOps.test_difference_overlaps0C	N"31v;/rc|xjtdgzc_|j|jtgdy)Nrrr'rs rtest_difference_non_overlapz)TestUpdateOps.test_difference_non_overlaps.CH3y>2rc|jjtgd|j|jtddgyr)rIrlrMrs rtest_difference_method_callz)TestUpdateOps.test_difference_method_calls4""3y>231v;/rN)r
rrrBrrrrrrrrrrrrrrrrrrrrr
rrrrsk"3696903-.---666-,030rrc`eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZy)
TestMutatecJgd|_t|j|_y)Nrv)rrIrs rrBzTestMutate.setUps%t{{#rc|jjd|j|jtdy)NrXrarIrrMrs rtest_add_presentzTestMutate.test_add_presents*S3u:.rc|jjd|j|jtdy)NrAr]rrs rtest_add_absentzTestMutate.test_add_absents*S3v;/rct}d}|jD]3}|j||dz
}|jt	||5|j||jy)Nrr)rIrrrMrR)rtmpexpected_lenrOs    rtest_add_until_fullzTestMutate.test_add_until_fulls`e	5AGGAJALSX|4	5	
dhh'rc|jjd|j|jtdy)Nr{ac)rIrrMrs rtest_remove_presentzTestMutate.test_remove_presents*3t9-rc|	|jjd|jdy#t$rYywxYw)NrAz7Removing missing element should have raised LookupError)rIrrpLookupErrorrs rtest_remove_absentzTestMutate.test_remove_absents6	HHOOC IIOP		s,/	;;ct|j}|jD]G}|jj||dz}|j	t|j|Iyr)rRrIrrrM)rrrOs   rtest_remove_until_emptyz"TestMutate.test_remove_until_emptysT488}	:AHHOOAALS]L9	:rc|jjd|j|jtdy)NrXrrIrrMrs rtest_discard_presentzTestMutate.test_discard_presents,3t9-rc|jjd|j|jtdy)NrArarrs rtest_discard_absentzTestMutate.test_discard_absents,3u:.rc|jj|jt|jdyr-)rIr7rMrRrs rr8zTestMutate.test_clears(TXX*rci}|jr*d||jj<|jr*|jt|t|j|jD]}|j||yr)rIr*rMrRrrW)rpoppedrOs   rrQzTestMutate.test_popsihh%)F488<<>"hhVc$++&67	%AMM!V$	%rc|jjd|j|jt|jy)Nr
rIrWrMrrs rtest_update_empty_tuplez"TestMutate.test_update_empty_tuples/3t{{#34rc|jjd|j|jt|jy)NrErrs rtest_update_unit_tuple_overlapz)TestMutate.test_update_unit_tuple_overlaps/3t{{#34rc|jjd|j|jt|jdgzy)N)rFrrrrs r"test_update_unit_tuple_non_overlapz-TestMutate.test_update_unit_tuple_non_overlap s6
#3t{{cU':#;<rN)r
rrrBrrrrrrrrr8rQrr!r#r
rrrrsH$/0(.:./+%55=rrc.eZdZdddZdddddd	d
ZdZy)
TestSubsetsrr)<=>===!=><r'r&)r(r)r+r*r&r'c^|j}|j}dD]}||jv}td|zdzt	}|j|||tjvr7t|tj|}||}|j||tj|}td|zdzt	}|j|||tjvst|tj|}||}|j||y)N)r)r(r+r&r*r'rmr)
leftrightcasesevallocalsrMr%case2methodgetattrreverse)rrmrrYrOrmethodrcases        r
test_issubsetzTestSubsets.test_issubset4s
IIJJ4	3Dtzz)H#*s*FH5FVX.{... K$;$;D$AB  2 ''-E#++VX6FVX./// K$;$;E$BC  2%	3rN)r
rrr2r4r7r
rrr%r%&s/#%KG3rr%c0eZdZeZeZdZdZy)TestSubsetEqualEmptyz
both emptyr(r&r'Nr
rrrIr-r.rr/r
rrr9r9LsEDEEDErr9c<eZdZeddgZeddgZdZdZy)TestSubsetEqualNonEmptyrrDz
equal pairr:Nr;r
rrr=r=Ts&AKDAKEDErr=c6eZdZeZeddgZdZdZy)TestSubsetEmptyNonEmptyrrDzone empty, one non-emptyr)r+r&Nr;r
rrr?r?\s EDAKE&DErr?c:eZdZedgZeddgZdZdZy)TestSubsetPartialrrDz&one a non-empty proper subset of otherr@Nr;r
rrrBrBds$HDAKE4DErrBc8eZdZedgZedgZdZdZy)TestSubsetNonOverlaprrDzneither empty, neither containsr)Nr;r
rrrDrDls"HDHE-DErrDc`eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZy)TestOnlySetsInBinaryOpscL|j|j|jk(d|j|j|jk(d|j|j|jk7d|j|j|jk7dyr)rMr!rIrs r
test_eq_nez"TestOnlySetsInBinaryOps.test_eq_nevsvtxx/7TZZ/7txx/6TZZ/6rcjtfdjtfdjtfdjtfdjtfdjtfdjtfdjtfdy)	Nc6jjkSrrIr!rsr<lambda>z:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>~TXX

-Brc6jjkSrrKrsrrLz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>TXX-Crc6jjkDSrrKrsrrLz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>rMrc6jjk\SrrKrsrrLz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>rOrc6jjkSrr!rIrsrrLz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>TZZ$((-Brc6jjkSrrSrsrrLz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>TZZ488-Crc6jjkDSrrSrsrrLz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>rTrc6jjk\SrrSrsrrLz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>rVr)rGrHrs`rtest_ge_gt_le_ltz(TestOnlySetsInBinaryOps.test_ge_gt_le_lt}s)%BC)%CD)%BC)%CD)%BC)%CD)%BC)%CDrc	|xj|jzc_|jdy#t$rYywxYwNzexpected TypeErrorrIr!rprHrs rtest_update_operatorz,TestOnlySetsInBinaryOps.test_update_operator<	,HH

"H
II*+		3	??c|jr&|jj|jy|j	t
|jj|jyr)otherIsIterablerIrWr!rGrHrs rrZz#TestOnlySetsInBinaryOps.test_updates=HHOODJJ'i$**Erc8jtfdjtfdjr&jj	j
yjtjjj
y)Nc6jjzSrrKrsrrLz4TestOnlySetsInBinaryOps.test_union.<locals>.<lambda>rMrc6jjzSrrSrsrrLz4TestOnlySetsInBinaryOps.test_union.<locals>.<lambda>rTr)rGrHrarIrer!rs`rrnz"TestOnlySetsInBinaryOps.test_unions`)%BC)%BCHHNN4::&iDrc	|xj|jzc_|jdy#t$rYywxYwr[r\rs r!test_intersection_update_operatorz9TestOnlySetsInBinaryOps.test_intersection_update_operatorr^r_c|jr&|jj|jy|j	t
|jj|jyr)rarIr`r!rGrHrs rrbz0TestOnlySetsInBinaryOps.test_intersection_updatesEHH((4i"hh::"jj
*rc8jtfdjtfdjr&jj	j
yjtjjj
y)Nc6jjzSrrKrsrrLz;TestOnlySetsInBinaryOps.test_intersection.<locals>.<lambda>rMrc6jjzSrrSrsrrLz;TestOnlySetsInBinaryOps.test_intersection.<locals>.<lambda>rTr)rGrHrarIr|r!rs`rrz)TestOnlySetsInBinaryOps.test_intersectionsd)%BC)%BCHH!!$**-i)>)>

Krc	|xj|jzc_|jdy#t$rYywxYwr[r\rs r#test_sym_difference_update_operatorz;TestOnlySetsInBinaryOps.test_sym_difference_update_operatorr^r_c|jr&|jj|jy|j	t
|jj|jyr)rarIrr!rGrHrs rtest_sym_difference_updatez2TestOnlySetsInBinaryOps.test_sym_difference_updatesEHH00<i"hhBB"jj
*rc8jtfdjtfdjr&jj	j
yjtjjj
y)Nc6jjzSrrKrsrrLz=TestOnlySetsInBinaryOps.test_sym_difference.<locals>.<lambda>rMrc6jjzSrrSrsrrLz=TestOnlySetsInBinaryOps.test_sym_difference.<locals>.<lambda>rTr)rGrHrarIrr!rs`rtest_sym_differencez+TestOnlySetsInBinaryOps.test_sym_differencesd)%BC)%BCHH))$**5i)F)F

Src	|xj|jzc_|jdy#t$rYywxYwr[r\rs rtest_difference_update_operatorz7TestOnlySetsInBinaryOps.test_difference_update_operatorr^r_c|jr&|jj|jy|j	t
|jj|jyr)rarIrlr!rGrHrs rrmz.TestOnlySetsInBinaryOps.test_difference_updatesEHH&&tzz2i"hh88"jj
*rc8jtfdjtfdjr&jj	j
yjtjjj
y)Nc6jjz
SrrKrsrrLz9TestOnlySetsInBinaryOps.test_difference.<locals>.<lambda>rMrc6jjz
SrrSrsrrLz9TestOnlySetsInBinaryOps.test_difference.<locals>.<lambda>rTr)rGrHrarIrr!rs`rrz'TestOnlySetsInBinaryOps.test_differencesd)%BC)%BCHH

+i)<)<djjIrN)r
rrrHrYr]rZrnrfrbrrlrnrrrtrmrr
rrrFrFtsN7	E,FE,*L,*T,*JrrFceZdZdZy)TestOnlySetsNumericc@td|_d|_d|_y)Nr%FrIr!rars rrBzTestOnlySetsNumeric.setUps^
$rNrZr
rrrzrz%rrzceZdZdZy)TestOnlySetsDictcFtd|_ddd|_d|_y)Nr%rDrJ)rrTr}rs rrBzTestOnlySetsDict.setUps ^QZ
#rNrZr
rrrr$rrceZdZdZy)TestOnlySetsOperatorc\td|_tj|_d|_y)Nr%F)rIrrrr!rars rrBzTestOnlySetsOperator.setUps ^\\
$rNrZr
rrrrr~rrceZdZdZy)TestOnlySetsTuplec@td|_d|_d|_y)Nr%rTr}rs rrBzTestOnlySetsTuple.setUps^
#rNrZr
rrrrrrrceZdZdZy)TestOnlySetsStringc@td|_d|_d|_y)Nr%raTr}rs rrBzTestOnlySetsString.setUp	s^
#rNrZr
rrrrrrrceZdZdZy)TestOnlySetsGeneratorcPd}td|_||_d|_y)Nc38KtdddD]}|yw)NrrrD)r)rrs rgenz(TestOnlySetsGenerator.setUp.<locals>.gens"1b!_

sr%Tr})rrs  rrBzTestOnlySetsGenerator.setUps%	^U
#rNrZr
rrrrs$rrceZdZdZdZy)TestCopyingc<|jj}t|t}t|jt}|j	t|t|t
t|D]}|j||||uyNrL)rIrrLr'rMrRrrrrdup_listset_listrrs     rr;zTestCopying.test_copysvhhmmo#4($((-XH
6s8}%	8AOOHQK8A;67	8rcDtj|j}t|t}t|jt}|jt
|t
|tt
|D]}|j||||yr)rrrIrLr'rMrRrrs     rtest_deep_copyzTestCopying.test_deep_copy%sxmmDHH%#4($((-XH
6s8}%	7AXa[(1+6	7rN)r
rrr;rr
rrrrs87rrceZdZdZy)TestCopyingEmptyc"t|_yrrrs rrBzTestCopyingEmpty.setUp1s5rNrZr
rrrr0srrceZdZdZy)TestCopyingSingletonc&tdg|_y)Nhellorrs rrBzTestCopyingSingleton.setUp7sy>rNrZr
rrrr6s"rrceZdZdZy)TestCopyingTriplec(tgd|_y)N)rkrNrrs rrBzTestCopyingTriple.setUp=s()rNrZr
rrrr<s*rrceZdZdZy)TestCopyingTuplec&tdg|_y)NrrDrrs rrBzTestCopyingTuple.setUpCsx=rNrZr
rrrrBs!rrceZdZdZy)TestCopyingNestedc&tdg|_y)N)r)rrJrrs rrBzTestCopyingNested.setUpIs()*rNrZr
rrrrHs+rrc*eZdZdZdZdZdZdZy)TestIdentitiescDtd|_td|_y)Nabracadabraalacazam)rIrFr{rs rrBzTestIdentities.setUpOs]#Zrc||j|j}}|j||z
|k|j||z
|k|j||z|k|j||z|k|j||z|kD|j||z|kD|j||z||zkyr)rFr{rrrFr{s   rtest_binopsVsSubsetsz#TestIdentities.test_binopsVsSubsetsSsvvtvv1A	"A	"A	"A	"A	"A	"AA
&rc|j|j}}|j||z||z|j||z||z|j||z||z||k7r|j||z
||z
yyr)rFr{rMr~rs   rtest_commutativityz!TestIdentities.test_commutativity]svvtvv11ac"1ac"1ac"6!QqS)rc|j|j}}|j||z
||zz||z
z||z|j||z||zz||z|j|||z
z||z|j||z
|z||z|j||z
||zz||j||z
||zz||j||z
||z
z||zyr)rFr{rMrs   rtest_summationszTestIdentities.test_summationsesvvtvv1!A#!ac*AaC0!A#!ac*AaC!A#&!A#q!A#&!A#!a(!A#!a(!A#!ac*rc|j|jt}}}|j||z
|z||j||z
|z||j||z||zz|yr)rFr{rIrM)rrFr{rks    rtest_exclusionzTestIdentities.test_exclusionpseVVTVVSUd1!A#q$'!A#q$'!A#!d+rN)r
rrrBrrrrr
rrrrNs!'*	+,rrc#$K	|D]}|ywrr
seqnrrs  rRrys
sceZdZ	dZdZy)Gc||_yrrrrs  rr1z
G.__init__s		rc |j|Srrrqs  r__getitem__z
G.__getitem__syy|rN)r
rrr1rr
rrrr~s rrc eZdZ	dZdZdZy)Ic ||_d|_yr-rrs  rr1z
I.__init__	rc|Srr
rs r__iter__z
I.__iter__rc|jt|jk\rt|j|j}|xjdz
c_|SrrrrRrrrrOs  r__next__z
I.__next__?66S^#=%8IIdff!rNr
rrr1rrr
rrrrs&rrceZdZ	dZdZy)Igc ||_d|_yr-rrs  rr1zIg.__init__rrc#6K|jD]}|ywrr)rvals  rrzIg.__iter__s99	CI	sNr
rrr1rr
rrrrs?rrceZdZ	dZdZy)Xc ||_d|_yr-rrs  rr1z
X.__init__rrc|jt|jk\rt|j|j}|xjdz
c_|Srrrs  rrz
X.__next__rrN)r
rrr1rr
rrrrs&rrceZdZ	dZdZy)Nc ||_d|_yr-rrs  rr1z
N.__init__rrc|Srr
rs rrz
N.__iter__rrNrr
rrrrs!rrc eZdZ	dZdZdZy)Ec ||_d|_yr-rrs  rr1z
E.__init__rrc|Srr
rs rrz
E.__iter__rrcddzy)Nrrr
rs rrz
E.__next__s		QrNrr
rrrrs$rrc eZdZ	dZdZdZy)Scyrr
rs  rr1z
S.__init__src|Srr
rs rrz
S.__iter__rrctr)rrs rrz
S.__next__srNrr
rrrrs
rr)chaincf	ttdttt	|S)Nc|Srr
)rms rrLzL.<locals>.<lambda>sar)rrrrrrs rLrs#&Z2ag;011rceZdZdZdZdZy)TestVariousIteratorArgscttfD]}ddtddtdddfD]}ttt
tttfD]D}|jt|||tt||tF|jt|t||jt|t||jt |t#|y)	N123rwrdog333333?rr)rIrVrrrrrrrrMrLr'rGrHrrZeroDivisionErrorr)rconsr>gs    rrz(TestVariousIteratorArgs.test_constructors)$	BDRtk5d1;MN
BQAq!,[A$$VD1JD%A6!A$TXCYZ[!!)TAaD9!!)TAaD9!!"3TAaDA
B	Brc
td}ddtddtdddd	fD]*}|j|j|j|j
|jfD]}tttttfD]k}||}|||}t|tr|j||<|jt|t 
t|t 
m|j#t$|t'||j#t$|t)||j#t*|t-|-y)Nnovemberrrwrrrrrdecemberr)rIrrer|rrrrrrrr
isinstanceboolrMrLr'rGrHrrrr)rr>rmethrrOrNs       rtest_inline_methodsz+TestVariousIteratorArgs.test_inline_methodss
OBd[%T!:LjY	AD!..!,,@V@VXYXdXde

AQAq)_A#DzH!!D']F!(D1((:((D)A6(X\C]^
_!!)T1Q48!!)T1Q48!!"3T1Q4@

A	Arc
ddtddtddddfD]N}d	D]E}ttttt
tfD]}td
}|j}t||t||t|||||jt|tt|t|jtttd
|t!||jtttd
|t#||jt$ttd
|t'|HQy)Nrrwrrrrrr)rWr`rlrjanuaryr)rrrrrrrrIrr3rirMrLr'rGrHrrrr)rrmethnamerr>rs      rtest_inplace_methodsz,TestVariousIteratorArgs.test_inplace_methodss.Bd[%T!:LjY	aDQ
aQAq!,OAIAA(GAx(ag7(GAx(41$$VA4%8&:MNO!!)WS^X-NPQRVPWX!!)WS^X-NPQRVPWX!!"3WS^X5VXYZ^X_`
a	arN)r
rrrrrr
rrrrsB
A
arrceZdZdZdZy)bad_eqcJtrtjt||uSr)be_badset2r7rr s  rr"z
bad_eq.__eq__sJJL##u}rcyr-r
rs rrzbad_eq.__hash__rrNr
rrr"rr
rrrrs
rrceZdZdZdZy)bad_dict_clearc>trtj||uSr)rdict2r7r s  rr"zbad_dict_clear.__eq__sKKMu}rcyr-r
rs rrzbad_dict_clear.__hash__rrNr
r
rrrrsrrceZdZdZdZdZy)
TestWeirdBugscdath}tdDchc]}tc}ada|j	t
|jtdath}tdiada|jtycc}w)NFKT)
rrrrrGrrWrrr)rset1rrs   rtest_8420_set_mergez!TestWeirdBugs.test_8420_set_mergesyz"'),Q,+T[[$? !!4(((/-sBc(ttd}|j|jtdt	|}|jttd}|jtdt|y)Nr)rIrr7rWrri)rr>sirFs    rtest_iter_and_mutatez"TestWeirdBugs.test_iter_and_mutates_c
O			s
!W		s	sRrcGfdd}ttdDchc]	}|c}dh}|jycc}w)NceZdZdZfdZy).TestWeirdBugs.test_merge_and_mutate.<locals>.XctdSr-)r4rs rrz7TestWeirdBugs.test_merge_and_mutate.<locals>.X.__hash__sAwrc&jy)NF)r7)ror!s  rr"z5TestWeirdBugs.test_merge_and_mutate.<locals>.X.__eq__s
rNr#)r!srrrs


rrrr)rIrrW)rrrrr>r!s    @rtest_merge_and_mutatez#TestWeirdBugs.test_merge_and_mutatesC		#Bi((
C	)sAN)r
rrrrrr
rrrrs
0	rrc"eZdZ	dZdZdZdZy)TestOperationsMutatingNcGfddd|jfdttdD|jfdttdDdfS)Nc"eZdZfdZdZy)<TestOperationsMutating.make_sets_of_bad_objects.<locals>.Badcsytddk(rjtddk(rjttdS)NFrrD)rr7r)rr!enabledrrs  rr"zCTestOperationsMutating.make_sets_of_bad_objects.<locals>.Bad.__eq__1sB R=A%JJLR=A%JJLIaL))rctdSrb)rrs rrzETestOperationsMutating.make_sets_of_bad_objects.<locals>.Bad.__hash__9s |#rNr
)r'rrsrBadr$0s

*
$rr)Fc3,K|]}
ywrr
r_r)s  rrzBTestOperationsMutating.make_sets_of_bad_objects.<locals>.<genexpr>= E1 Er2c3,K|]}
ywrr
r+s  rrzBTestOperationsMutating.make_sets_of_bad_objects.<locals>.<genexpr>>r-rT)constructor1rrconstructor2)rr)r'rrs @@@@rmake_sets_of_bad_objectsz/TestOperationsMutating.make_sets_of_bad_objects/sa
	$
	$   Eim0D EE   Eim0D EETzrctdD]}|j\}}	|||!y#t$r%}|jdt	|Yd}~Ld}~wwxYw)Nrzchanged size during iteration)rr2rrWrh)rfunctionr,rrrFs      rcheck_set_op_does_not_crashz2TestOperationsMutating.check_set_op_does_not_crashCscs	GA668JD$
Gt$	G 
G

=s1vFF
Gs	/	AAA)r
rrr0r1r2r5r
rrr!r!)s'LL(Grr!cfeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZy)TestBinaryOpsMutatingc(|jdy)Nc||k(Srr
rFr{s  rrLz=TestBinaryOpsMutating.test_eq_with_mutation.<locals>.<lambda>P
a1frr5rs rtest_eq_with_mutationz+TestBinaryOpsMutating.test_eq_with_mutationO(()<=rc(|jdy)Nc||k7Srr
r:s  rrLz=TestBinaryOpsMutating.test_ne_with_mutation.<locals>.<lambda>Sr;rr<rs rtest_ne_with_mutationz+TestBinaryOpsMutating.test_ne_with_mutationRr>rc(|jdy)Nc||kSrr
r:s  rrLz=TestBinaryOpsMutating.test_lt_with_mutation.<locals>.<lambda>V
a!err<rs rtest_lt_with_mutationz+TestBinaryOpsMutating.test_lt_with_mutationU(();<rc(|jdy)Nc||kSrr
r:s  rrLz=TestBinaryOpsMutating.test_le_with_mutation.<locals>.<lambda>Yr;rr<rs rtest_le_with_mutationz+TestBinaryOpsMutating.test_le_with_mutationXr>rc(|jdy)Nc||kDSrr
r:s  rrLz=TestBinaryOpsMutating.test_gt_with_mutation.<locals>.<lambda>\rDrr<rs rtest_gt_with_mutationz+TestBinaryOpsMutating.test_gt_with_mutation[rFrc(|jdy)Nc||k\Srr
r:s  rrLz=TestBinaryOpsMutating.test_ge_with_mutation.<locals>.<lambda>_r;rr<rs rtest_ge_with_mutationz+TestBinaryOpsMutating.test_ge_with_mutation^r>rc(|jdy)Nc||zSrr
r:s  rrLz>TestBinaryOpsMutating.test_and_with_mutation.<locals>.<lambda>brDrr<rs rtest_and_with_mutationz,TestBinaryOpsMutating.test_and_with_mutationarFrc(|jdy)Nc||zSrr
r:s  rrLz=TestBinaryOpsMutating.test_or_with_mutation.<locals>.<lambda>erDrr<rs rtest_or_with_mutationz+TestBinaryOpsMutating.test_or_with_mutationdrFrc(|jdy)Nc||z
Srr
r:s  rrLz>TestBinaryOpsMutating.test_sub_with_mutation.<locals>.<lambda>hrDrr<rs rtest_sub_with_mutationz,TestBinaryOpsMutating.test_sub_with_mutationgrFrc(|jdy)Nc||zSrr
r:s  rrLz>TestBinaryOpsMutating.test_xor_with_mutation.<locals>.<lambda>krDrr<rs rtest_xor_with_mutationz,TestBinaryOpsMutating.test_xor_with_mutationjrFrc,d}|j|y)Nc||z}yrr
r:s  rrz8TestBinaryOpsMutating.test_iadd_with_mutation.<locals>.fn
FArr<rs  rtest_iadd_with_mutationz-TestBinaryOpsMutating.test_iadd_with_mutationm	((+rc,d}|j|y)Nc||z}yrr
r:s  rrz7TestBinaryOpsMutating.test_ior_with_mutation.<locals>.fsr^rr<rs  rtest_ior_with_mutationz,TestBinaryOpsMutating.test_ior_with_mutationrr`rc,d}|j|y)Nc||z}yrr
r:s  rrz8TestBinaryOpsMutating.test_isub_with_mutation.<locals>.fxr^rr<rs  rtest_isub_with_mutationz-TestBinaryOpsMutating.test_isub_with_mutationwr`rc,d}|j|y)Nc||z}yrr
r:s  rrz8TestBinaryOpsMutating.test_ixor_with_mutation.<locals>.f}r^rr<rs  rtest_ixor_with_mutationz-TestBinaryOpsMutating.test_ixor_with_mutation|r`rc|d}d}d}|j||j||j|y)Nc |D]}|D]}yrr
rFr{rmrs    rf1z>TestBinaryOpsMutating.test_iteration_with_mutation.<locals>.f1&



rc |D]}|D]}yrr
)rFr{rrms    rf2z>TestBinaryOpsMutating.test_iteration_with_mutation.<locals>.f2rnrc,t||D]\}}yr)ziprls    rf3z>TestBinaryOpsMutating.test_iteration_with_mutation.<locals>.f3sAq	
1
rr<)rrmrprss    rtest_iteration_with_mutationz2TestBinaryOpsMutating.test_iteration_with_mutations=	
	
		
((,((,((,rN)r
rrr=rArErIrLrOrRrUrXr[r_rcrfrirtr
rrr7r7MsM>>=>=>====,
,
,
,
-rr7ceZdZeZeZy)TestBinaryOpsMutating_Set_SetNr
rrrIr0r1r
rrrvrvLLrrvceZdZeZeZy)'TestBinaryOpsMutating_Subclass_SubclassNr
rrrr0r1r
rrrzrzLLrrzceZdZeZeZy)"TestBinaryOpsMutating_Set_SubclassNr
rrrIr0rr1r
rrr~r~LLrr~ceZdZeZeZy)"TestBinaryOpsMutating_Subclass_SetNr
rrrr0rIr1r
rrrrLLrrcNeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
y)
TestMethodsMutatingcB|jtjyr)r5rIrrs rtest_issubset_with_mutationz/TestMethodsMutating.test_issubset_with_mutations((6rcB|jtjyr)r5rIrrs rtest_issuperset_with_mutationz1TestMethodsMutating.test_issuperset_with_mutation((8rcB|jtjyr)r5rIr|rs rtest_intersection_with_mutationz3TestMethodsMutating.test_intersection_with_mutations(()9)9:rcB|jtjyr)r5rIrers rtest_union_with_mutationz,TestMethodsMutating.test_union_with_mutations((3rcB|jtjyr)r5rIrrs rtest_difference_with_mutationz1TestMethodsMutating.test_difference_with_mutationrrcB|jtjyr)r5rIrrs r'test_symmetric_difference_with_mutationz;TestMethodsMutating.test_symmetric_difference_with_mutations(()A)ABrcB|jtjyr)r5rIrrs rtest_isdisjoint_with_mutationz1TestMethodsMutating.test_isdisjoint_with_mutationrrcB|jtjyr)r5rIrlrs r$test_difference_update_with_mutationz8TestMethodsMutating.test_difference_update_with_mutations(()>)>?rcB|jtjyr)r5rIr`rs r&test_intersection_update_with_mutationz:TestMethodsMutating.test_intersection_update_with_mutations(()@)@ArcB|jtjyr)r5rIrrs r.test_symmetric_difference_update_with_mutationzBTestMethodsMutating.test_symmetric_difference_update_with_mutations(()H)HIrcB|jtjyr)r5rIrWrs rtest_update_with_mutationz-TestMethodsMutating.test_update_with_mutations((4rN)r
rrrrrrrrrrrrrr
rrrrs=79;49C9@BJ5rrceZdZeZeZy)TestMethodsMutating_Set_SetNrwr
rrrrrxrrceZdZeZeZy)%TestMethodsMutating_Subclass_SubclassNr{r
rrrrr|rrceZdZeZeZy) TestMethodsMutating_Set_SubclassNrr
rrrrrrrceZdZeZeZy) TestMethodsMutating_Subclass_SetNrr
rrrrrrrc(eZdZeZejZy)TestMethodsMutating_Set_DictN)r
rrrIr0r?r@r1r
rrrrsL==LrrceZdZeZeZy)TestMethodsMutating_Set_ListN)r
rrrIr0rir1r
rrrrsLLrrc#K	t|}	tt|g}t|D]
}|||zy#t$rtYywxYwwr)rrVrrr)Urmrs   rrrs`7QAtAwi !	AGa%K	ks(
A0AAAAAAc	t|Dcgc]}t|g}}ttt|Dcgc] }|t|Dcgc]}||z	c}f"c}}Scc}wcc}wcc}}wr)rrVr?r)rrm
singletonsr>s    rcuberst+*/(3Q)QC.3J3"58,.YZ8!89:.//48.sA-A7
A2
A7
2A7
c		i}|D]n}||D]d}||Dcgc]}||k7s	t||g}}||Dcgc]}||k7s	t||g}}t||z|t||g<fp|Scc}wcc}wr)rV)rrrmrrnxnys       r	linegraphrs	A
31	3A,-aD;qAF)QqE";B;,-aD;qAF)QqE";B;"+BrE"2Ai1	33

H<;s
A9A9
A>A>c	t}|jD]\}}|D]}||D]}||k(r	|||vr|jt|||g.||D]j}||k(r	|||vr|jt||||g/||D]4}||k(s||k(r|||vs|jt|||||g6l|Sr)rIitemsrrV)rrrEedgesrGv3v4v5s        rfacesrsQAWWYK	E	KBe
K82;EE)RRL12e
K8$2;EE)RR,<"=>&'eK#%8rRx$,#%2;$%EE)RRR4H*I$J	K
K

K	KK&
HrceZdZdZdZy)
TestGraphsctd}t|}|jt|d|j	D]}|jt|dtd|j	D}|j||t|}|jt|d|D]}|jt|dy)Nrrc3.K|]
}|D]}|ywrr
)rrrOs   rrz'TestGraphs.test_cube.<locals>.<genexpr>$sAe5AaAArrJ)rrIrMrRrr)rr	vertices1edge	vertices2	cubefacesfaces       r	test_cubezTestGraphs.test_cubesGF	Y+HHJ	+DSY*	+AqxxzAA	I.!H	Y+	+DSY*	+rctd}t|}|jt|dt	|}|jD]}|jt|dt	d|jD}|j||t
|}tjt}|D]}|t|xxdz
cc<|j|dd|j|dd|D]8}	|	}
|jt|
d|
D]}|j||:y)	NrrJc3.K|]
}|D]}|ywrr
)rrrs   rrz0TestGraphs.test_cuboctahedron.<locals>.<genexpr>9sWUQVWDWDWrrrrrD)rrrMrRrIrrrdefaultdictr3rW)rr
cuboctahedronverticesr
othervertices	cubofaces	facesizesrvertexrcubeverts            rtest_cuboctahedronzTestGraphs.test_cuboctahedron,s4
G!!
]+R0}%"))+	,ESZ+	,Wm.B.B.DWW
=1-(	++C0		&Dc$i A% 	&1q)1q)#	+FDSY* 
+

h*
+	+rN)r
rrrrr
rrrrs
++rr__main__)lrtestrtest.supportrrrrrrrrandomrrrrcollections.abcr	Exceptionrrrr%r3r+r5TestCaserrIrrrrVrrrrrr	r,rrVr\rhrprtr~rrrrrrrrr%r9r=r?rBrDrFrzrrrrrrrrrrrrrrrrrrrrrrrrrrr!r7rvrzr~rrrrrrrrrrrrrr
mainr
rr<module>rs`(	
%	y	  
"c"{E{Ez	[3lH--[3z	#	!0g!0HG+L("3"3G+R			6;M6;r'3'/x00/
'')%=)

E	f)f)Th&7&7
&L(*;*;
&"
&h&7&7
&"x'8'8	)x'8'8	)	)h&7&7	))<1B1B)Jx00J6	H%%	E4H%%E4RR0H%%R0lF=""F=T#3#3L;(9(9k8+<+<k8+<+<X%6%6;(9(9pJpJh%183D3D%$.0A0A$%2H4E4E%$/1B1B$$0(2C2C$$3X5F5F$77*{H$5$5";(9(9"*X%6%6*!{H$5$5!+X%6%6+',X&&',V
		2'ah//'aR&H%%&R!G!GHD-2D-N$98;L;L.CXEVEV)>@Q@Q)>@Q@Q
!50!5H"5x7H7H,?ARAR':H<M<M':H<M<M!#68I8I!#68I8I	/


4,+"",+bzHMMOr