require_relative 'helper' module Ruby class TestWhileStatementVool < MiniTest::Test include RubyTests def setup @lst = compile( "while(@arg) ; @arg = 1 ; end" ).to_vool end def test_class assert_equal Vool::WhileStatement , @lst.class end def test_body_class assert_equal Vool::IvarAssignment , @lst.body.class end def test_condition_class assert_equal Vool::InstanceVariable , @lst.condition.class end def test_no_hoist assert_nil @lst.hoisted end end class TestWhileStatementHoist < MiniTest::Test include RubyTests def setup @lst = compile( "while(call(arg > 1)) ; arg = 1 ; end" ).to_vool end def test_class assert_equal Vool::WhileStatement , @lst.class assert_equal Vool::LocalAssignment , @lst.body.class end def test_condition_class assert_equal Vool::SendStatement , @lst.condition.class end def test_hoist assert_equal Vool::Statements , @lst.hoisted.class end def test_hoist_is_assi assert_equal Vool::LocalAssignment , @lst.hoisted.first.class end end end