more condition tests
This commit is contained in:
parent
ffbe39d571
commit
5335d08408
@ -20,10 +20,72 @@ module Vool
|
|||||||
assert_nil lst.if_false
|
assert_nil lst.if_false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def double_if
|
||||||
|
"if(false) ; true ; else ; false; end"
|
||||||
|
end
|
||||||
def test_if_double
|
def test_if_double
|
||||||
lst = Compiler.compile( "if(false) ; true ; else ; false; end" )
|
lst = Compiler.compile( double_if )
|
||||||
assert_equal IfStatement , lst.class
|
assert_equal IfStatement , lst.class
|
||||||
end
|
end
|
||||||
|
def test_if_double_cond
|
||||||
|
lst = Compiler.compile( double_if )
|
||||||
|
assert_equal FalseStatement , lst.condition.class
|
||||||
|
end
|
||||||
|
def test_if_double_branches
|
||||||
|
lst = Compiler.compile( double_if )
|
||||||
|
assert_equal TrueStatement , lst.if_true.class
|
||||||
|
assert_equal FalseStatement, lst.if_false.class
|
||||||
|
end
|
||||||
|
|
||||||
|
def reverse_if
|
||||||
|
"true if(false)"
|
||||||
|
end
|
||||||
|
def test_if_reverse
|
||||||
|
lst = Compiler.compile( reverse_if )
|
||||||
|
assert_equal IfStatement , lst.class
|
||||||
|
end
|
||||||
|
def test_if_reverse_cond
|
||||||
|
lst = Compiler.compile( reverse_if )
|
||||||
|
assert_equal FalseStatement , lst.condition.class
|
||||||
|
end
|
||||||
|
def test_if_reverse_branches
|
||||||
|
lst = Compiler.compile( reverse_if )
|
||||||
|
assert_equal TrueStatement , lst.if_true.class
|
||||||
|
assert_nil lst.if_false
|
||||||
|
end
|
||||||
|
|
||||||
|
def reverse_unless
|
||||||
|
"true unless(false)"
|
||||||
|
end
|
||||||
|
def test_if_reverse
|
||||||
|
lst = Compiler.compile( reverse_unless )
|
||||||
|
assert_equal IfStatement , lst.class
|
||||||
|
end
|
||||||
|
def test_if_reverse_cond
|
||||||
|
lst = Compiler.compile( reverse_unless )
|
||||||
|
assert_equal FalseStatement , lst.condition.class
|
||||||
|
end
|
||||||
|
def test_if_reverse_branches
|
||||||
|
lst = Compiler.compile( reverse_unless )
|
||||||
|
assert_nil lst.if_true
|
||||||
|
assert_equal TrueStatement ,lst.if_false.class
|
||||||
|
end
|
||||||
|
|
||||||
|
def ternary
|
||||||
|
"false ? true : false"
|
||||||
|
end
|
||||||
|
def test_if_ternary
|
||||||
|
lst = Compiler.compile( ternary )
|
||||||
|
assert_equal IfStatement , lst.class
|
||||||
|
end
|
||||||
|
def test_if_ternary_cond
|
||||||
|
lst = Compiler.compile( ternary )
|
||||||
|
assert_equal FalseStatement , lst.condition.class
|
||||||
|
end
|
||||||
|
def test_if_ternary_branches
|
||||||
|
lst = Compiler.compile( ternary )
|
||||||
|
assert_equal TrueStatement , lst.if_true.class
|
||||||
|
assert_equal FalseStatement, lst.if_false.class
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user