pass return integer back out through exit

for testing of binaries later (and off course general correctness)
Some tests were using the fact that the interpreter was used, changed those to return ints rather than strings
This commit is contained in:
Torsten Ruger
2018-06-19 18:55:47 +03:00
parent db459fcd3d
commit 5f7683efcf
33 changed files with 174 additions and 152 deletions

View File

@ -6,52 +6,52 @@ module Risc
def test_smaller_true
run_main_return "4 < 5"
assert_equal Parfait::TrueClass , get_return.class
assert_equal Parfait::TrueClass , get_message_return.class
end
def test_smaller_false
run_main_return "6 < 5"
assert_equal Parfait::FalseClass , get_return.class
assert_equal Parfait::FalseClass , get_message_return.class
end
def test_smaller_false_same
run_main_return "5 < 5"
assert_equal Parfait::FalseClass , get_return.class
assert_equal Parfait::FalseClass , get_message_return.class
end
def test_larger_true
run_main_return "5 > 4"
assert_equal Parfait::TrueClass , get_return.class
assert_equal Parfait::TrueClass , get_message_return.class
end
def test_larger_false
run_main_return "5 > 6"
assert_equal Parfait::FalseClass , get_return.class
assert_equal Parfait::FalseClass , get_message_return.class
end
def test_larger_false_same
run_main_return "5 > 5"
assert_equal Parfait::FalseClass , get_return.class
assert_equal Parfait::FalseClass , get_message_return.class
end
def test_smaller_or_true
run_main_return "4 <= 5"
assert_equal Parfait::TrueClass , get_return.class
assert_equal Parfait::TrueClass , get_message_return.class
end
def test_smaller_or_false
run_main_return "6 <= 5"
assert_equal Parfait::FalseClass , get_return.class
assert_equal Parfait::FalseClass , get_message_return.class
end
def test_smaller_or_same
run_main_return "5 <= 5"
assert_equal Parfait::TrueClass , get_return.class
assert_equal Parfait::TrueClass , get_message_return.class
end
def test_larger_or_true
run_main_return "5 >= 4"
assert_equal Parfait::TrueClass , get_return.class
assert_equal Parfait::TrueClass , get_message_return.class
end
def test_larger_or_false
run_main_return "5 >= 6"
assert_equal Parfait::FalseClass , get_return.class
assert_equal Parfait::FalseClass , get_message_return.class
end
def test_larger_or_same
run_main_return "5 >= 5"
assert_equal Parfait::TrueClass , get_return.class
assert_equal Parfait::TrueClass , get_message_return.class
end
end
end

View File

@ -6,36 +6,35 @@ module Risc
def test_add
run_main_return "5 + 5"
assert_equal Parfait::Integer , get_return.class
assert_equal 10 , get_return.value
assert_equal 10 , get_return
end
def test_minus
run_main_return "5 - 5"
assert_equal 0 , get_return.value
assert_equal 0 , get_return
end
def test_minus_neg
run_main_return "5 - 15"
assert_equal -10 , get_return.value
assert_equal -10 , get_return
end
def test_rshift
run_main_return "#{2**8} >> 3"
assert_equal 2**5 , get_return.value
assert_equal 2**5 , get_return
end
def test_lshift
run_main_return "#{2**8} << 3"
assert_equal 2**11 , get_return.value
assert_equal 2**11 , get_return
end
def test_div10
run_main_return "45.div10"
assert_equal 4 , get_return.value
assert_equal 4 , get_return
end
def test_div4
run_main_return "45.div4"
assert_equal 11 , get_return.value
assert_equal 11 , get_return
end
def test_mult
run_main_return "4 * 4"
assert_equal 16 , get_return.value
assert_equal 16 , get_return
end
end
end