rubyx/test/slot_machine/test_mom_collection.rb

50 lines
1.4 KiB
Ruby
Raw Normal View History

require_relative "helper"
module SlotMachine
class TestSlotCollection < MiniTest::Test
include SlotMachineCompile
def setup
@comp = compile_slot( "class Test ; def main(); return 'Hi'; end; end;")
end
def test_class
assert_equal SlotCollection , @comp.class
end
def test_compilers
assert_equal 3 , @comp.compilers.num_compilers
end
def test_init_compilers
assert_equal SlotCollection , @comp.init_compilers.class
end
def test_compilers_bare
assert_equal 2 , SlotCollection.new.compilers.num_compilers
end
def test_append_class
assert_equal SlotCollection, (@comp.append @comp).class
end
end
class TestSlotCollectionToRisc < MiniTest::Test
include SlotMachineCompile
2019-08-08 11:18:36 +02:00
def setup
@comp = compile_slot( "class Space ; def main(); return 'Hi'; end; end;")
2019-08-08 11:18:36 +02:00
@collection = @comp.to_risc()
end
def compiler
@collection.method_compilers
end
def test_has_to_risc
2019-08-08 11:18:36 +02:00
assert_equal Risc::RiscCollection, @collection.class
end
def test_has_risc_compiler
assert_equal Risc::MethodCompiler, compiler.class
assert_equal 3, @collection.method_compilers.num_compilers
end
def test_has_risc_instructions
assert_equal Risc::Label, compiler.risc_instructions.class
2019-08-23 14:31:04 +02:00
assert_equal 13, compiler.risc_instructions.length
2019-08-08 11:18:36 +02:00
end
end
end