still fixing instruction tests

This commit is contained in:
Torsten 2020-03-08 17:31:39 +02:00
parent e6729b8b60
commit 28e9cd335a
6 changed files with 41 additions and 45 deletions

View File

@ -13,60 +13,60 @@ module SlotMachine
assert_equal 19 , all.length , all_str assert_equal 19 , all.length , all_str
end end
def test_1_load_name def test_1_load_name
assert_load risc(1) , Symbol , :r1 assert_load 1, Symbol , :r1
assert_equal :name , risc(1).constant assert_equal :name , risc(1).constant
end end
def test_2_load_cache def test_2_load_cache
assert_load risc(2) , Parfait::CacheEntry , :r2 assert_load 2, Parfait::CacheEntry , :r2
end end
def test_3_get_cache_type def test_3_get_cache_type
assert_slot_to_reg risc(3) ,:r2 , 1 , :r3 assert_slot_to_reg 3,:r2 , 1 , :r3
end end
def test_4_get_type_methods def test_4_get_type_methods
assert_slot_to_reg risc(4) ,:r3 , 4 , :r4 assert_slot_to_reg 4,:r3 , 4 , :r4
end end
def test_5_start_label def test_5_start_label
assert_label risc(5) , "while_start_" assert_label 5, "while_start_"
end end
def test_6_load_nil def test_6_load_nil
assert_load risc(6) , Parfait::NilClass , :r5 assert_load 6, Parfait::NilClass , :r5
end end
def test_7_check_nil def test_7_check_nil
assert_operator risc(7) , :- , :r5 , :r4 assert_operator 7, :- , :r5 , :r4
end end
def test_8_nil_branch def test_8_nil_branch
assert_zero risc(8) , "exit_label_" assert_zero 8, "exit_label_"
end end
def test_9_get_method_name def test_9_get_method_name
assert_slot_to_reg risc(9) ,:r4 , 6 , :r6 assert_slot_to_reg 9,:r4 , 6 , :r6
end end
# Syscall, Label, RegToSlot,] #20 # Syscall, Label, RegToSlot,] #20
def test_10_check_name def test_10_check_name
assert_operator risc(10) , :- , :r6 , :r1 assert_operator 10, :- , :r6 , :r1
end end
def test_11_nil_branch def test_11_nil_branch
assert_zero risc(11) , "ok_label_" assert_zero 11, "ok_label_"
end end
def test_12_get_next_method def test_12_get_next_method
assert_slot_to_reg risc(12) ,:r4 , 2 , :r4 assert_slot_to_reg 12,:r4 , 2 , :r4
end end
def test_13_continue_while def test_13_continue_while
assert_branch risc(13) , "while_start_" assert_branch 13, "while_start_"
end end
def test_14_goto_exit def test_14_goto_exit
assert_label risc(14) , "exit_label_" assert_label 14, "exit_label_"
end end
def test_15_move_name def test_15_move_name
assert_transfer( risc(15) , :r1 , :r1) assert_transfer( 15, :r1 , :r1)
end end
def test_16_die def test_16_die
assert_syscall risc(16) , :died assert_syscall 16, :died
end end
def test_17_label def test_17_label
assert_label risc(17) , "ok_label_" assert_label 17, "ok_label_"
end end
def test_18_load_method 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 end
end end

View File

@ -9,7 +9,7 @@ module SlotMachine
assert_equal 2 , all.length , all_str assert_equal 2 , all.length , all_str
end end
def test_2_branch def test_2_branch
assert_branch risc(1) ,"return" assert_branch 1,"return"
end end
end end
end end

View File

@ -9,19 +9,19 @@ module SlotMachine
assert_equal 7 , all.length , all_str assert_equal 7 , all.length , all_str
end end
def test_1_load_return_value 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 end
def test_2_load_caller 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 end
def test_3_store_return_in_caller 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 end
def test_4_load_return_address 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 end
def test_5_swap_messages def test_5_swap_messages
assert_slot_to_reg risc(5) ,:message, 6 , :message assert_slot_to_reg 5,:message, 6 , :message
end end
def test_6_do_return def test_6_do_return
assert_equal Risc::FunctionReturn , risc(6).class assert_equal Risc::FunctionReturn , risc(6).class

View File

@ -12,17 +12,16 @@ module SlotMachine
assert_equal Risc::Label , all.first.class assert_equal Risc::Label , all.first.class
end end
def test_1_slot def test_1_slot
assert_slot_to_reg risc(1) ,:message , 6 , :"message.caller" assert_slot_to_reg 1,:message , 6 , :"message.caller"
end end
def test_2_slot 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 end
def test_3_op def test_3_op
assert_operator risc(3) , :- , "message.caller" , "message.next_message" assert_operator 3, :- , "message.caller" , "message.next_message"
end end
def test_4_zero def test_4_zero
assert_equal Risc::IsNotZero , risc(4).class assert_zero 4 , "target"
assert_label risc(4).label , "target"
end end
end end
end end

View File

@ -11,25 +11,24 @@ module SlotMachine
assert_equal 7 , all.length , all_str assert_equal 7 , all.length , all_str
end end
def test_1_load_return_label def test_1_load_return_label
assert_load risc(1) , Risc::Label , "id_" assert_load 1 , Risc::Label , "id_"
assert_label risc(1).constant , "continue_" assert_label risc(1).constant , "after_meth_" , 1
end end
def test_2_load_next_message 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 end
def test_3_store_return_address 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 end
def test_4_swap_messages def test_4_swap_messages
assert_slot_to_reg risc(4) ,:message , 1 , :message assert_slot_to_reg 4 ,:message , 1 , :message
end end
def test_5_call def test_5_call
assert_equal Risc::FunctionCall , risc(5).class assert_equal Risc::FunctionCall , risc(5).class
assert_equal :meth , risc(5).method.name assert_equal :meth , risc(5).method.name
end end
def test_6_label def test_6_label
assert_equal Risc::Label , risc(6).class assert_label 6 , "after_meth_"
assert_label risc(6) , "continue_"
end end
end end
end end

View File

@ -11,27 +11,25 @@ module SlotMachine
assert_equal Risc::Label , all.first.class assert_equal Risc::Label , all.first.class
end end
def test_1_slot def test_1_slot
assert_slot_to_reg risc(1) ,:message , 6 , :"message.caller" assert_slot_to_reg 1,:message , 6 , :"message.caller"
end end
def test_2_load def test_2_load
assert_load risc(2) , Parfait::FalseClass, "id_" assert_load 2, Parfait::FalseClass, "id_"
end end
def test_3_op def test_3_op
assert_operator risc(3) , :- , "id_" , "message.caller" assert_operator 3, :- , "id_" , "message.caller"
end end
def test_4_zero def test_4_zero
assert_equal Risc::IsZero , risc(4).class assert_not_zero 4 , "target"
assert_label risc(4).label , "target"
end end
def test_5_load def test_5_load
assert_load risc(5) , Parfait::NilClass , "id_" assert_load 5, Parfait::NilClass , "id_"
end end
def test_6_op def test_6_op
assert_operator risc(6), :- , "id_", "message.caller" assert_operator 6, :- , "id_", "message.caller"
end end
def test_7_zero def test_7_zero
assert_equal Risc::IsZero , risc(7).class assert_not_zero 7 , "target"
assert_label risc(7).label , "target"
end end
end end
end end