python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_set.cpython-312.opt-1.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rrceZdZdZdZy)ReprWrapperz*Used to test self-referential repr() callsc,t|jSr)reprvaluers r__repr__zReprWrapper.__repr__sDJJrN)r
rr__doc__r)r
rrr%r%s
0 rr%ceZdZdZdZdZy)HashCountingIntzBint-like object that counts the number of times __hash__ is calledcd|_yNr
hash_count)rargss  r__init__zHashCountingInt.__init__#s	rcV|xjdz
c_tj|Sr)r0intrrs rrzHashCountingInt.__hash__%s1||D!!rN)r
rrr*r2rr
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>setr2rs 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?rBassertEqualrHrr>rrI)ractualexpecteds   rtest_uniquificationz TestJointOps.test_uniquification7s]$&&>*(DLL/2CD)T\\B48rct|jt|jt|jyr)rNlenr?rBrs rtest_lenzTestJointOps.test_len>s"TVVc$&&k2rcr|jD],}|j||jv||jv.|j	t
|jjgg|jt|jg}|j|j|j|yr)
r=rNr?rBrHrI__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)
NabcbacdcabcdefgfeabcefgccbabcefabceffgrrE)r?unionr<r=rNrBr>r;typebasetyperHrrrIrJrWr@rAstrlisttuple)rurYCxs     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?rfr<rNrJrWfailrIris  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_rabcrccbcfbagb)r?intersectionr<r=rNrBr>r;rgrhrHrrrJrWr@rArirjrkidassertNotEqual)rrsrYrmr?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)Nc8t|j|S)z&Pure python equivalent of isdisjoint())rJr})s1s2s  rfz'TestJointOps.test_isdisjoint.<locals>.f{s2w++B///r)
rxrGabrbababacr]rwr_rarcTF)r>rJrWr@rArirjrk
isdisjointrN
assertTrue)	rrlargrrargrmrrOrPs	         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<rNrJrWrqrIrrs  rtest_andzTestJointOps.test_andsFF/#dnn"55q9)DNN";;Q?	BFFT^^#
II@A		ruc	|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_rbrarGrcr|rY)r?
differencer<r=rNrBr>r;rgrhrHrrrIrJrWr@rArirjrkrrsrYrms    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<rNrJrWrqrIrrs  rtest_subzTestJointOps.test_subsFFdnn-#dnn"55q9)DNN";;Q?	BFFT^^#
II@A		ruc|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`rarGrcrd)r?symmetric_differencer<r=rNrBr>r;rgrhrHrrrIrJrWr@rArirjrkrs    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<rNrJrWrqrIrrs  rtest_xorzTestJointOps.test_xorsFF''7#dnn"55q9)DNN";;Q?	BFFT^^#
II@A		ruc |j|jt|j|j|jt	|j|j|j|jk(d|j|jt|j|j|jt	|j|j|j|jk7dyNFT)rNr?rJr;rWrr<rs r
test_equalityzTestJointOps.test_equalitysTYY0499!56499,e4DFFC$78DFFIdnn$=>499,d3rcttgd}|j|}|jt	|dy)N)abcdefbcdbdcbfedfedccba)maprWr>rNrS)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)rabcdedefrGrbcbs)rr>rassertFalserJissubset
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)Nrrnr != y)rangepickleHIGHEST_PROTOCOLrgr?rJrWrnrdumpsloadsrNrhasattr)rrsrdups    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>rrassertIsInstancecollectionsrbIteratorrNnext
StopIteration)rprotoitorgdatarBitdrops       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  rr2z3TestJointOps.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r2rr)rsrrrs
#
"
.rr
r)r>copydeepcopyrr~rNr()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
).0rsrs  r	<genexpr>z'TestJointOps.test_gc.<locals>.<genexpr>s)))rJrcyclesub)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)r4r~rs rrz?TestJointOps.test_subclass_with_custom_hash.<locals>.H.__hash__%s2d8j011rN)r
rrrr
rrHr$s
2rr)r>rJaddrXremovediscard)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>rrHrrVrrrrrr?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(rJrNr'	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@rArr,rrNsumr>rrrrJrW)rnrBr?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
rrrmrYrrrmrzCycle was not collected)	objectweakrefrefrJrrngccollectr)rrmobjr	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rCrKrQrTrZrortrrrrrrrrrrrrrrrrrrrrr
rrr6r6)s%:935O&	B.(G	BY 	B`	B4$
5 'M*2"#	@F4&
BErr6ceZdZeZeZdZdZdZdZ	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)NrEr)r>r2r;rNrJr<rHrIrs  r	test_initzTestSet.test_initjsLLN	

499C		N+	

