%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python2.7/test/
Upload File :
Create Path :
Current File : //usr/local/lib/python2.7/test/test_binop.pyo

ó
Nêáac@sždZddlZddlmZd„Zd„Zd„Zd„Zdefd	„ƒYZ	d
ej
fd„ƒYZdZd
„Z
edkrše
ƒndS(s9Tests for binary operators on subtypes of built-in types.iÿÿÿÿN(ttest_supportcCs"x|r|||}}qW|S(s1Greatest common divisor using Euclid's algorithm.((tatb((s+/usr/local/lib/python2.7/test/test_binop.pytgcds	cCst|tƒpt|tƒS(s5Test whether an object is an instance of int or long.(t
isinstancetinttlong(tx((s+/usr/local/lib/python2.7/test/test_binop.pytisintscCs4x-ttttfD]}t||ƒrdSqWdS(sATest whether an object is an instance of a built-in numeric type.ii(RRtfloattcomplexR(RtT((s+/usr/local/lib/python2.7/test/test_binop.pytisnumscCs
t|tƒS(s6Test wheter an object is an instance of the Rat class.(RtRat(R((s+/usr/local/lib/python2.7/test/test_binop.pytisRatsR
cBs"eZdZddgZddd„Zd„ZeedƒZd„Z	ee	dƒZ
d„Zd	„Zd
„Z
d„Zd„Zd
„ZeZd„Zd„Zd„ZeZd„ZeZd„ZeZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!dZ"RS(s:Rational number implemented as a normalized pair of longs.t	_Rat__numt	_Rat__denllcCs‰t|ƒstd|‚nt|ƒs8td|‚n|dkrPtd‚nt||ƒ}t||ƒ|_t||ƒ|_dS(sdConstructor: Rat([num[, den]]).

        The arguments must be ints or longs, and default to (0, 1).s&Rat numerator must be int or long (%r)s(Rat denominator must be int or long (%r)iszero denominatorN(Rt	TypeErrortZeroDivisionErrorRRRR(tselftnumtdentg((s+/usr/local/lib/python2.7/test/test_binop.pyt__init__!scCs|jS(s7Accessor function for read-only 'num' attribute of Rat.(R(R((s+/usr/local/lib/python2.7/test/test_binop.pyt_get_num0scCs|jS(s7Accessor function for read-only 'den' attribute of Rat.(R(R((s+/usr/local/lib/python2.7/test/test_binop.pyt_get_den5scCsd|j|jfS(s<Convert a Rat to a string resembling a Rat constructor call.sRat(%d, %d)(RR(R((s+/usr/local/lib/python2.7/test/test_binop.pyt__repr__:scCstt|ƒƒS(s=Convert a Rat to a string resembling a decimal numeric value.(tstrR	(R((s+/usr/local/lib/python2.7/test/test_binop.pyt__str__>scCs|jd|jS(sConvert a Rat to a float.gð?(RR(R((s+/usr/local/lib/python2.7/test/test_binop.pyt	__float__BscCsa|jdkrJyt|jƒSWqJtk
rFtdt|ƒ‚qJXntdt|ƒ‚dS(s,Convert a Rat to an int; self.den must be 1.is%s too large to convert to intscan't convert %s to intN(RRRt
OverflowErrortreprt
ValueError(R((s+/usr/local/lib/python2.7/test/test_binop.pyt__int__Fs
cCs3|jdkrt|jƒStdt|ƒ‚dS(s,Convert a Rat to a long; self.den must be 1.iscan't convert %s to longN(RRRR R(R((s+/usr/local/lib/python2.7/test/test_binop.pyt__long__Ps
cCstt|ƒrt|ƒ}nt|ƒrVt|j|j|j|j|j|jƒSt|ƒrpt|ƒ|StS(s$Add two Rats, or a Rat and a number.(RR
RRRRR	tNotImplemented(Rtother((s+/usr/local/lib/python2.7/test/test_binop.pyt__add__VscCstt|ƒrt|ƒ}nt|ƒrVt|j|j|j|j|j|jƒSt|ƒrpt|ƒ|StS(s)Subtract two Rats, or a Rat and a number.(RR
RRRRR	R#(RR$((s+/usr/local/lib/python2.7/test/test_binop.pyt__sub__cscCstt|ƒrt|ƒ}nt|ƒrVt|j|j|j|j|j|jƒSt|ƒrp|t|ƒStS(s9Subtract two Rats, or a Rat and a number (reversed args).(RR
RRRRR	R#(RR$((s+/usr/local/lib/python2.7/test/test_binop.pyt__rsub__nscCsnt|ƒr-t|j|j|j|jƒSt|ƒrPt|j||jƒSt|ƒrjt|ƒ|StS(s)Multiply two Rats, or a Rat and a number.(RR
RRRRR	R#(RR$((s+/usr/local/lib/python2.7/test/test_binop.pyt__mul__ys!cCsnt|ƒr-t|j|j|j|jƒSt|ƒrPt|j|j|ƒSt|ƒrjt|ƒ|StS(s'Divide two Rats, or a Rat and a number.(RR
RRRRR	R#(RR$((s+/usr/local/lib/python2.7/test/test_binop.pyt__truediv__…s!cCsnt|ƒr-t|j|j|j|jƒSt|ƒrPt||j|jƒSt|ƒrj|t|ƒStS(s7Divide two Rats, or a Rat and a number (reversed args).(RR
RRRRR	R#(RR$((s+/usr/local/lib/python2.7/test/test_binop.pyt__rtruediv__‘s!cCsCt|ƒrt|ƒ}nt|ƒs+tS||}|j|jS(s.Divide two Rats, returning the floored result.(RR
RR#RR(RR$R((s+/usr/local/lib/python2.7/test/test_binop.pyt__floordiv__s
cCs||}|j|jS(s>Divide two Rats, returning the floored result (reversed args).(RR(RR$R((s+/usr/local/lib/python2.7/test/test_binop.pyt
__rfloordiv__¦s
cCsGt|ƒrt|ƒ}nt|ƒs+tS||}||||fS(s2Divide two Rats, returning quotient and remainder.(RR
RR#(RR$R((s+/usr/local/lib/python2.7/test/test_binop.pyt
__divmod__«s
cCs8t|ƒrt|ƒ}nt|ƒs+tSt||ƒS(sBDivide two Rats, returning quotient and remainder (reversed args).(RR
RR#tdivmod(RR$((s+/usr/local/lib/python2.7/test/test_binop.pyt__rdivmod__´s
cCst||ƒdS(sTake one Rat modulo another.i(R.(RR$((s+/usr/local/lib/python2.7/test/test_binop.pyt__mod__¼scCst||ƒdS(s,Take one Rat modulo another (reversed args).i(R.(RR$((s+/usr/local/lib/python2.7/test/test_binop.pyt__rmod__ÀscCsvt|ƒr(|jdko'|j|kSt|ƒrV|j|jkoU|j|jkSt|ƒrrt|ƒ|kStS(sCompare two Rats for equality.i(RRRRRR	R#(RR$((s+/usr/local/lib/python2.7/test/test_binop.pyt__eq__Äs"cCs||kS(s Compare two Rats for inequality.((RR$((s+/usr/local/lib/python2.7/test/test_binop.pyt__ne__ÎsN(#t__name__t
__module__t__doc__t	__slots__RRtpropertytNoneRRRRRRR!R"R%t__radd__R&R'R(t__rmul__R)t__div__R*t__rdiv__R+R,R-R/R0R1R2R3t__hash__(((s+/usr/local/lib/python2.7/test/test_binop.pyR
s>						
					
	
	
									
	tRatTestCasecBs_eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„ZRS(
s3Unit tests for Rat class and its support utilities.cCs[|jtddƒdƒ|jtddƒdƒ|jtddƒdƒ|jtddƒdƒ|jtd	dƒd
ƒ|jtdd
ƒdƒ|jtd	d
ƒd
ƒx¥tddƒD]”}x‹tddƒD]z}|jt||ƒdkƒ|jt||ƒdkƒ|jt||ƒdkƒ|jt||ƒdkƒqÕWq¿WdS(
Ni
iiiiiiidiöÿÿÿiþÿÿÿii(tassertEqualRtranget
assertTrue(Rtitj((s+/usr/local/lib/python2.7/test/test_binop.pyttest_gcdØsc	Cstddƒ}|j|jdƒ|j|jdƒtddƒ}|j|jdƒ|j|jdƒtddƒ}|j|jdƒ|j|jdƒtd	dƒ}|j|jdƒ|j|jdƒtd	dƒ}|j|jdƒ|j|jdƒtd
ƒ}|j|jd
ƒ|j|jdƒytddƒ}Wntk
ranX|jd
ƒx–ddddgidttf	D]s}yt|ƒ}Wntk
rºnX|jd|ƒytd|ƒ}Wntk
ròq‘X|jd|ƒq‘WdS(Ni
iiil
liñÿÿÿiþÿÿÿiöÿÿÿiiis(Rat(1, 0) didn't raise ZeroDivisionErrort0gysRat(%r) didn't raise TypeErrors!Rat(1, %r) didn't raise TypeError((	R
R@RRRtfailR9tunittestR(RRtbad((s+/usr/local/lib/python2.7/test/test_binop.pyttest_constructorçsD

(

cCs°|jtddƒtddƒdƒ|jtddƒdtddƒƒ|jdtddƒtddƒƒ|jdtddƒdƒ|jtddƒddƒdS(Niiiigð?gø?(R@R
(R((s+/usr/local/lib/python2.7/test/test_binop.pyttest_adds
&&&cCs¹|jtddƒtddƒtddƒƒ|jtddƒdtddƒƒ|jdtddƒtddƒƒ|jtddƒdd	ƒ|jdtddƒd	ƒdS(
Niiiii
iigð?gà?(R@R
(R((s+/usr/local/lib/python2.7/test/test_binop.pyttest_subs
/&&cCs§|jtddƒtddƒtddƒƒ|jtddƒddƒ|jdtddƒdƒ|jtddƒddƒ|jdtddƒdƒdS(	Niiiii
igà?gð?(R@R
(R((s+/usr/local/lib/python2.7/test/test_binop.pyttest_muls
/cCs¶|jtddƒtddƒtddƒƒ|jtddƒdtddƒƒ|jdtdƒtddƒƒ|jdtd	dƒd
ƒ|jtd	dƒdd
ƒdS(Ni
iiiii	ig@igø?(R@R
(R((s+/usr/local/lib/python2.7/test/test_binop.pyttest_div#s
/&#cCs~|jtdƒtdƒdƒ|jtddƒtddƒdƒ|jtdƒddƒ|jdtdƒdƒdS(Ni
iii(R@R
(R((s+/usr/local/lib/python2.7/test/test_binop.pyt
test_floordiv*s &cCs{|jtdƒtddƒƒ|jtdƒdƒ|jdtdƒƒ|jtdƒdƒ|jdtdƒƒdS(Ni
iig$@(R@R
(R((s+/usr/local/lib/python2.7/test/test_binop.pyttest_eq0s
cBsedUdS(N(tfuture_test(R((s+/usr/local/lib/python2.7/test/test_binop.pyttest_future_div7s(R4R5R6RERJRKRLRMRNRORPRR(((s+/usr/local/lib/python2.7/test/test_binop.pyR?Õs		'						s
from __future__ import division
self.assertEqual(Rat(10, 3) / Rat(5, 7), Rat(14, 3))
self.assertEqual(Rat(10, 3) / 3, Rat(10, 9))
self.assertEqual(2 / Rat(5), Rat(2, 5))
self.assertEqual(3.0 * Rat(1, 2), 1.5)
self.assertEqual(Rat(1, 2) * 3.0, 1.5)
self.assertEqual(eval('1/2'), 0.5)
cCstjtƒdS(N(Rtrun_unittestR?(((s+/usr/local/lib/python2.7/test/test_binop.pyt	test_mainFst__main__(R6RHttestRRRRRtobjectR
tTestCaseR?RQRTR4(((s+/usr/local/lib/python2.7/test/test_binop.pyt<module>s				ºo	

Zerion Mini Shell 1.0