2 NumberTest
:= UnitTest
clone do(
6 assertEquals(number
, number
clone)
7 assertSame(Number, number
proto)
10 testEquality
:= method(
17 testPrecision
:= method(
18 assertEquals(2.2469135782469135, 2 * 1.123456789123456789)
19 assertFalse(2 * 1.123456789123456789 == 2.246913578246913)
20 assertEquals(10, 10.49 round
)
21 assertEquals(11, 10.50 round
)
22 assertEquals(11, 10.51 round
)
25 testPrecedence
:= method(
26 assertEquals(2 + (3 * 4) - (5 * 6) / 7, 2 + 3 * 4 - 5 * 6 / 7)
29 testFunctions
:= method(
30 assertEquals("31.6227766017", 1000 sqrt
asString(0, 10))
31 assertEqualsWithinDelta(31.6227766, 1000 sqrt
, 0.00000001)
33 assertEquals(10, n abs
)
34 knownBug(assertEquals(10, -10 abs
))
35 assertEquals(10, (-10) abs
)
36 assertTrue(10 between(9.9999, 10.0001))
37 assertEquals(-0.5440211108893698, 10 sin
)
38 assertEquals(-0.8390715290764524, 10 cos
)
41 testDirectAssignment
:= method(
49 testBitwiseOperations
:= method(
50 assertEquals(4, 2 shiftLeft(1))
51 assertEquals(1, 2 shiftRight(1))
52 assertEquals(7, 3 |
(4))
53 assertEquals(7, 3 bitwiseOr(4))
54 assertEquals(0, 3 & (4))
55 assertEquals(0, 3 bitwiseAnd(4))
58 testCharacters
:= method(
59 assertTrue(65 isLetter
)
60 assertFalse(30 isLetter
)
61 assertFalse(47 isDigit
)
62 assertTrue(48 isDigit
)
63 assertTrue(57 isDigit
)
64 assertFalse(58 isDigit
)
67 testPerform
:= method(
68 assertEquals(-0.5440211108893698, 10 perform("sin"))
72 what was this bug supposed to be?
73 testFloatMaxBug := method(
74 knownBug((Number floatMax) asString)
75 knownBug("x = " .. (Number floatMax))