adds logical statements to vool

This commit is contained in:
Torsten Ruger
2017-04-04 18:35:15 +03:00
parent 91fdfb0c1e
commit de8b48975b
5 changed files with 64 additions and 5 deletions

View File

@ -4,8 +4,9 @@ require_relative "test_basic_values"
require_relative "test_class_statement"
require_relative "test_hash_statement"
require_relative "test_if_statement"
require_relative "test_logical_statement"
require_relative "test_method_statement"
require_relative "test_send_statement"
require_relative "test_return_statement"
require_relative "test_send_statement"
require_relative "test_variables"
require_relative "test_while_statement"

View File

@ -0,0 +1,40 @@
require_relative "../helper"
module Vool
class TestLogical < MiniTest::Test
def simple
Compiler.compile( "@a and @b")
end
def test_simple
lst = simple
assert_equal LogicalStatement , lst.class
end
def test_simple_name
lst = simple
assert_equal :and , lst.name
end
def test_simple_left
lst = simple
assert_equal InstanceVariable , lst.left.class
end
def test_simple_right
lst = simple
assert_equal InstanceVariable , lst.right.class
end
def test_or
lst = Compiler.compile( "@a or @b")
assert_equal :or , lst.name
end
def test_or2
lst = Compiler.compile( "@a || @b")
assert_equal :or , lst.name
end
def test_and2
lst = Compiler.compile( "@a && @b")
assert_equal :and , lst.name
end
end
end