4>>"C/0)QZZA6)QZZ3rc|jtd}|j|}|jt|t|yNrr>rrr~rr?rs   rtest_constructor_identityz!TestSet.test_constructor_identitys9LLq"LLOBqE2a5)rcJtgd}hd}|j||y)NrrErrrErrJrNr"s   rtest_set_literalzTestSet.test_set_literalxs LArchd}|jt|d|j}|jt|ty)N>rr)rNrSpoprgr4)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#rrrErr&)rN)rr2r?r1s   @r!test_set_literal_evaluation_orderz)TestSet.test_set_literal_evaluation_orders5	
AYq	6!9-+rcN|jtt|jyr)rHrIhashr?rs r	test_hashzTestSet.test_hashs)T4662rc|jj|j|jt|jt	|jdyr.)r?clearrNrJrSrs r
test_clearzTestSet.test_clears='TVVa(rc|jj}|j|j||jt	|jt	||jt||jyr)r?rrNrr~rgrhrrs  r	test_copyzTestSet.test_copysYffkkm%BtvvJ30cDMM2rcj|jjd|jd|j|jj}|jjd|j	|j||jt|jjgy)NQ)r?rrXrrNrHrIr;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
|jyNrGr>)
r?rassertNotInrHKeyErrorrIr>rWr;rXrs  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?rrqrCr1rN)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?rrqrCrr1format)rkeyrGs   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|jyrA)	r?rrBrHrIr>rWr;rXrs  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)rrSr?r+rBrHrC)rrsrs   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`)rarbrcrdr\)r]r_rarcabcdaahi)r?updater<rNr;rXrHrrrIrJrWr@rArirjrkr>rretvalrYrrrmr?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?rJr<r;rXrrYs  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]rY)r_rx)rary)rcrxr\cbc)r?intersection_updater<rNr;rXrBrHrrrIrJrWr@rArirjrkr>)	rrZrYrrrmr?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?rJr<r;rXrBr]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_rbrarG)rcrbr\
abcdefghihabacdefghihr]efghih)r?difference_updater<rNr;rXrBrHrrrIrrJrWr@rArirjrkr>rYs       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||jYyrrer]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]rrTrhrUr\)r?rr<rNr;rXrBrHrrrIrJrWr@rArirjrkr>rYs       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||jZyrrer]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?rrNr>)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>rproxyrNrir
gc_collectrHReferenceError)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)rNrJrrs rrzTestSet.test_c_api~s	
))+T2rN)#r
rrrJr>rhrr#r)r-r3r6r9r<r?rDrIrNrPrRr[r^rcrfrnrprrrtrvr|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
rrsubclassrrrrrrEr
sequencec eZdZdfd	ZxZS)ETestSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_initc2t||||_yr)superr2newarg)rargr	__class__s   rr2zNTestSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_init.__init__s %$rr)r
rrr2
__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)rJassertIsrgrNrHrIrassertIsNonerrrlrrs     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>rJrhrr
rrrrsGH0rrc>eZdZeZeZdZdZdZdZ	dZ
dZdZy)	
TestFrozenSetc|j|j}|j|j|j	|t|jyr)r>r;r2r<rNrJrs  rrzTestFrozenSet.test_inits<LL#	

4>>"C		N+rc|jtd}|j|}|jt|t|yr )r>rrNr~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)	rNr5r>rrrJrrrS)rr	rsseqresultss     rr6zTestFrozenSet.test_hashsdll845dll845	7
%*1X.y|..%s	1ACLKKT\\#./0	1	
Wq)/sCc|jj}|jt|jt|yr)r?rrNr~r;s  rr<zTestFrozenSet.test_copys-ffkkmDFFRW-rcFttdtdzdgz}|j|}|jt|}|j	|||jt
|t
|i}d||<|j	||dy)Nrabcdefgapple*)rjrr>reversedrNrr~)rrkey1key2rBs     rtest_frozen_as_dictkeyz$TestFrozenSet.test_frozen_as_dictkeys59oY/7);||C ||HSM*t$BtHbh/$4"%rcn|jd}|jt|t|y)Nabcdcda)r>rNr5rrs  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
rrEctg}t|dz
D]}t|}|j| |d|Sr)rWrr0)r	numsrsnums    rzf_rangez7TestFrozenSet.test_hash_effectiveness.<locals>.zf_rangesDK=D1Q3Z
!oC 
!8Orc3Ktt|dzD].}ttt	j
||Ed{0y7wr)rrSrrW	itertoolscombinations)r?rss  rpowersetz7TestFrozenSet.test_hash_effectiveness.<locals>.powersetsC3q6!8_
Hy)*@*@A*FGGG
HGsAAAArK)	rJrrr5rWrNrSr
assertGreater)rr	
hashvaluesaddhashvaluers	elemmasksrGmrrrmaskrhrls               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rWr>rhrr#r6r<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
rrrrrrrrrEr
rceZdZddZy)KTestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_initNc||_yrr)rrrs   rr2zTTestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_init.__init__s	$rr)r
rrr2r
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)rWrrgrNrJrHrIrrs     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|yr r!r"s   rr#z/TestFrozenSetSubclass.test_constructor_identityr$rc|jj}|jt|jt|yr)r?rrr~r;s  rr<zTestFrozenSetSubclass.test_copys-ffkkmBtvvJ30rcj|j}|j|}|j||yr)r>rNr"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
rxr)r>rWrrNrSrJrr~)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>rWrhrr#r<rrr
rrrrs%GH&6*
1
	;rrceZdZdZy)SetSubclassWithSlotsrnr__dict__Nr
rr	__slots__r
rrrr/&Irrc@eZdZeZejZejZy)TestSetSubclassWithSlotsN)r
rrrr>r6rCrr
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'rNrJrs 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'rJr
startswithendswithsplitsortvaluesrN)rtextresultr(sorted_repr_valuess     rcheck_repr_against_valuesz&TestBasicOps.check_repr_against_valuesIsDHH~,-

c*+a!!$'
7;{{Ced5kCC!!34DsB?cb|jt|j|jyr)rNrSrJlengthrs rtest_lengthzTestBasicOps.test_lengthTsTXX4rcP|j|j|jyrrNrJrs rtest_self_equalityzTestBasicOps.test_self_equalityW488,rcP|j|j|jyr)rNrJrrs rtest_equivalent_equalityz%TestBasicOps.test_equivalent_equalityZr"rcl|j|jj|jyr)rNrJrrrs rr<zTestBasicOps.test_copy]s $((3rcn|j|jz}|j||jyrrJrNrrrs  rtest_self_unionzTestBasicOps.test_self_union`(DHH$*rcb|jtz}|j||jyrrJ	empty_setrNrr(s  rtest_empty_unionzTestBasicOps.test_empty_uniond$I%*rcbt|jz}|j||jyr)r-rJrNrr(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|tyrrJr-rNr(s  rtest_empty_intersectionz$TestBasicOps.test_empty_intersectionps I%+rcVt|jz}|j|tyrr-rJrNr(s  rtest_intersection_emptyz$TestBasicOps.test_intersection_emptyt TXX%+rc|jj|j}|j||jyrrJrrNr(s  rtest_self_isdisjointz!TestBasicOps.test_self_isdisjointxs0$$TXX.TXX.rcf|jjt}|j|dyr)rJrr-rNr(s  rtest_empty_isdisjointz"TestBasicOps.test_empty_isdisjoint|s&$$Y/&rcftj|j}|j|dyr)r-rrJrNr(s  rtest_isdisjoint_emptyz"TestBasicOps.test_isdisjoint_emptys&%%dhh/&rcb|j|jz}|j|tyrrJrNr-r(s  rtest_self_symmetric_differencez+TestBasicOps.test_self_symmetric_difference$DHH$+rcb|jtz}|j||jyrr5r(s  rtest_empty_symmetric_differencez,TestBasicOps.test_empty_symmetric_differencer/rcb|j|jz
}|j|tyrrCr(s  rtest_self_differencez!TestBasicOps.test_self_differencerErcb|jtz
}|j||jyrr,r(s  rtest_empty_differencez"TestBasicOps.test_empty_differencer/rcVt|jz
}|j|tyrr8r(s  rtest_empty_difference_revz&TestBasicOps.test_empty_difference_revr:rc|jD]}|j||j t|j}|j	|jt
|jyr)rJrXrrrN__length_hint__rS)rvsetiters   rtest_iterationzTestBasicOps.test_iterationsU	*AMM!T[[)	*txx.002CMBrcttjdzD]c}tj|j|}tj
|}|j
|j||jd|ey)Nrr)rrrrrJrrN)rrrrs    rrzTestBasicOps.test_picklingsd622Q67	<ETXXu-A<<?DTXXt+/88T:
<	<rc|jt5tjdddd|jt5tj	ddddy#1swYAxYw#1swYyxYw)Nr)rHrIrJrrmrs rtest_issue_37219zTestBasicOps.test_issue_37219sm


