ivar tests work
bit of slot find replace
This commit is contained in:
parent
4a79d20a40
commit
ff6d84a09b
@ -23,7 +23,7 @@ module Vool
|
|||||||
assert_equal Mom::NotSameCheck , @first.condition.class , @first
|
assert_equal Mom::NotSameCheck , @first.condition.class , @first
|
||||||
end
|
end
|
||||||
def test_if_true_moves_type
|
def test_if_true_moves_type
|
||||||
assert_equal @first.if_true[0].class, Mom::SlotMove , @first.if_true.to_rxf
|
assert_equal @first.if_true[0].class, Mom::SlotLoad , @first.if_true.to_rxf
|
||||||
end
|
end
|
||||||
def test_if_true_resolves_setup
|
def test_if_true_resolves_setup
|
||||||
assert_equal @first.if_true[1].class , Mom::MessageSetup, @first.if_true.to_rxf
|
assert_equal @first.if_true[1].class , Mom::MessageSetup, @first.if_true.to_rxf
|
||||||
@ -35,7 +35,7 @@ module Vool
|
|||||||
assert_equal @first.if_true[3].class , Mom::SimpleCall, @first.if_true.to_rxf
|
assert_equal @first.if_true[3].class , Mom::SimpleCall, @first.if_true.to_rxf
|
||||||
end
|
end
|
||||||
def test_if_true_resolves_move
|
def test_if_true_resolves_move
|
||||||
assert_equal @first.if_true[4].class , Mom::SlotMove, @first.if_true.to_rxf
|
assert_equal @first.if_true[4].class , Mom::SlotLoad, @first.if_true.to_rxf
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_setup_second
|
def test_setup_second
|
||||||
@ -51,7 +51,7 @@ module Vool
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_array
|
def test_array
|
||||||
check_array [SlotConstant,NotSameCheck,Label,SlotMove,MessageSetup,ArgumentTransfer,SimpleCall,SlotMove,Label,MessageSetup,ArgumentTransfer,DynamicCall] , @stats
|
check_array [SlotLoad,NotSameCheck,Label,SlotLoad,MessageSetup,ArgumentTransfer,SimpleCall,SlotLoad,Label,MessageSetup,ArgumentTransfer,DynamicCall] , @stats
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -20,7 +20,7 @@ module Vool
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_arg_one
|
def test_arg_one
|
||||||
assert_equal Mom::SlotConstant, @stats[1].arguments[0].class
|
assert_equal Mom::SlotLoad, @stats[1].arguments[0].class
|
||||||
end
|
end
|
||||||
def test_call_two
|
def test_call_two
|
||||||
assert_equal Mom::SimpleCall, @stats[2].class
|
assert_equal Mom::SimpleCall, @stats[2].class
|
||||||
|
@ -32,7 +32,7 @@ module Vool
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#otherwise as above, but assigning instance, so should get a SlotMove
|
#otherwise as above, but assigning instance, so should get a SlotLoad
|
||||||
class TestAssignMomInstanceToLocal < MiniTest::Test
|
class TestAssignMomInstanceToLocal < MiniTest::Test
|
||||||
include MomCompile
|
include MomCompile
|
||||||
def setup
|
def setup
|
||||||
|
@ -21,7 +21,7 @@ module Vool
|
|||||||
assert_equal Mom::SlotDefinition , @first.condition.condition.class , @stats
|
assert_equal Mom::SlotDefinition , @first.condition.condition.class , @stats
|
||||||
end
|
end
|
||||||
def test_hoisetd
|
def test_hoisetd
|
||||||
assert_equal Mom::SlotMove , @first.hoisted.class
|
assert_equal Mom::SlotLoad , @first.hoisted.class
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -27,7 +27,7 @@ module Vool
|
|||||||
assert_nil @first.hoisted , @stats
|
assert_nil @first.hoisted , @stats
|
||||||
end
|
end
|
||||||
def test_array
|
def test_array
|
||||||
check_array [SlotMove,TruthCheck,Label,MessageSetup,ArgumentTransfer,SimpleCall,Label], @stats
|
check_array [SlotLoad,TruthCheck,Label,MessageSetup,ArgumentTransfer,SimpleCall,Label], @stats
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -6,32 +6,32 @@ module Vool
|
|||||||
|
|
||||||
def setup
|
def setup
|
||||||
Risc.machine.boot
|
Risc.machine.boot
|
||||||
@method = compile_first_method( "@a = 5")
|
@ins = compile_first_method( "@a = 5")
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_compiles_not_array
|
def test_compiles_not_array
|
||||||
assert Array != @stats.class , @stats
|
assert Array != @stats.class , @stats
|
||||||
end
|
end
|
||||||
def test_class_compiles
|
def test_class_compiles
|
||||||
assert_equal Mom::SlotConstant , @method.first.class , @method
|
assert_equal Mom::SlotLoad , @ins.class , @ins
|
||||||
end
|
end
|
||||||
def test_slot_is_set
|
def test_slot_is_set
|
||||||
assert @method.first.left
|
assert @ins.left
|
||||||
end
|
end
|
||||||
def test_slot_starts_at_message
|
def test_slot_starts_at_message
|
||||||
assert_equal :message , @method.first.left.known_object
|
assert_equal :message , @ins.left.known_object
|
||||||
end
|
end
|
||||||
def test_slot_gets_self
|
def test_slot_gets_self
|
||||||
assert_equal :receiver , @method.first.left.slots[0]
|
assert_equal :receiver , @ins.left.slots[0]
|
||||||
end
|
end
|
||||||
def test_slot_assigns_to_local
|
def test_slot_assigns_to_local
|
||||||
assert_equal :a , @method.first.left.slots[-1]
|
assert_equal :a , @ins.left.slots[-1]
|
||||||
end
|
end
|
||||||
def test_slot_assigns_something
|
def test_slot_assigns_something
|
||||||
assert @method.first.right
|
assert @ins.right
|
||||||
end
|
end
|
||||||
def test_slot_assigns_int
|
def test_slot_assigns_int
|
||||||
assert_equal Mom::IntegerConstant , @method.first.right.class
|
assert_equal Mom::IntegerConstant , @ins.right.class
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -14,7 +14,7 @@ module Vool
|
|||||||
assert Array != @stats.class , @stats
|
assert Array != @stats.class , @stats
|
||||||
end
|
end
|
||||||
def test_class_compiles
|
def test_class_compiles
|
||||||
assert_equal Mom::SlotConstant , @first.class , @stats
|
assert_equal Mom::SlotLoad , @first.class , @stats
|
||||||
end
|
end
|
||||||
def test_slot_is_set
|
def test_slot_is_set
|
||||||
assert @first.left
|
assert @first.left
|
||||||
|
@ -13,7 +13,7 @@ module Vool
|
|||||||
assert Array != @stats.class , @stats
|
assert Array != @stats.class , @stats
|
||||||
end
|
end
|
||||||
def test_class_compiles
|
def test_class_compiles
|
||||||
assert_equal Mom::SlotConstant , @stats.first.class , @stats
|
assert_equal Mom::SlotLoad , @stats.first.class , @stats
|
||||||
end
|
end
|
||||||
def test_slot_is_set
|
def test_slot_is_set
|
||||||
assert @stats.first.left
|
assert @stats.first.left
|
||||||
|
@ -21,7 +21,7 @@ module Vool
|
|||||||
assert_equal Mom::SlotDefinition , @first.condition.condition.class , @stats
|
assert_equal Mom::SlotDefinition , @first.condition.condition.class , @stats
|
||||||
end
|
end
|
||||||
def test_hoisetd
|
def test_hoisetd
|
||||||
assert_equal Mom::SlotMove , @first.hoisted.class
|
assert_equal Mom::SlotLoad , @first.hoisted.class
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -27,7 +27,7 @@ module Vool
|
|||||||
assert_nil @first.hoisted , @stats
|
assert_nil @first.hoisted , @stats
|
||||||
end
|
end
|
||||||
def test_array
|
def test_array
|
||||||
check_array [Label,SlotMove,TruthCheck,Label] , @stats
|
check_array [Label,SlotLoad,TruthCheck,Label] , @stats
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user