require_relative '../helper' module Risc class TestAssignLocalArg < MiniTest::Test include Statements def setup super @input = "local = arg; return local" @expect = [SlotToReg, SlotToReg, SlotToReg, RegToSlot, SlotToReg, #4 SlotToReg, RegToSlot, Branch] #9 end def test_local_assign_instructions assert_nil msg = check_nil , msg end def test_slot_move produced = produce_body assert_equal produced.next(3).register , produced.register end def test_load_args_from_message produced = produce_body assert_equal :r0 , produced.array.symbol , produced.next.to_rxf[0..200] assert_equal 8 , produced.index , produced.next.to_rxf[0..200] end def test_load_frame_from_message produced = produce_body assert_equal :r0 , produced.next(2).array.symbol , produced.next.to_rxf[0..200] assert_equal 1 , produced.next.index , produced.next.to_rxf[0..200] end end end