python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_slice.cpython-312.opt-1.pyc

Αe%ddlZddlZddlZddlZddlZddlZddlmZmZddl	m
Z
dZdZGdde
ZGdd	ejZed
k(rej$yy)N)loadsdumps)supportcZt|drtj|Std)z
    Helper function to convert a slice argument to an integer, and raise
    TypeError with a suitable message on failure.

    	__index__zBslice indices must be integers or None or have an __index__ method)hasattroperatorindex	TypeError)args C/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_slice.pyevaluate_slice_indexrs/sK ~~c""
/0	0ctj|}|jdnt|j}|dkrt	d|dk(rt	d|dkrdnd}|dkr|dz
n|}|j

|dkr|n|}n5t|j
}|dkrt
||z|nt||}|j
|dkr|n|}n5t|j}|dkrt
||z|nt||}|||fS)zA
    Reference implementation for the slice.indices method.

    rzlength should not be negativezslice step cannot be zero)	r	r
stepr
ValueErrorstartmaxminstop)slicelengthrlowerupperrrs       r

slice_indicesrs
^^F
#F

"1(<UZZ(HDz899qy455(BE(FQJE
{{u$U[[1.3aiEFNE*S=N
zzque#EJJ/,01Hs4&=%(#dE:J$rceZdZdZdZy)MyIndexablec||_yNvalue)selfr#s  r
__init__zMyIndexable.__init__Bs	
rc|jSr!r"r$s r
rzMyIndexable.__index__EszzrN)__name__
__module____qualname__r%rrr
rrAsrrcTeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZy
)	SliceTestct|jtt|jttddddy)Nr)assertRaisesrrr's r
test_constructorzSliceTest.test_constructorKs*)U+)UAq!Q7rc	P|jttddddy)Nrr/r0zslice(1, 2, 3))assertEqualreprrr's r
	test_reprzSliceTest.test_reprOs eAq!n-/?@rc	|jttdtdj|jttddtddj|jttdddtdddj|j	tdtd|jt5ttddgddd|jt5ttdidddy#1swY=xYw#1swYyxYw)Nrr/r0r1)r5hashr__hash__assertNotEqualr2rr's r
	test_hashzSliceTest.test_hashRseAhq):):)<=eAqk*E!QK,@,@,BCeAq!n-uQ1~/F/F/HIE!HeAh/


y
)	"q!R!	"

y
)	q"			"	"		s1E%EE
Ectdddtdddtddd}|j|j||jd|jd|jdGddtGfd	d
t}t|t||j|jfdtd|td||j|jfdtdd|tdd||j|jfd
y)Nrr/r0r1)rr/r0ceZdZy)SliceTest.test_cmp.<locals>.ExcNr(r)r*r+rr
ExcrBhrrDceZdZfdZy)"SliceTest.test_cmp.<locals>.BadCmpcr!r+)r$otherrDs  r
__eq__z)SliceTest.test_cmp.<locals>.BadCmp.__eq__ls	rN)r(r)r*rJ)rDsr
BadCmprGks
rrKck(Sr!r+s1s2sr
<lambda>z$SliceTest.test_cmp.<locals>.<lambda>rrRxrck(Sr!r+rMsr
rPz$SliceTest.test_cmp.<locals>.<lambda>wrQrck(Sr!r+rMsr
rPz$SliceTest.test_cmp.<locals>.<lambda>|rQr)rr5r=	Exceptionobjectr2)r$s3rKrDrNrOs   @@@r
test_cmpzSliceTest.test_cmp^sI
1a^
1a^
1a^R B#B%B	*B#	)		V	68_
68_R #/0
1fh

1fh
R #/0
1a
"
1a
"R #/0rctd}|j|jd|j|jd|j|jdtdd}|j|jd|j|jd|j|jdtddd}|j|jd|j|jd|j|jdGdd}|}t|}|j|j|uy)Nrr/r0ceZdZy)(SliceTest.test_members.<locals>.AnyClassNrCr+rr
AnyClassrZrErr[)rr5rrr
assertTrue)r$sr[objs    r
test_memberszSliceTest.test_members~s!H$'#&!QK!$#&!QN!$##		j#J#
&rcD	|j|}	t||}|j|||dk\rH|jdk7r8t|j|}t||}|j||yyy#t$rd}YzwxYw#t$rd}Y~wxYw)N
valueerrorr)indicesrrr5rrange)r$rractualexpecteds     r

