fixing most of the risc tests

This commit is contained in:
2019-08-23 15:31:22 +03:00
parent 50c172915e
commit 4ca16e5f9a
21 changed files with 265 additions and 293 deletions

View File

@ -11,39 +11,32 @@ module Risc
def test_chain
# show_main_ticks # get output of what is
check_main_chain [LoadConstant, LoadConstant, SlotToReg, SlotToReg, RegToSlot,
RegToSlot, RegToSlot, RegToSlot, LoadConstant, SlotToReg, # 10
RegToSlot, LoadConstant, SlotToReg, RegToSlot, SlotToReg,
FunctionCall, LoadConstant, SlotToReg, LoadConstant, OperatorInstruction, # 20
IsNotZero, SlotToReg, RegToSlot, SlotToReg, SlotToReg,
Transfer, Transfer, Branch, LoadData, OperatorInstruction, # 30
LoadData, OperatorInstruction, OperatorInstruction, LoadData, Transfer,
OperatorInstruction, OperatorInstruction, LoadData, Transfer, OperatorInstruction, # 40
OperatorInstruction, LoadData, Transfer, OperatorInstruction, OperatorInstruction,
LoadData, OperatorInstruction, LoadData, Transfer, OperatorInstruction, # 50
OperatorInstruction, Transfer, LoadData, OperatorInstruction, LoadData,
OperatorInstruction, OperatorInstruction, Branch, RegToSlot, RegToSlot, # 60
SlotToReg, SlotToReg, RegToSlot, LoadConstant, SlotToReg,
RegToSlot, RegToSlot, SlotToReg, SlotToReg, SlotToReg, # 70
FunctionReturn, SlotToReg, RegToSlot, Branch, SlotToReg,
SlotToReg, RegToSlot, LoadConstant, SlotToReg, RegToSlot, # 80
RegToSlot, SlotToReg, SlotToReg, SlotToReg, Branch,
FunctionReturn, Transfer, SlotToReg, SlotToReg, Syscall, # 90
NilClass, ]
check_main_chain [LoadConstant, RegToSlot, LoadConstant, SlotToReg, RegToSlot, #5
LoadConstant, SlotToReg, RegToSlot, SlotToReg, FunctionCall, #10
LoadConstant, SlotToReg, LoadConstant, OperatorInstruction, IsNotZero, #15
SlotToReg, RegToSlot, SlotToReg, SlotToReg, Transfer, #20
Transfer, LoadData, OperatorInstruction, LoadData, OperatorInstruction, #25
OperatorInstruction, LoadData, Branch, Transfer, OperatorInstruction, #30
OperatorInstruction, LoadData, Transfer, OperatorInstruction, OperatorInstruction, #35
LoadData, Transfer, OperatorInstruction, OperatorInstruction, LoadData, #40
OperatorInstruction, LoadData, Transfer, OperatorInstruction, OperatorInstruction, #45
Transfer, LoadData, OperatorInstruction, LoadData, OperatorInstruction, #50
OperatorInstruction, RegToSlot, RegToSlot, SlotToReg, SlotToReg, #55
RegToSlot, SlotToReg, Branch, SlotToReg, SlotToReg, #60
FunctionReturn, SlotToReg, RegToSlot, Branch, SlotToReg, #65
SlotToReg, RegToSlot, SlotToReg, SlotToReg, SlotToReg, #70
FunctionReturn, Transfer, SlotToReg, SlotToReg, Syscall, #75
NilClass,] #80s
assert_equal 2 , get_return
end
def test_load_25
load_ins = main_ticks 9
load_ins = main_ticks 3
assert_equal LoadConstant , load_ins.class
assert_equal 25 , @interpreter.get_register(load_ins.register).value
end
def test_load_space
load_ins = main_ticks 64
assert_load load_ins, Parfait::Factory
end
def test_return_class
ret = main_ticks(86)
ret = main_ticks(71)
assert_equal FunctionReturn , ret.class
link = @interpreter.get_register( ret.register )
assert_equal ::Integer , link.class