still fixing instruction tests
This commit is contained in:
parent
e6729b8b60
commit
28e9cd335a
@ -13,60 +13,60 @@ module SlotMachine
|
||||
assert_equal 19 , all.length , all_str
|
||||
end
|
||||
def test_1_load_name
|
||||
assert_load risc(1) , Symbol , :r1
|
||||
assert_load 1, Symbol , :r1
|
||||
assert_equal :name , risc(1).constant
|
||||
end
|
||||
def test_2_load_cache
|
||||
assert_load risc(2) , Parfait::CacheEntry , :r2
|
||||
assert_load 2, Parfait::CacheEntry , :r2
|
||||
end
|
||||
def test_3_get_cache_type
|
||||
assert_slot_to_reg risc(3) ,:r2 , 1 , :r3
|
||||
assert_slot_to_reg 3,:r2 , 1 , :r3
|
||||
end
|
||||
def test_4_get_type_methods
|
||||
assert_slot_to_reg risc(4) ,:r3 , 4 , :r4
|
||||
assert_slot_to_reg 4,:r3 , 4 , :r4
|
||||
end
|
||||
def test_5_start_label
|
||||
assert_label risc(5) , "while_start_"
|
||||
assert_label 5, "while_start_"
|
||||
end
|
||||
def test_6_load_nil
|
||||
assert_load risc(6) , Parfait::NilClass , :r5
|
||||
assert_load 6, Parfait::NilClass , :r5
|
||||
end
|
||||
def test_7_check_nil
|
||||
assert_operator risc(7) , :- , :r5 , :r4
|
||||
assert_operator 7, :- , :r5 , :r4
|
||||
end
|
||||
def test_8_nil_branch
|
||||
assert_zero risc(8) , "exit_label_"
|
||||
assert_zero 8, "exit_label_"
|
||||
end
|
||||
def test_9_get_method_name
|
||||
assert_slot_to_reg risc(9) ,:r4 , 6 , :r6
|
||||
assert_slot_to_reg 9,:r4 , 6 , :r6
|
||||
end
|
||||
# Syscall, Label, RegToSlot,] #20
|
||||
def test_10_check_name
|
||||
assert_operator risc(10) , :- , :r6 , :r1
|
||||
assert_operator 10, :- , :r6 , :r1
|
||||
end
|
||||
def test_11_nil_branch
|
||||
assert_zero risc(11) , "ok_label_"
|
||||
assert_zero 11, "ok_label_"
|
||||
end
|
||||
def test_12_get_next_method
|
||||
assert_slot_to_reg risc(12) ,:r4 , 2 , :r4
|
||||
assert_slot_to_reg 12,:r4 , 2 , :r4
|
||||
end
|
||||
def test_13_continue_while
|
||||
assert_branch risc(13) , "while_start_"
|
||||
assert_branch 13, "while_start_"
|
||||
end
|
||||
def test_14_goto_exit
|
||||
assert_label risc(14) , "exit_label_"
|
||||
assert_label 14, "exit_label_"
|
||||
end
|
||||
def test_15_move_name
|
||||
assert_transfer( risc(15) , :r1 , :r1)
|
||||
assert_transfer( 15, :r1 , :r1)
|
||||
end
|
||||
def test_16_die
|
||||
assert_syscall risc(16) , :died
|
||||
assert_syscall 16, :died
|
||||
end
|
||||
def test_17_label
|
||||
assert_label risc(17) , "ok_label_"
|
||||
assert_label 17, "ok_label_"
|
||||
end
|
||||
def test_18_load_method
|
||||
assert_reg_to_slot risc(18) , :r4 , :r2 , 2
|
||||
assert_reg_to_slot 18, :r4 , :r2 , 2
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -9,7 +9,7 @@ module SlotMachine
|
||||
assert_equal 2 , all.length , all_str
|
||||
end
|
||||
def test_2_branch
|
||||
assert_branch risc(1) ,"return"
|
||||
assert_branch 1,"return"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -9,19 +9,19 @@ module SlotMachine
|
||||
assert_equal 7 , all.length , all_str
|
||||
end
|
||||
def test_1_load_return_value
|
||||
assert_slot_to_reg risc(1) ,:message , 6 , "message.caller"
|
||||
assert_slot_to_reg 1,:message , 6 , "message.caller"
|
||||
end
|
||||
def test_2_load_caller
|
||||
assert_slot_to_reg risc(2) ,"message.caller" , 5 , "message.caller.return_value"
|
||||
assert_slot_to_reg 2,"message.caller" , 5 , "message.caller.return_value"
|
||||
end
|
||||
def test_3_store_return_in_caller
|
||||
assert_reg_to_slot risc(3) , "message.caller.return_value" , "message.caller" , 5
|
||||
assert_reg_to_slot 3, "message.caller.return_value" , "message.caller" , 5
|
||||
end
|
||||
def test_4_load_return_address
|
||||
assert_slot_to_reg risc(4) ,:message , 4 , "message.return_address"
|
||||
assert_slot_to_reg 4,:message , 4 , "message.return_address"
|
||||
end
|
||||
def test_5_swap_messages
|
||||
assert_slot_to_reg risc(5) ,:message, 6 , :message
|
||||
assert_slot_to_reg 5,:message, 6 , :message
|
||||
end
|
||||
def test_6_do_return
|
||||
assert_equal Risc::FunctionReturn , risc(6).class
|
||||
|
@ -12,17 +12,16 @@ module SlotMachine
|
||||
assert_equal Risc::Label , all.first.class
|
||||
end
|
||||
def test_1_slot
|
||||
assert_slot_to_reg risc(1) ,:message , 6 , :"message.caller"
|
||||
assert_slot_to_reg 1,:message , 6 , :"message.caller"
|
||||
end
|
||||
def test_2_slot
|
||||
assert_slot_to_reg risc(2) ,:message , 1 , :"message.next_message"
|
||||
assert_slot_to_reg 2,:message , 1 , :"message.next_message"
|
||||
end
|
||||
def test_3_op
|
||||
assert_operator risc(3) , :- , "message.caller" , "message.next_message"
|
||||
assert_operator 3, :- , "message.caller" , "message.next_message"
|
||||
end
|
||||
def test_4_zero
|
||||
assert_equal Risc::IsNotZero , risc(4).class
|
||||
assert_label risc(4).label , "target"
|
||||
assert_zero 4 , "target"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -11,25 +11,24 @@ module SlotMachine
|
||||
assert_equal 7 , all.length , all_str
|
||||
end
|
||||
def test_1_load_return_label
|
||||
assert_load risc(1) , Risc::Label , "id_"
|
||||
assert_label risc(1).constant , "continue_"
|
||||
assert_load 1 , Risc::Label , "id_"
|
||||
assert_label risc(1).constant , "after_meth_" , 1
|
||||
end
|
||||
def test_2_load_next_message
|
||||
assert_slot_to_reg risc(2) ,:message , 1 , :"message.next_message"
|
||||
assert_slot_to_reg 2 ,:message , 1 , :"message.next_message"
|
||||
end
|
||||
def test_3_store_return_address
|
||||
assert_reg_to_slot risc(3) , "id_" , :"message.next_message" , 4
|
||||
assert_reg_to_slot 3 , "id_" , :"message.next_message" , 4
|
||||
end
|
||||
def test_4_swap_messages
|
||||
assert_slot_to_reg risc(4) ,:message , 1 , :message
|
||||
assert_slot_to_reg 4 ,:message , 1 , :message
|
||||
end
|
||||
def test_5_call
|
||||
assert_equal Risc::FunctionCall , risc(5).class
|
||||
assert_equal :meth , risc(5).method.name
|
||||
end
|
||||
def test_6_label
|
||||
assert_equal Risc::Label , risc(6).class
|
||||
assert_label risc(6) , "continue_"
|
||||
assert_label 6 , "after_meth_"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -11,27 +11,25 @@ module SlotMachine
|
||||
assert_equal Risc::Label , all.first.class
|
||||
end
|
||||
def test_1_slot
|
||||
assert_slot_to_reg risc(1) ,:message , 6 , :"message.caller"
|
||||
assert_slot_to_reg 1,:message , 6 , :"message.caller"
|
||||
end
|
||||
def test_2_load
|
||||
assert_load risc(2) , Parfait::FalseClass, "id_"
|
||||
assert_load 2, Parfait::FalseClass, "id_"
|
||||
end
|
||||
def test_3_op
|
||||
assert_operator risc(3) , :- , "id_" , "message.caller"
|
||||
assert_operator 3, :- , "id_" , "message.caller"
|
||||
end
|
||||
def test_4_zero
|
||||
assert_equal Risc::IsZero , risc(4).class
|
||||
assert_label risc(4).label , "target"
|
||||
assert_not_zero 4 , "target"
|
||||
end
|
||||
def test_5_load
|
||||
assert_load risc(5) , Parfait::NilClass , "id_"
|
||||
assert_load 5, Parfait::NilClass , "id_"
|
||||
end
|
||||
def test_6_op
|
||||
assert_operator risc(6), :- , "id_", "message.caller"
|
||||
assert_operator 6, :- , "id_", "message.caller"
|
||||
end
|
||||
def test_7_zero
|
||||
assert_equal Risc::IsZero , risc(7).class
|
||||
assert_label risc(7).label , "target"
|
||||
assert_not_zero 7 , "target"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user