python (3.12.0)

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

͑e8"	ddlZddlmZmZmZddlmZdZdZdZ	dZ
Gdd	eZGd
dejZGdd
ZdZGddeZGddeeZGddeZGddeZej+eGddejZGddeZGddeZGddeZGd d!eZGd"d#eZGd$d%ZGd&d'ejZed(k(rej>yy))N)eqlene)ABCMetac 	|r
||z|}}|r
|SN)abs  C/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_binop.pygcdr
s;
sA1Hc$	t|tSr)
isinstanceintxs risintr
s7arcN	tttfD]}t||syy)Nr)rfloatcomplexr)rTs  risnumrs-K
%
 a
rc$	t|tSr)rRatrs risRatrsAarceZdZ	ddgZddZdZeedZdZeedZ	dZ
dZd	Zd
Z
dZeZdZd
ZdZeZdZdZdZdZdZdZdZdZdZy)r	_Rat__num	_Rat__denc	t|std|zt|std|z|dk(rtdt||}t	||z|_t	||z|_y)NzRat numerator must be int (%r)z Rat denominator must be int (%r)rzzero denominator)r	TypeErrorZeroDivisionErrorr
rrr )selfnumdengs    r__init__zRat.__init__"su	>Sz<sBCCSz>DEE!8#$677SMa[
a[
rc	|jSr)rr$s r_get_numzRat._get_num1EzzrNc	|jSr)r r*s r_get_denzRat._get_den6r,rc:	d|j|jfzS)NzRat(%d, %d)rr r*s r__repr__zRat.__repr__;sJ

DJJ777rc,	tt|Sr)strrr*s r__str__zRat.__str__?sK5;rc<	|jdz|jzS)N?r0r*s r	__float__z
Rat.__float__Cs'zz#~djj((rc	|jdk(r	t|jStdt	|z#t$rtdt	|zwxYw)Nrz%s too large to convert to intzcan't convert %s to int)r rr
OverflowErrorrepr
ValueErrorr*s r__int__zRat.__int__Gsg:::?
24::&2T$Z?@@!
2#$D&*4j%122
2s	>!Ac,	t|rt|}t|rTt|j|jz|j|jzz|j|jzSt|rt
||zStSrrrrrr rrNotImplementedr$others  r__add__zRat.__add__Qsv2<JE<tzz%++-DJJ0FFzz%++-/
/<;&&rc,	t|rt|}t|rTt|j|jz|j|jzz
|j|jzSt|rt
||z
StSrr>r@s  r__sub__zRat.__sub__^sv7<JE<tzz%++-DJJ0FFzz%++-/
/<;&&rc,	t|rt|}t|rTt|j|jz|j|jzz
|j|jzSt|r|t
|z
StSrr>r@s  r__rsub__zRat.__rsub__isvG<JE<u{{4::-

5;;0FFzz%++-/
/<5;&&rc(	t|r:t|j|jz|j|jzSt	|r#t|j|z|jSt|rt
||zStSrrrrr rrrr?r@s  r__mul__zRat.__mul__tsp7<tzz%++-tzz%++/EFF<tzz%'44<;u$$rc(	t|r:t|j|jz|j|jzSt	|r#t|j|j|zSt|rt
||zStSrrHr@s  r__truediv__zRat.__truediv__sp5<tzz%++-tzz%++/EFF<tzz4::e#344<;&&rc(	t|r:t|j|jz|j|jzSt	|r#t||jz|jSt|r|t
|zStSrrHr@s  r__rtruediv__zRat.__rtruediv__spE<u{{4::-u{{4::/EFF<uTZZ'44<5;&&rc	t|rt|}nt|stS||z}|j|j
zSr)rrrr?rr r$rArs   r__floordiv__zRat.__floordiv__s><<JEu!!Jww!''!!rc@	||z}|j|jzSrr0rOs   r
__rfloordiv__zRat.__rfloordiv__s!L$Jww!''!!rcr	t|rt|}nt|stS||z}||||zz
fSr)rrrr?rOs   r
__divmod__zRat.__divmod__s?@<JEu!!%K4%!)#$$rcl	t|rt|}nt|stSt	||Sr)rrrr?divmodr@s  r__rdivmod__zRat.__rdivmod__s/P<JEu!!eT""rc"	t||dSNrrVr@s  r__mod__zRat.__mod__s*dE"1%%rc"	t||dSrYrZr@s  r__rmod__zRat.__rmod__s:eT"1%%rc	t|r |jdk(xr|j|k(St|r4|j|jk(xr|j|jk(St	|rt||k(StSrY)rr rrrrr?r@s  r__eq__z
Rat.__eq__sp,<::?:tzzU'::<::,Ju{{1JJ<;%''r)rr)__name__
__module____qualname__	__slots__r(r+propertyr%r.r&r1r4r7r<rB__radd__rDrFrI__rmul__rKrMrPrRrTrWr[r]r_r	rrrrsCk*I
!8T
"C8T
"C8 )A	H		H""
%#&&rrcDeZdZ	dZdZdZdZdZdZdZ	dZ
d	Zy
)RatTestCasec|jtddd|jtddd|jtddd|jtddd|jtd	dd
|jtdd
d|jtd	d
d
tddD]}tddD]~}|jt||dkD|jt||dk|jt||dkD|jt||dky)
N
rdr)assertEqualr
range
assertTrue)r$ijs   rtest_gcdzRatTestCase.test_gcds&Ra(Ra(Ra(S"q)S!b)Ra(S"r*q"	1A1b\
1Aq	A
.QB
Q/Ar
Q/QBa0	
1	1rc	tdd}|j|jd|j|jdtdd}|j|jd|j|jdtdd}|j|jd|j|jdtdd}|j|jd|j|jdtd}|j|jd|j|jd		td	d
}|j	ddd
ddgidttf	D]C}	t|}|j	d|z	td	|}|j	d|zEy#t
$rYewxYw#t$rY>wxYw#t$rYpwxYw)Nrjrmrlirrrqrrz(Rat(1, 0) didn't raise ZeroDivisionError0gyr	zRat(%r) didn't raise TypeErrorz!Rat(1, %r) didn't raise TypeError)rrtr%r&failr#unittestr")r$r
bads   rtest_constructorzRatTestCase.test_constructorsBK""CL#"RL#"SM""F""	BAq	A
II@ARRT3@	EC
BH		:S@A
E3K		=CD	E	!		



