-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathNumber.test.pen
51 lines (39 loc) · 1.04 KB
/
Number.test.pen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import Test'Assert
import 'Number
AbsolutePositive = \() none | error {
Assert'Equal(Number'Absolute(1), 1)
}
AbsoluteNegative = \() none | error {
Assert'Equal(Number'Absolute(-1), 1)
}
Epsilon = \() none | error {
Assert'True(Number'Epsilon() < 0.000000000001)
}
Exponential = \() none | error {
Assert'True(Number'Exponential(1) > 2.5)?
Assert'True(Number'Exponential(1) < 3)?
Assert'True(Number'Exponential(2) > 7)?
Assert'True(Number'Exponential(2) < 8)?
}
FractionPositive = \() none | error {
Assert'Equal(Number'Fraction(0.5), 0.5)
}
FractionNegative = \() none | error {
Assert'Equal(Number'Fraction(-0.5), -0.5)
}
Parse = \() none | error {
Assert'Equal(Number'Parse("42")?, 42)?
Assert'Equal(Number'Parse("0.5")?, 0.5)
}
RoundLarge = \() none | error {
Assert'Equal(Number'Round(1.1), 1)
}
RoundSmall = \() none | error {
Assert'Equal(Number'Round(0.9), 1)
}
TruncateLarge = \() none | error {
Assert'Equal(Number'Truncate(1.1), 1)
}
TruncateSmall = \() none | error {
Assert'Equal(Number'Truncate(0.9), 0)
}