y
)	"ES!	"


y
)	)E##C(	)	)	"	"	)	)sA0
A<0A9<BN)r
rrrrrr!r$r<r)r.r1r3r6r9r=r?rArDrGrIrKrMrRrrUr
rrrrCsv8	55--4++++,,/'',+,+,C<)rrceZdZdZy)TestBasicOpsEmptycd|_g|_t|j|_t|j|_d|_d|_y)Nz	empty setrzset()caserrJrrr'rs rrCzTestBasicOpsEmpty.setUps>!	$++&$++&	rNr
rrrCr
rrrWrWsrrWceZdZdZdZdZy)TestBasicOpsSingletoncd|_dg|_t|j|_t|j|_d|_d|_y)Nzunit set (number)rrz{3}rYrs rrCzTestBasicOpsSingleton.setUps@)	c$++&$++&	rc<|jd|jyr rXrJrs rtest_inzTestBasicOpsSingleton.test_ins

a"rc<|jd|jyNrErBrJrs rtest_not_inz!TestBasicOpsSingleton.test_not_inDHH%rNr
rrrCrarer
rrr]r]s#&rr]ceZdZdZdZdZy)TestBasicOpsTuplecd|_dg|_t|j|_t|j|_d|_d|_y)Nzunit set (tuple)rzerorz
{(0, 'zero')}rYrs rrCzTestBasicOpsTuple.setUps@(	"m$++&$++&%	rc<|jd|jy)Nrkr`rs rrazTestBasicOpsTuple.test_ins

k488,rc<|jd|jy)N	rdrs rrezTestBasicOpsTuple.test_not_inrfrNrgr
rrriris&-&rriceZdZdZy)TestBasicOpsTriplecd|_ddtjg|_t	|j|_t	|j|_d|_d|_y)Nz
triple setrrlr)rZoperatorrrrJrrr'rs rrCzTestBasicOpsTriple.setUpsI"	&(,,/$++&$++&	rNr[r
rrrqrqsrrqceZdZdZdZy)TestBasicOpsStringcd|_gd|_t|j|_t|j|_d|_y)Nz
string setrGr|rYrrZrrJrrrs rrCzTestBasicOpsString.setUps7"	%$++&$++&rc$|jyrrrs rrzTestBasicOpsString.test_repr&&(rNr
rrrCrr
rrruru)rruceZdZdZdZy)TestBasicOpsBytescd|_gd|_t|j|_t|j|_d|_y)Nz	bytes set)abcrrxrs rrCzTestBasicOpsBytes.setUps7!	($++&$++&rc$|jyrrzrs rrzTestBasicOpsBytes.test_reprr{rNr|r
rrrrr}rrceZdZdZdZy)TestBasicOpsMixedStringBytesc|jtjtjdt
d|_gd|_t|j|_t|j|_	d|_
y)Nignorezstring and bytes set)rGr|rrrK)enterContextrcheck_warningswarningssimplefilterBytesWarningrZrrJrrrs rrCz"TestBasicOpsMixedStringBytes.setUps^/88:;h5,	,$++&$++&rc$|jyrrzrs rrz&TestBasicOpsMixedStringBytes.test_repr	r{rNr|r
rrrrs)rrc#Ktwr)rIr
rrbaditerrs
Orc#Kdywrr
r
rrgooditerrs
Jsc"eZdZdZdZdZdZy)TestExceptionPropagationz?SF 628246:  Set constructor should not trap iterator TypeErrorscJ|jtttyr)rHrIrJrrs rtest_instanceWithExceptionz3TestExceptionPropagation.test_instanceWithExceptions)S')4rctgdtdtddddttdtdtty)Nr&rrEr)onetwothreerb)rJrrrs rtest_instancesWithoutExceptionz7TestExceptionPropagation.test_instancesWithoutExceptions:GG1Aq)*E!H
E
HJrctgd}	|D]}|jdg	|jdy#t$rYywxYw)Nr&rKz0no exception when changing size during iteration)rJrXrqr)rr?rss   rtest_changingSizeWhileIteratingz8TestExceptionPropagation.test_changingSizeWhileIterating$sPL	J
!



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


