Add FloatInst method implementations and tests
FloatInst should be fully implemented now and have a suite of tests to make sure those methods are doing what they should be. Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
130
tests/float.npp
Normal file
130
tests/float.npp
Normal file
@@ -0,0 +1,130 @@
|
||||
# Float type operator function tests
|
||||
|
||||
# assign
|
||||
a = 1.234
|
||||
b = 20.0
|
||||
c = 1.0 / 3.0
|
||||
|
||||
println(a)
|
||||
println(b)
|
||||
println(c)
|
||||
println(1.1)
|
||||
|
||||
# __add__
|
||||
println("__add__")
|
||||
println(1 + 1.5)
|
||||
println(1 + 1.25)
|
||||
println(1 + 1.125)
|
||||
println(a + b)
|
||||
|
||||
# __sub__
|
||||
println("__sub__")
|
||||
println(2.0 - 3.0)
|
||||
println(1 - 1.5)
|
||||
println(0.5 - 0.5)
|
||||
println(b - a)
|
||||
|
||||
# __mul__
|
||||
println("__mul__")
|
||||
println(0.0 * -1.0)
|
||||
println(-0.0 * -0.0)
|
||||
println(0.0 * -0.0)
|
||||
println(c * 3.0)
|
||||
|
||||
# __div__
|
||||
println("__div__")
|
||||
println(1 / 10.0)
|
||||
println(1 / c)
|
||||
println(1.0 / 2)
|
||||
println(1 / (1 / 2.0))
|
||||
|
||||
# __ne__
|
||||
println("__ne__")
|
||||
println(1.0 != 1.0)
|
||||
println(-0.0 != 0.0)
|
||||
println(2.0 != 1.0)
|
||||
println(1.0 != 1)
|
||||
println(1 != 1.0)
|
||||
println(-0.0 != 0)
|
||||
println(-0 != -0.0)
|
||||
println(a != b)
|
||||
println(b != c)
|
||||
|
||||
# __eq__
|
||||
println("__eq__")
|
||||
println(1.0 == 1.0)
|
||||
println(-0.0 == 0.0)
|
||||
println(2.0 == 1.0)
|
||||
println(2 == 2.0)
|
||||
println(2.0 == 2)
|
||||
println(-0.0 == 0)
|
||||
println(0 == -0.0)
|
||||
println(a == b)
|
||||
println(b == c)
|
||||
|
||||
# __gt__
|
||||
println("__gt__")
|
||||
println(1.0 > 1.0)
|
||||
println(1 > 0.0)
|
||||
println(1 > -0.0)
|
||||
println(0.0 > -1)
|
||||
println(-0.0 > -1)
|
||||
println(-1.0 > 0)
|
||||
println(-2.0 > -1.0)
|
||||
|
||||
# __ge__
|
||||
println("__ge__")
|
||||
println(1.0 >= 1.0)
|
||||
println(1.0 >= 1)
|
||||
println(2.0 >= 1.0)
|
||||
println(1 >= 2.0)
|
||||
println(0.0 >= 0.0)
|
||||
println(0.0 >= -0.0)
|
||||
println(0.0 >= -1.0)
|
||||
println(-1.0 >= 0.0)
|
||||
println(-2.0 >= -1.0)
|
||||
|
||||
# __lt__
|
||||
println("__lt__")
|
||||
println(1.0 < 1.0)
|
||||
println(1.0 < 1)
|
||||
println(1 < 1.0)
|
||||
println(1.0 < 2.0)
|
||||
println(2.0 < 1.0)
|
||||
println(1 < 2.0)
|
||||
println(2.0 < 1.0)
|
||||
println(1 < 0.0)
|
||||
println(1 < 1.0)
|
||||
println(0.0 < -0.0)
|
||||
println(-0.0 < 0)
|
||||
println(-1.0 < -2.0)
|
||||
println(-2.0 < -1.0)
|
||||
|
||||
# __le__
|
||||
println("__le__")
|
||||
println(1.0 <= 1.0)
|
||||
println(1.0 <= 1)
|
||||
println(1 <= 1.0)
|
||||
println(1.0 <= 2.0)
|
||||
println(2.0 <= 1.0)
|
||||
println(1 <= 2.0)
|
||||
println(2.0 <= 1.0)
|
||||
println(1 <= 0.0)
|
||||
println(1 <= 1.0)
|
||||
println(0.0 <= -0.0)
|
||||
println(-0.0 <= 0)
|
||||
println(-1.0 <= -2.0)
|
||||
println(-2.0 <= -1.0)
|
||||
|
||||
# __pos__
|
||||
println("__pos__")
|
||||
println(+1.0)
|
||||
println(+(-0.0))
|
||||
println(++(-0.0))
|
||||
|
||||
# __neg__
|
||||
println("__neg__")
|
||||
println(-0.0)
|
||||
println(--0.0)
|
||||
println(---0.0)
|
||||
|
||||
98
tests/float.npp.expect
Normal file
98
tests/float.npp.expect
Normal file
@@ -0,0 +1,98 @@
|
||||
1.234
|
||||
20.0
|
||||
0.3333333333333333
|
||||
1.1
|
||||
__add__
|
||||
2.5
|
||||
2.25
|
||||
2.125
|
||||
21.234
|
||||
__sub__
|
||||
-1.0
|
||||
-0.5
|
||||
0.0
|
||||
18.766
|
||||
__mul__
|
||||
-0.0
|
||||
0.0
|
||||
-0.0
|
||||
1.0
|
||||
__div__
|
||||
0.1
|
||||
3.0
|
||||
0.5
|
||||
2.0
|
||||
__ne__
|
||||
false
|
||||
false
|
||||
true
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
true
|
||||
true
|
||||
__eq__
|
||||
true
|
||||
true
|
||||
false
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
false
|
||||
false
|
||||
__gt__
|
||||
false
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
false
|
||||
false
|
||||
__ge__
|
||||
true
|
||||
true
|
||||
true
|
||||
false
|
||||
true
|
||||
true
|
||||
true
|
||||
false
|
||||
false
|
||||
__lt__
|
||||
false
|
||||
false
|
||||
false
|
||||
true
|
||||
false
|
||||
true
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
true
|
||||
__le__
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
false
|
||||
true
|
||||
false
|
||||
false
|
||||
true
|
||||
true
|
||||
true
|
||||
false
|
||||
true
|
||||
__pos__
|
||||
1.0
|
||||
0.0
|
||||
0.0
|
||||
__neg__
|
||||
-0.0
|
||||
0.0
|
||||
-0.0
|
||||
@@ -14,6 +14,8 @@ println(1 + 2 + 3)
|
||||
println(1938 + 481)
|
||||
println(a + b)
|
||||
println(b + a)
|
||||
println(a + -b)
|
||||
println(-a + b)
|
||||
|
||||
# __sub__
|
||||
println("__sub__")
|
||||
@@ -47,6 +49,25 @@ println(3 / 363)
|
||||
println(a / b)
|
||||
println(b / a)
|
||||
|
||||
# __ne__
|
||||
println("__ne__")
|
||||
println(1 != 1)
|
||||
println(1 != 2)
|
||||
println(1 != 1.0)
|
||||
println(1 != 2.0)
|
||||
println(2 != 3839)
|
||||
println(3284 != 922)
|
||||
println(2 * 3 != 4 * 5)
|
||||
|
||||
# __eq__
|
||||
println("__eq__")
|
||||
println(1 == 1)
|
||||
println(1 == 2)
|
||||
println(1 == 1.0)
|
||||
println(1 == 2.0)
|
||||
println(6139 == 130)
|
||||
println(1000 == 1001)
|
||||
|
||||
# __gt__
|
||||
println("__gt__")
|
||||
println(1 > 2)
|
||||
|
||||
@@ -6,6 +6,8 @@ __add__
|
||||
2419
|
||||
30
|
||||
30
|
||||
-10
|
||||
10
|
||||
__sub__
|
||||
-1
|
||||
1
|
||||
@@ -32,6 +34,21 @@ __div__
|
||||
0
|
||||
0
|
||||
2
|
||||
__ne__
|
||||
false
|
||||
true
|
||||
false
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
__eq__
|
||||
true
|
||||
false
|
||||
true
|
||||
false
|
||||
false
|
||||
false
|
||||
__gt__
|
||||
false
|
||||
true
|
||||
|
||||
Reference in New Issue
Block a user