add send statement

This commit is contained in:
Torsten Ruger
2017-04-02 12:57:05 +03:00
parent 93f9d16209
commit d62e996f7c
4 changed files with 71 additions and 11 deletions

View File

@ -3,6 +3,10 @@ require_relative "../helper"
module Vool
class TestBasicValues < MiniTest::Test
def test_self
lst = Compiler.compile( "self")
assert_equal SelfStatement , lst.class
end
def test_nil
lst = Compiler.compile( "nil")
assert_equal NilStatement , lst.class

View File

@ -0,0 +1,41 @@
require_relative "../helper"
module Vool
class TestSend < MiniTest::Test
def test_simple
lst = Compiler.compile( "foo")
assert_equal SendStatement , lst.class
end
def test_simple_name
lst = Compiler.compile( "foo")
assert_equal :foo , lst.name
end
def test_simple_receiver
lst = Compiler.compile( "foo")
assert_equal SelfStatement , lst.receiver.class
end
def test_simple_args
lst = Compiler.compile( "foo")
assert_equal [] , lst.arguments
end
def test_one_arg
lst = Compiler.compile( "bar(1)")
assert_equal SendStatement , lst.class
end
def test_one_arg_name
lst = Compiler.compile( "bar(1)")
assert_equal :bar , lst.name
end
def test_one_arg_receiver
lst = Compiler.compile( "bar(1)")
assert_equal SelfStatement , lst.receiver.class
end
def test_one_arg_args
lst = Compiler.compile( "bar(1)")
assert_equal 1 , lst.arguments.first.value
end
end
end