some extra assembler tests

This commit is contained in:
Torsten Ruger 2017-01-01 21:51:23 +02:00
parent 06cfbdf066
commit b8b387d498
2 changed files with 44 additions and 0 deletions

View File

@ -1,5 +1,6 @@
require_relative "interpreter/test_all"
require_relative "test_assembler"
require_relative "test_collector"
require_relative "test_compat"
require_relative "test_instructions"

View File

@ -0,0 +1,43 @@
require_relative "../helper"
module Register
class TestAssembler < MiniTest::Test
def setup
@machine = Register.machine.boot
end
def test_no_object
@assembler = Assembler.new(@machine , {})
assert_nil @machine.translate_arm
end
def test_space
@assembler = Assembler.new(@machine , Collector.collect_space)
assert_nil @machine.translate_arm
end
def test_write_fails
@assembler = Assembler.new(@machine , {})
assert_raises{ @assembler.assemble} #must translate first
end
def test_assemble_no_objects
@assembler = Assembler.new(@machine , {})
assert_nil @machine.translate_arm
assert @assembler.assemble
end
def test_translate_space
@assembler = Assembler.new(@machine , Collector.collect_space)
assert_nil @machine.translate_arm
end
def test_assemble_space
@assembler = Assembler.new(@machine , Collector.collect_space)
assert_nil @machine.translate_arm
assert @assembler.assemble
end
def test_write_space
@assembler = Assembler.new(@machine , Collector.collect_space)
assert_nil @machine.translate_arm
assert @assembler.write_as_string
end
end
end