44 lines
1.2 KiB
Ruby
44 lines
1.2 KiB
Ruby
|
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
|