erN)r
rrrr
rrrr0srrcxeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZy)
TestBinaryOpsc$td|_yNrErKrJrs rrCzTestBinaryOps.setUp>
y>rc	V|j|jtddddy)Nrrrr rs rtest_eqzTestBinaryOps.test_eqAs!3!a!}#56rcl|jtdgz}|j|tdyNrErr(r(s  rtest_union_subsetzTestBinaryOps.test_union_subsetDs*CH$Y0rcr|jtgdz}|j|tgdyNrErKrr(r(s  rtest_union_supersetz!TestBinaryOps.test_union_supersetHs*C--\!23rcr|jtgdz}|j|tgdyNrrKr)rErrKrrr(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|tdyNrErKr(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|tdgyNrrKr(r(s  rtest_intersection_overlapz'TestBinaryOps.test_intersection_overlap\s*C	N*aS*rcb|jtdgz}|j|tyNrrCr(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)rErrrr(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rCrrrrrrrrrrrrrrrrrr
rrrr=s\"71474.1+,((('++44rrceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZy)
TestUpdateOpsc$td|_yrrrs rrCzTestUpdateOps.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)rJrXrNrs 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|jtyrrCrs rrz+TestUpdateOps.test_intersection_non_overlaps*CH9-rc|jjtgd|j|jtdgyr)rJrarNrs 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)rJrrNrs 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|jtddgyNrrErr(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)rJrmrNrs rtest_difference_method_callz)TestUpdateOps.test_difference_method_calls4""3y>231v;/rN)r
rrrCrrrrrrrrrrrrrrrrrrrrr
rrrrsk"3696903-.---666-,030rrc`eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZy)
TestMutatecJgd|_t|j|_y)Nrw)rrJrs rrCzTestMutate.setUps%t{{#rc|jjd|j|jtdy)NrYrbrJrrNrs rtest_add_presentzTestMutate.test_add_presents*S3u:.rc|jjd|j|jtdy)NrBr^rrs rtest_add_absentzTestMutate.test_add_absents*S3v;/rct}d}|jD]3}|j||dz
}|jt	||5|j||jy)Nrr)rJrrrNrS)rtmpexpected_lenrPs    rtest_add_until_fullzTestMutate.test_add_until_fulls`e	5AGGAJALSX|4	5	
dhh'rc|jjd|j|jtdy)Nr|ac)rJrrNrs rtest_remove_presentzTestMutate.test_remove_presents*3t9-rc|	|jjd|jdy#t$rYywxYw)NrBz7Removing missing element should have raised LookupError)rJrrqLookupErrorrs rtest_remove_absentzTestMutate.test_remove_absents6	HHOOC IIOP		s,/	;;ct|j}|jD]G}|jj||dz}|j	t|j|Iyr)rSrJrrrN)rrrPs   rtest_remove_until_emptyz"TestMutate.test_remove_until_emptysT488}	:AHHOOAALS]L9	:rc|jjd|j|jtdy)NrYrrJrrNrs rtest_discard_presentzTestMutate.test_discard_presents,3t9-rc|jjd|j|jtdy)NrBrbrrs rtest_discard_absentzTestMutate.test_discard_absents,3u:.rc|jj|jt|jdyr.)rJr8rNrSrs rr9zTestMutate.test_clears(TXX*rci}|jr*d||jj<|jr*|jt|t|j|jD]}|j||yr)rJr+rNrSrrX)rpoppedrPs   rrRzTestMutate.test_popsihh%)F488<<>"hhVc$++&67	%AMM!V$	%rc|jjd|j|jt|jy)Nr
rJrXrNrrs rtest_update_empty_tuplez"TestMutate.test_update_empty_tuples/3t{{#34rc|jjd|j|jt|jy)NrFrrs rtest_update_unit_tuple_overlapz)TestMutate.test_update_unit_tuple_overlaps/3t{{#34rc|jjd|j|jt|jdgzy)N)rGrrrrs r"test_update_unit_tuple_non_overlapz-TestMutate.test_update_unit_tuple_non_overlap s6
#3t{{cU':#;<rN)r
rrrCrr	r
rrrrrr9rRr r"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(rnr)
leftrightcasesevallocalsrNr&case2methodgetattrreverse)rrnrrZrPrmethodrcases        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r3r5r8r
rrr&r&&s/#%KG3rr&c0eZdZeZeZdZdZy)TestSubsetEqualEmptyz
both emptyr)r'r(Nr
rrrJr.r/rr0r
rrr:r:LsEDEEDErr:c<eZdZeddgZeddgZdZdZy)TestSubsetEqualNonEmptyrrEz
equal pairr;Nr<r
rrr>r>Ts&AKDAKEDErr>c6eZdZeZeddgZdZdZy)TestSubsetEmptyNonEmptyrrEzone empty, one non-emptyr*r,r'Nr<r
rrr@r@\s EDAKE&DErr@c:eZdZedgZeddgZdZdZy)TestSubsetPartialrrEz&one a non-empty proper subset of otherrANr<r
rrrCrCds$HDAKE4DErrCc8eZdZedgZedgZdZdZy)TestSubsetNonOverlaprrEzneither empty, neither containsr*Nr<r
rrrErEls"HDHE-DErrEc`eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZy)TestOnlySetsInBinaryOpscL|j|j|jk(d|j|j|jk(d|j|j|jk7d|j|j|jk7dyr)rNr!rJrs r
test_eq_nez"TestOnlySetsInBinaryOps.test_eq_nevsvtxx/7TZZ/7txx/6TZZ/6rcjtfdjtfdjtfdjtfdjtfdjtfdjtfdjtfdy)	Nc6jjkSrrJr!rsr<lambda>z:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>~TXX

-Brc6jjkSrrLrsrrMz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>TXX-Crc6jjkDSrrLrsrrMz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>rNrc6jjk\SrrLrsrrMz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>rPrc6jjkSrr!rJrsrrMz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>TZZ$((-Brc6jjkSrrTrsrrMz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>TZZ488-Crc6jjkDSrrTrsrrMz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>rUrc6jjk\SrrTrsrrMz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>rWr)rHrIrs`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 TypeErrorrJr!rqrIrs rtest_update_operatorz,TestOnlySetsInBinaryOps.test_update_operator<	,HH

"H
II*+		3	??c|jr&|jj|jy|j	t
|jj|jyr)otherIsIterablerJrXr!rHrIrs rr[z#TestOnlySetsInBinaryOps.test_updates=HHOODJJ'i$**Erc8jtfdjtfdjr&jj	j
yjtjjj
y)Nc6jjzSrrLrsrrMz4TestOnlySetsInBinaryOps.test_union.<locals>.<lambda>rNrc6jjzSrrTrsrrMz4TestOnlySetsInBinaryOps.test_union.<locals>.<lambda>rUr)rHrIrbrJrfr!rs`rroz"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)rbrJrar!rHrIrs rrcz0TestOnlySetsInBinaryOps.test_intersection_updatesEHH((4i"hh::"jj
*rc8jtfdjtfdjr&jj	j
yjtjjj
y)Nc6jjzSrrLrsrrMz;TestOnlySetsInBinaryOps.test_intersection.<locals>.<lambda>rNrc6jjzSrrTrsrrMz;TestOnlySetsInBinaryOps.test_intersection.<locals>.<lambda>rUr)rHrIrbrJr}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)rbrJrr!rHrIrs rtest_sym_difference_updatez2TestOnlySetsInBinaryOps.test_sym_difference_updatesEHH00<i"hhBB"jj
*rc8jtfdjtfdjr&jj	j
yjtjjj
y)Nc6jjzSrrLrsrrMz=TestOnlySetsInBinaryOps.test_sym_difference.<locals>.<lambda>rNrc6jjzSrrTrsrrMz=TestOnlySetsInBinaryOps.test_sym_difference.<locals>.<lambda>rUr)rHrIrbrJrr!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)rbrJrmr!rHrIrs rrnz.TestOnlySetsInBinaryOps.test_difference_updatesEHH&&tzz2i"hh88"jj
*rc8jtfdjtfdjr&jj	j
yjtjjj
y)Nc6jjz
SrrLrsrrMz9TestOnlySetsInBinaryOps.test_difference.<locals>.<lambda>rNrc6jjz
SrrTrsrrMz9TestOnlySetsInBinaryOps.test_difference.<locals>.<lambda>rUr)rHrIrbrJrr!rs`rrz'TestOnlySetsInBinaryOps.test_differencesd)%BC)%BCHH

+i)<)<djjIrN)r
rrrIrZr^r[rorgrcrrmrorsrurnrr
rrrGrGtsN7	E,FE,*L,*T,*JrrGceZdZdZy)TestOnlySetsNumericc@td|_d|_d|_y)Nr&FrJr!rbrs rrCzTestOnlySetsNumeric.setUps^
$rNr[r
rrr{r{%rr{ceZdZdZy)TestOnlySetsDictcFtd|_ddd|_d|_y)Nr&rErK)rrTr~rs rrCzTestOnlySetsDict.setUps ^QZ
#rNr[r
rrrr$rrceZdZdZy)TestOnlySetsOperatorc\td|_tj|_d|_y)Nr&F)rJrsrr!rbrs rrCzTestOnlySetsOperator.setUps ^\\
$rNr[r
rrrrrrrceZdZdZy)TestOnlySetsTuplec@td|_d|_d|_y)Nr&rTr~rs rrCzTestOnlySetsTuple.setUps^
#rNr[r
rrrrrrrceZdZdZy)TestOnlySetsStringc@td|_d|_d|_y)Nr&rbTr~rs rrCzTestOnlySetsString.setUp	s^
#rNr[r
rrrrrrrceZdZdZy)TestOnlySetsGeneratorcPd}td|_||_d|_y)Nc38KtdddD]}|yw)NrrrE)r)rss rgenz(TestOnlySetsGenerator.setUp.<locals>.gens"1b!_

sr&Tr~)rrs  rrCzTestOnlySetsGenerator.setUps%	^U
#rNr[r
rrrrs$rrceZdZdZdZy)TestCopyingc<|jj}t|t}t|jt}|j	t|t|t
t|D]}|j||||uyNrM)rJrrMr'rNrSrrrrdup_listset_listrss     rr<zTestCopying.test_copysvhhmmo#4($((-XH
6s8}%	8AOOHQK8A;67	8rcDtj|j}t|t}t|jt}|jt
|t
|tt
|D]}|j||||yr)rrrJrMr'rNrSrrs     rtest_deep_copyzTestCopying.test_deep_copy%sxmmDHH%#4($((-XH
6s8}%	7AXa[(1+6	7rN)r
rrr<rr
rrrrs87rrceZdZdZy)TestCopyingEmptyc"t|_yrrrs rrCzTestCopyingEmpty.setUp1s5rNr[r
rrrr0srrceZdZdZy)TestCopyingSingletonc&tdg|_y)Nhellorrs rrCzTestCopyingSingleton.setUp7sy>rNr[r
rrrr6s"rrceZdZdZy)TestCopyingTriplec(tgd|_y)N)rlrNrrs rrCzTestCopyingTriple.setUp=s()rNr[r
rrrr<s*rrceZdZdZy)TestCopyingTuplec&tdg|_y)NrrErrs rrCzTestCopyingTuple.setUpCsx=rNr[r
rrrrBs!rrceZdZdZy)TestCopyingNestedc&tdg|_y)N)r)rrKrrs rrCzTestCopyingNested.setUpIs()*rNr[r
rrrrHs+rrc*eZdZdZdZdZdZdZy)TestIdentitiescDtd|_td|_y)Nabracadabraalacazam)rJrGr|rs rrCzTestIdentities.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)rGr|rrrGr|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)rGr|rNrrs   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)rGr|rNrs   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)rGr|rJrN)rrGr|rls    rtest_exclusionzTestIdentities.test_exclusionpseVVTVVSUd1!A#q$'!A#q$'!A#!d+rN)r
rrrCrrrrr
rrrrNs!'*	+,rrc#"K|D]}|yw)zRegular generatorNr
seqnrss  rRrys
s
ceZdZdZdZdZy)GzSequence using __getitem__c||_yrrrrs  rr2z
G.__init__s		rc |j|Srrrrs  r__getitem__z
G.__getitem__syy|rN)r
rrr*r2rr
rrrr~s rrc"eZdZdZdZdZdZy)Iz Sequence using iterator protocolc ||_d|_yr.rrs  rr2z
I.__init__	rc|Srr
rs r__iter__z
I.__iter__rc|jt|jk\rt|j|j}|xjdz
c_|SrrsrSrrrrPs  r__next__z
I.__next__?66S^#=%8IIdff!rNr
rrr*r2rrr
rrrrs&rrceZdZdZdZdZy)Igz9Sequence using iterator protocol defined with a generatorc ||_d|_yr.rrs  rr2zIg.__init__rrc#6K|jD]}|ywrr)rvals  rrzIg.__iter__s99	CI	sNr
rrr*r2rr
rrrrs?rrceZdZdZdZdZy)Xz Missing __getitem__ and __iter__c ||_d|_yr.rrs  rr2z
X.__init__rrc|jt|jk\rt|j|j}|xjdz
c_|Srrrs  rrz
X.__next__rrN)r
rrr*r2rr
rrrrs&rrceZdZdZdZdZy)NzIterator missing __next__()c ||_d|_yr.rrs  rr2z
N.__init__rrc|Srr
rs rrz
N.__iter__rrNrr
rrrrs!rrc"eZdZdZdZdZdZy)EzTest propagation of exceptionsc ||_d|_yr.rrs  rr2z
E.__init__rrc|Srr
rs rrz
E.__iter__rrcddzy)Nrrr
rs rrz
E.__next__s		QrNrr
rrrrs$rrc"eZdZdZdZdZdZy)SzTest immediate stopcyrr
rs  rr2z
S.__init__src|Srr
rs rrz
S.__iter__rrctr)rrs rrz
S.__next__srNrr
rrrrs
rr)chaincdttdttt	|S)z Test multiple tiers of iteratorsc|Srr
)rns rrMzL.<locals>.<lambda>sar)rrrrrrs rLrs Z2ag;011rceZdZdZdZdZy)TestVariousIteratorArgscttfD]}ddtddtdddfD]}ttt
tttfD]D}|jt|||tt||tF|jt|t||jt|t||jt |t#|y)	N123rxrdog333333?rr)rJrWrrrrrrrrNrMr'rHrIrrZeroDivisionErrorr)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)Nnovemberrrxrrrrrdecemberr)rJrrfr}rrrrrrrr
isinstanceboolrNrMr'rHrIrrrr)rr?rmethrrPrOs       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)Nrrxrrrrrr)rXrarmrjanuaryr)rrrrrrrrJrr4rjrNrMr'rHrIrrrr)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_badset2r8rr 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)rdict2r8r s  rr"zbad_dict_clear.__eq__sKKMu}rcyr.r
rs rrzbad_dict_clear.__hash__rrNrr
rrr
r
srr
ceZdZdZdZdZy)
TestWeirdBugscdath}tdDchc]}tc}ada|j	t
|jtdath}tdiada|jtycc}w)NFKT)
rrrr	rHrrXr
rr)rset1rss   rtest_8420_set_mergez!TestWeirdBugs.test_8420_set_mergesyz"'),Q,+T[[$? !!4(((/-sBc(ttd}|j|jtdt	|}|jttd}|jtdt|y)Nr)rJrr8rXrrj)rr?sirGs    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.)r5rs rrz7TestWeirdBugs.test_merge_and_mutate.<locals>.X.__hash__sAwrc&jy)NF)r8)ror!s  rr"z5TestWeirdBugs.test_merge_and_mutate.<locals>.X.__eq__s
rNr#)r!srrrs


rrrr)rJrrX)rrrsr?r!s    @rtest_merge_and_mutatez#TestWeirdBugs.test_merge_and_mutatesC		#Bi((
C	)sAN)r
rrrrr r
rrrrs
0	rrc$eZdZdZdZdZdZdZy)TestOperationsMutatingzRegression test for bpo-46615NcGfddd|jfdttdD|jfdttdDdfS)Nc"eZdZfdZdZy)<TestOperationsMutating.make_sets_of_bad_objects.<locals>.Badcsytddk(rjtddk(rjttdS)NFrrE)rr8r)rr!enabledrr	s  rr"zCTestOperationsMutating.make_sets_of_bad_objects.<locals>.Bad.__eq__1sB R=A%JJLR=A%JJLIaL))rctdSrc)rrs rrzETestOperationsMutating.make_sets_of_bad_objects.<locals>.Bad.__hash__9s |#rNr)r(rr	srBadr%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(rr	s @@@@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)rr3rrXri)rfunctionr-rr	rGs      rcheck_set_op_does_not_crashz2TestOperationsMutating.check_set_op_does_not_crashCscs	GA668JD$
Gt$	G 
G

=s1vFF
Gs	/	AAA)r
rrr*r1r2r3r6r
rrr"r")s'LL(Grr"cfeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZy)TestBinaryOpsMutatingc(|jdy)Nc||k(Srr
rGr|s  rrMz=TestBinaryOpsMutating.test_eq_with_mutation.<locals>.<lambda>P
a1frr6rs rtest_eq_with_mutationz+TestBinaryOpsMutating.test_eq_with_mutationO(()<=rc(|jdy)Nc||k7Srr
r;s  rrMz=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  rrMz=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  rrMz=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  rrMz=TestBinaryOpsMutating.test_gt_with_mutation.<locals>.<lambda>\rErr=rs rtest_gt_with_mutationz+TestBinaryOpsMutating.test_gt_with_mutation[rGrc(|jdy)Nc||k\Srr
r;s  rrMz=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  rrMz>TestBinaryOpsMutating.test_and_with_mutation.<locals>.<lambda>brErr=rs rtest_and_with_mutationz,TestBinaryOpsMutating.test_and_with_mutationarGrc(|jdy)Nc||zSrr
r;s  rrMz=TestBinaryOpsMutating.test_or_with_mutation.<locals>.<lambda>erErr=rs rtest_or_with_mutationz+TestBinaryOpsMutating.test_or_with_mutationdrGrc(|jdy)Nc||z
Srr
r;s  rrMz>TestBinaryOpsMutating.test_sub_with_mutation.<locals>.<lambda>hrErr=rs rtest_sub_with_mutationz,TestBinaryOpsMutating.test_sub_with_mutationgrGrc(|jdy)Nc||zSrr
r;s  rrMz>TestBinaryOpsMutating.test_xor_with_mutation.<locals>.<lambda>krErr=rs rtest_xor_with_mutationz,TestBinaryOpsMutating.test_xor_with_mutationjrGrc,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_mutationrrarc,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_mutationwrarc,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|rarc|d}d}d}|j||j||j|y)Nc |D]}|D]}yrr
rGr|rnrs    rf1z>TestBinaryOpsMutating.test_iteration_with_mutation.<locals>.f1&



rc |D]}|D]}yrr
)rGr|rrns    rf2z>TestBinaryOpsMutating.test_iteration_with_mutation.<locals>.f2rorc,t||D]\}}yr)ziprms    rf3z>TestBinaryOpsMutating.test_iteration_with_mutation.<locals>.f3sAq	
1
rr=)rrnrqrts    rtest_iteration_with_mutationz2TestBinaryOpsMutating.test_iteration_with_mutations=	
	
		
((,((,((,rN)r
rrr>rBrFrJrMrPrSrVrYr\r`rdrgrjrur
rrr8r8MsM>>=>=>====,
,
,
,
-rr8ceZdZeZeZy)TestBinaryOpsMutating_Set_SetNr
rrrJr1r2r
rrrwrwLLrrwceZdZeZeZy)'TestBinaryOpsMutating_Subclass_SubclassNr
rrrr1r2r
rrr{r{LLrr{ceZdZeZeZy)"TestBinaryOpsMutating_Set_SubclassNr
rrrJr1rr2r
rrrrLLrrceZdZeZeZy)"TestBinaryOpsMutating_Subclass_SetNr
rrrr1rJr2r
rrrrLLrrcNeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
y)
TestMethodsMutatingcB|jtjyr)r6rJrrs rtest_issubset_with_mutationz/TestMethodsMutating.test_issubset_with_mutations((6rcB|jtjyr)r6rJrrs rtest_issuperset_with_mutationz1TestMethodsMutating.test_issuperset_with_mutation((8rcB|jtjyr)r6rJr}rs rtest_intersection_with_mutationz3TestMethodsMutating.test_intersection_with_mutations(()9)9:rcB|jtjyr)r6rJrfrs rtest_union_with_mutationz,TestMethodsMutating.test_union_with_mutations((3rcB|jtjyr)r6rJrrs rtest_difference_with_mutationz1TestMethodsMutating.test_difference_with_mutationrrcB|jtjyr)r6rJrrs r'test_symmetric_difference_with_mutationz;TestMethodsMutating.test_symmetric_difference_with_mutations(()A)ABrcB|jtjyr)r6rJrrs rtest_isdisjoint_with_mutationz1TestMethodsMutating.test_isdisjoint_with_mutationrrcB|jtjyr)r6rJrmrs r$test_difference_update_with_mutationz8TestMethodsMutating.test_difference_update_with_mutations(()>)>?rcB|jtjyr)r6rJrars r&test_intersection_update_with_mutationz:TestMethodsMutating.test_intersection_update_with_mutations(()@)@ArcB|jtjyr)r6rJrrs r.test_symmetric_difference_update_with_mutationzBTestMethodsMutating.test_symmetric_difference_update_with_mutations(()H)HIrcB|jtjyr)r6rJrXrs rtest_update_with_mutationz-TestMethodsMutating.test_update_with_mutations((4rN)r
rrrrrrrrrrrrrr
rrrrs=79;49C9@BJ5rrceZdZeZeZy)TestMethodsMutating_Set_SetNrxr
rrrrryrrceZdZeZeZy)%TestMethodsMutating_Subclass_SubclassNr|r
rrrrr}rrceZdZeZeZy) TestMethodsMutating_Set_SubclassNrr
rrrrrrrceZdZeZeZy) TestMethodsMutating_Subclass_SetNrr
rrrrrrrc(eZdZeZejZy)TestMethodsMutating_Set_DictN)r
rrrJr1r@rAr2r
rrrrsL==LrrceZdZeZeZy)TestMethodsMutating_Set_ListN)r
rrrJr1rjr2r
rrrrsLLrrc#Kt|}	tt|g}t|D]
}|||zy#t$rtYywxYww)z-Generates all subsets of a set or sequence U.N)rrWrrr)Urnrs   rrrs]QAtAwi !	AGa%K	ks'A0AAAAAAct|Dcgc]}t|g}}ttt|Dcgc] }|t|Dcgc]}||z	c}f"c}}Scc}wcc}wcc}}w)z!Graph of n-dimensional hypercube.)rrWr@r)r	rn
singletonsr?s    rcubersq*/(3Q)QC.3J3"58,.YZ8!89:.//48.sA,A6
A1
A6
1A6
c	i}|D]n}||D]d}||Dcgc]}||k7s	t||g}}||Dcgc]}||k7s	t||g}}t||z|t||g<fp|Scc}wcc}w)zGraph, the vertices of which are edges of G,
    with two vertices being adjacent iff the corresponding
    edges share a vertex.)rW)rrrnrrnxnys       r	linegraphrs	A
