simple sends and all whiles working

This commit is contained in:
Torsten Ruger
2018-03-16 18:41:17 +05:30
parent 35a0952943
commit da0e1cdc5f
7 changed files with 40 additions and 40 deletions

View File

@ -4,30 +4,27 @@ require_relative "helper"
module Vool
class TestSimpleWhileMom < MiniTest::Test
include MomCompile
include Mom
def setup
Risc.machine.boot
@stats = compile_first_method( "while(@a) ; 5.mod4 ; end")
@first = @stats.first
@ins = compile_first_method( "while(@a) ; 5.mod4 ; end")
end
def test_compiles_not_array
assert Array != @stats.class , @stats
assert Array != @ins.class , @ins
end
def test_compiles_as_while
assert_equal Mom::WhileStatement , @first.class , @stats
assert_equal Label , @ins.class , @ins
end
def test_condition_compiles_to_check
assert_equal Mom::TruthCheck , @first.condition.class , @stats
assert_equal TruthCheck , @ins.next.class , @ins
end
def test_condition_is_slot
assert_equal Mom::SlotDefinition , @first.condition.condition.class , @stats
end
def test_nothing_hoisted
assert_nil @first.hoisted , @stats
assert_equal SlotDefinition , @ins.next.condition.class , @ins
end
def test_array
check_array [Label,SlotLoad,TruthCheck,Label] , @stats
check_array [Label,TruthCheck,MessageSetup,SlotLoad,ArgumentTransfer,SimpleCall,Jump,Label] , @ins
end
end
end