s6G	G)G*	GG	G'&G'*	G65G6cv|jtddtddzd|jtdddztdd|jdtddztdd|jdtddzd|jtdddzdy)Nrlr{rrnr6?rtrr*s rtest_addzRatTestCase.test_addsQSAY.2QQAq	2SAYAq	2s1ay#.QS#.rc|jtddtddz
tdd|jtdddz
tdd|jdtddz
tdd|jtdddz
d	|jdtddz
d	y)
Nr|rlrnrjrr{r6?rr*s rtest_subzRatTestCase.test_subsQSAY.B<QQAq	2SAYAq	2QS#.s1ay#.rcb|jtddtddztdd|jtdddzd|jdtddzd|jtdddzd|jdtddzdy)	Nrlr{rnr|rjrrr6rr*s rtest_mulzRatTestCase.test_mul	sQSAY.B<Ra,SQZ,Rc)3/s2qz)3/rc|jtddtddztdd|jtdddztdd|jdtdztdd|jdtd	dzd
|jtd	ddzd
y)Nrjr{rnr|	rl@rrrr*s rtest_divzRatTestCase.test_divsRc!Qi/R<RaR4SVSAY/s1ay#.QS#.rc|jtdtdzd|jtddtddzd|jtddzd|jdtdzdy)Nrjrlr{rr*s r
test_floordivzRatTestCase.test_floordivspRCF*A.Rs1ay0!4RAq)s1vq)rc&|jtdtdd|jtdd|jdtd|jtdd|jdtdy)Nrjrsrlg$@rr*s rtest_eqzRatTestCase.test_eqslR#b!*-R"%SW%R$'s2w'rc|jtddtddztdd|jtdddztdd|jdtdztdd|jdtd	dzd
|jtd	ddzd
|jtddy)
Nrjr{rnr|rrrlrrrz1/2r)rtrevalr*s r
test_true_divzRatTestCase.test_true_div$sRc!Qi/R<RaR4SVSAY/s1ay#.QS#.ec*rN)r`rarbryrrrrrrrrr	rrrhrhs4=
1"EH//0/*(+rrhceZdZ	dZdZy)OperationLoggerc||_yrlogger)r$rs  rr(zOperationLogger.__init__1s	rc"|j|yrr)r$argss  r
log_operationzOperationLogger.log_operation3sTrN)r`rarbr(rr	rrrr/s8rrc	g}g}|D]#}|j||j%	|||S#t$rY|SwxYwr)appendr")opclasseslog	instancescs     rop_sequencer6sb=
CI
(3::'(

IJ
J
s6	AAceZdZdZdZdZy)Ac0|jdtS)NA.__eq__rr?r@s  rr_zA.__eq__E:&rc0|jdtS)NA.__le__rr@s  r__le__zA.__le__Hrrc0|jdtS)NA.__ge__rr@s  r__ge__zA.__ge__KrrNr`rarbr_rrr	rrrrDrrceZdZdZdZdZy)Bc0|jdtS)NB.__eq__rr@s  rr_zB.__eq__Prrc0|jdtS)NB.__le__rr@s  rrzB.__le__Srrc0|jdtS)NB.__ge__rr@s  rrzB.__ge__VrrNrr	rrrrOrrr)	metaclassceZdZdZdZdZy)Cc0|jdtS)NC.__eq__rr@s  rr_zC.__eq__[rrc0|jdtS)NC.__le__rr@s  rrzC.__le__^rrc0|jdtS)NC.__ge__rr@s  rrzC.__ge__arrNrr	rrrrZrrrc eZdZ	dZdZdZy)Vc0|jdtS)NV.__eq__rr@s  rr_zV.__eq__grrc0|jdtS)NzV.__le__rr@s  rrzV.__le__jrrc0|jdtS)NV.__ge__rr@s  rrzV.__ge__mrrNrr	rrrresrrceZdZdZy)OperationOrderTestscR|jttttddg|jttttddg|jttttddg|jtttt
ddg|jttt
tddg|jttttddg|jttttddg|jttttddg|jtttt
ddg|jttt
td	dg|jttt|jttttdd
g|jttttddgy)Nrrrrrrrrrrr)
rtrrrrrrrv
issubclassrr*s rtest_comparison_ordersz*OperationOrderTests.test_comparison_ordersts}RA.Z0HIRA.Z0HIRA.Z0HIRA.Z0HIRA.Z0HIRA.Z0HIRA.Z0HIRA.Z0HIRA.Z0HIRA.Z0HI
1a()RA.Z0HIRA.Z0HIrN)r`rarbrr	rrrrssJrrceZdZ	dZy)SupEqcyNTr	r@s  rr_zSupEq.__eq__rNr`rarbr_r	rrrrs
&rrceZdZ	dZy)SNrr	rrrr
,
FrrceZdZy)FN)r`rarbr	rrrrs1rrceZdZ	dZy)XNrr	rrrrrrrceZdZ	dZy)SNN)r`rarb__ne__r	rrrrs
H
FrrceZdZ	dZdZy)XNcyrr	r@s  rr_z	XN.__eq__rrN)r`rarbr_rr	rrrrsH
FrrceZdZ	dZdZy)FallbackBlockingTestscttttf\}}}}|j	|||j	|||j	|||j	|||jtt|||jtt|||jtt||yr)rrrrrtassertRaisesr"r)r$efsrs     rtest_fallback_rmethod_blockingz4FallbackBlockingTests.test_fallback_rmethod_blockingsWac13+
1aAAAA)RA.)RA.)RA.rc8ttt}}}|j||k7|j	t
t|||j	t
t|||j||k7|j	t
t||yr)rrrassertFalserr"r)r$rsnxns    rtest_fallback_ne_blockingz/FallbackBlockingTests.test_fallback_ne_blockingsuGRT24r2a )RB/)RQ/b!)RQ/rN)r`rarbrrr	rrrrs-
/0rr__main__) roperatorrrrabcrr
rrrobjectrTestCaserhrrrrrrregisterrrrrrrrrr`mainr	rr<module>rs ?

g&gRe+(##e+T			7			



1
J(++J&F
220H--0.zHMMOr