31	3A,-aD;qAF)QqE";B;,-aD;qAF)QqE";B;"+BrE"2Ai1	33

H<;s
A8A8
A=A=ct}|jD]\}}|D]}||D]}||k(r	|||vr|jt|||g.||D]j}||k(r	|||vr|jt||||g/||D]4}||k(s||k(r|||vs|jt|||||g6l|S)zKReturn a set of faces in G.  Where a face is a set of vertices on that face)rJitemsrrW)rrrFedgesrHv3v4v5s        rfacesrs	AWWYK	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
)rrrPs   rrz'TestGraphs.test_cube.<locals>.<genexpr>$sAe5AaAArrK)rrJrNrSrr)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rKc3.K|]
}|D]}|ywrr
)rrrs   rrz0TestGraphs.test_cuboctahedron.<locals>.<genexpr>9sWUQVWDWDWrrrrrE)rrrNrSrJrrrdefaultdictr4rX)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.supportrrrrsrrrandomrrrrcollections.abcr	Exceptionrrrr%r4r,r6TestCaserrJrrrrWrrrrrr
r-rrWr]rirqrurrrrrrrrrr&r:r>r@rCrErGr{rrrrrrrrrrrrrrrrrrrrrrrrr
rr"r8rwr{rrrrrrrrrrrrrrr
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