Transform builtin word functions

according to same schema
This commit is contained in:
2019-08-12 10:45:07 +03:00
parent 3282e0ae06
commit 97488c4e5b
4 changed files with 110 additions and 38 deletions

View File

@ -0,0 +1,60 @@
require_relative "helper"
module Risc
module Builtin
class TestWordPut < BootTest
def setup
super
@method = get_compiler(:putstring)
end
def test_has_get_internal
assert_equal Mom::MethodCompiler , @method.class
end
def test_mom_length
assert_equal 5 , @method.mom_instructions.length
end
def test_compile
assert_equal Risc::MethodCompiler , @method.to_risc.class
end
def test_risc_length
assert_equal 50 , @method.to_risc.risc_instructions.length
end
end
class TestWordGet < BootTest
def setup
super
@method = get_compiler(:get_internal_byte)
end
def test_has_get_internal
assert_equal Mom::MethodCompiler , @method.class
end
def test_mom_length
assert_equal 5 , @method.mom_instructions.length
end
def test_compile
assert_equal Risc::MethodCompiler , @method.to_risc.class
end
def test_risc_length
assert_equal 48 , @method.to_risc.risc_instructions.length
end
end
class TestWordSet < BootTest
def setup
super
@method = get_compiler(:set_internal_byte)
end
def test_has_get_internal
assert_equal Mom::MethodCompiler , @method.class
end
def test_mom_length
assert_equal 5 , @method.mom_instructions.length
end
def test_compile
assert_equal Risc::MethodCompiler , @method.to_risc.class
end
def test_risc_length
assert_equal 22 , @method.to_risc.risc_instructions.length
end
end
end
end

View File

@ -14,7 +14,7 @@ module Risc
assert_equal Array, @functions.class
end
def test_boot_function_length
assert_equal 6, @functions.length
assert_equal 9, @functions.length
end
def test_boot_function_first
assert_equal Mom::MethodCompiler, @functions.first.class