check_indiceszSliceTest.check_indicess	"]]6*F	$$UF3H	
*Q;5::?EMM&12FV}U+HVX.+;	"!F	"	$#H	$s"BBB
BBBc
J|jtdjdd|jtdddjdd|jtdddjdd|jtdddjdd|jtddd	jdd
|jtddd	jdd|jtdd
jdd|jtddjdd|jtddjdd|jtdddjdd|jtdddjdd|jtdddjdd|jtddjdd|jtddjdd|jtddjdd|jtdddjdd|jtdddjdd|jtdddjdd|jtddjdtdjd|jtdddjdtdddjd|jtdddjdd|jtt	dddt
jdz
dgdddzddddddd d!d"ddzg}ddd d!d"ddzg}tj|d#D]#}t|}|D]}|j||%|jtdddd$|jt5tdjdddd|jt5tdddjd%ddd|jt5td&ddjd%ddd|jt5tdd'djd%ddd|jt5tddd(jd%ddd|jt5tdddjd)ddd|jtdddjd%d*|jttdddjd%d*|jtdtddjd%d*|jtddtdjd%d*|jtdddjtd%d*y#1swY-xYw#1swYxYw#1swYxYw#1swYxYw#1swYyxYw#1swYLxYw)+N
)rrhrr/)rrhr/r)rrhr/r)	rr)rirrjr0)r0rrji)rrri)rrri)rirriri)rrir)rirlr)ririridriii5i@)repeatr9gg$@g?g@)rr9r)r5rrblistrcsysmaxsize	itertoolsproductrfr2rrr)r$valslengths
slice_argsr]rs      r
test_indiceszSliceTest.test_indicesst/77;[ItdQ/77;[IqdQ/77;[ItdB/77;[ItdB/77;[IqdB/77;[ItR004i@tS)11"5yAtS)11"5yAtS"-55b9:FtS"-55b9;GtS"-55b9;GtQ//3Y?tR004jAtR004jAtQ+33B7DtQ+33B7DtR,44R8*E$"**2.$K#	
	
#r"**2.$b!))"-	
	
tS!,44R8+FeBi):3;;?):;aSAq#vgvsBAq!R3OaBq#v.#++D;	.Jz"A!
.""1f-
.	.	
5B?B/

z
*	$$K#	$

z
*	'!RO##A&	'


y
)	)#r1%%a(	)


y
)	)!T1%%a(	)


y
)	)!R%%a(	)


y
)	)!RO##C(	)	
q"a003Y?{1~r15==a@)Lq+b/15==a@)Lq"k!n5==a@)Lq"a00Q@)L/	$	$	'	'
	)	)	)	)	)	)	)	)sH[	[$[1=[>7\1\[!$[.1[;>\\\"cgGfddt}|}d|dd|jtdddfgy)NceZdZfdZy)3SliceTest.test_setslice_without_getslice.<locals>.Xc,j||fyr!)append)r$iktmps   r
__setitem__z?SliceTest.test_setslice_without_getslice.<locals>.X.__setitem__s

Aq6"rN)r(r)r*r)rsr
Xr}s
#rr*rr/)rUr5r)r$rxrs   @r
test_setslice_without_getslicez(SliceTest.test_setslice_without_getslicesF	#	#
C!AaR012rcVddl}tddd}t|jdzD]}}t	t||}|j
|||j
|jd|jd|jt|t|y)Nrrhr0r)
picklerrcHIGHEST_PROTOCOLrrr5rbr=id)r$rr]protocolts     r
test_picklezSliceTest.test_pickles"b!f559:	.HeAx()AQ"QYYr]AIIbM:1r!u-		.rc*tdd}tj|}|j||tddd}tj|}|j||tddgddgddg}tj|}|j|||j|j|j|j|j|j|j|j
|j
yNrrhr/r0r1r9r:)rcopyassertIsrrrr$r]cs   r
	test_copyzSliceTest.test_copys!RLIIaL

a!ROIIaL

a
1a&1a&1a&)IIaL

a

aggqww'

affaff%

affaff%rcNtdd}tj|}|j||tddd}tj|}|j||tddgddgddg}tj|}|j	|||j|||j	|j
|j
|j	|j|j|j	|j|jyr)rrdeepcopyr5assertIsNotrrrrs   r

test_deepcopyzSliceTest.test_deepcopys!RLMM!A!ROMM!A
1a&1a&1a&)MM!AA!''*((rcGdd}|}t||_tj|}d}t	j
|j
|y)NceZdZy)#SliceTest.test_cycle.<locals>.myobjNrCr+rr
myobjr"srr)rr]weakrefrefr
gc_collectassertIsNone)r$rows    r

test_cyclezSliceTest.test_cycle!sHGAhKKN!#rN)r(r)r*r3r7r>rWr_rfrzrrrrrr+rr
r-r-IsC8A
1@'./ CMJ3.&")$rr-__main__)rur	rsunittestrrrrrtestrrrrUrTestCaser-r(mainr+rr
<module>rse
0!L&_!!_BzHMMOr