2017-01-01 20:51:23 +01:00
|
|
|
require_relative "../helper"
|
|
|
|
|
2017-01-19 08:02:29 +01:00
|
|
|
module Risc
|
2017-01-01 20:51:23 +01:00
|
|
|
class TestAssembler < MiniTest::Test
|
|
|
|
|
|
|
|
def setup
|
2017-01-19 08:02:29 +01:00
|
|
|
@machine = Risc.machine.boot
|
2017-01-01 20:51:23 +01:00
|
|
|
end
|
2018-03-26 18:43:03 +02:00
|
|
|
def pest_no_object
|
2017-01-01 20:51:23 +01:00
|
|
|
@assembler = Assembler.new(@machine , {})
|
|
|
|
end
|
2018-03-26 18:43:03 +02:00
|
|
|
def pest_space
|
2017-01-01 20:51:23 +01:00
|
|
|
@assembler = Assembler.new(@machine , Collector.collect_space)
|
|
|
|
end
|
2018-03-26 18:43:03 +02:00
|
|
|
def pest_write_fails
|
2017-01-01 20:51:23 +01:00
|
|
|
@assembler = Assembler.new(@machine , {})
|
2018-03-25 19:02:51 +02:00
|
|
|
assert_raises{ @assembler.write_as_string} #must translate first
|
2017-01-01 20:51:23 +01:00
|
|
|
end
|
2018-03-26 18:43:03 +02:00
|
|
|
def pest_assemble_no_objects
|
2017-01-01 20:51:23 +01:00
|
|
|
@assembler = Assembler.new(@machine , {})
|
2018-03-18 18:07:15 +01:00
|
|
|
assert @machine.translate_arm
|
2017-01-01 20:51:23 +01:00
|
|
|
assert @assembler.assemble
|
|
|
|
end
|
|
|
|
|
2018-03-26 18:43:03 +02:00
|
|
|
def pest_assemble_space
|
2017-01-01 20:51:23 +01:00
|
|
|
@assembler = Assembler.new(@machine , Collector.collect_space)
|
2018-03-18 18:07:15 +01:00
|
|
|
assert @machine.translate_arm
|
2017-01-01 20:51:23 +01:00
|
|
|
assert @assembler.assemble
|
|
|
|
end
|
2018-03-26 12:43:26 +02:00
|
|
|
def test_write_space
|
2017-01-01 20:51:23 +01:00
|
|
|
@assembler = Assembler.new(@machine , Collector.collect_space)
|
2018-03-18 18:07:15 +01:00
|
|
|
assert @machine.translate_arm
|
2018-03-26 18:43:03 +02:00
|
|
|
assert @assembler.write_as_string
|
2017-01-01 20:51:23 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|