move argument and parameter tests to new framework
This commit is contained in:
37
test/parser/test_arguments.rb
Normal file
37
test/parser/test_arguments.rb
Normal file
@ -0,0 +1,37 @@
|
||||
require_relative "helper"
|
||||
|
||||
class TestArguments < MiniTest::Test
|
||||
# include the magic (setup and parse -> test method translation), see there
|
||||
include ParserHelper
|
||||
|
||||
def test_one_argument
|
||||
@string_input = '(42)'
|
||||
@parse_output = {:argument_list => [{:argument => {:integer => '42'}}] }
|
||||
@transform_output = [Parser::IntegerExpression.new(42) ]
|
||||
@parser = @parser.argument_list
|
||||
end
|
||||
|
||||
def test_argument_list
|
||||
@string_input = '(42, foo)'
|
||||
@parse_output = {:argument_list => [{:argument => {:integer => '42'}},
|
||||
{:argument => {:name => 'foo'}}]}
|
||||
@transform_output = [Parser::IntegerExpression.new(42), Parser::NameExpression.new('foo')]
|
||||
@parser = @parser.argument_list
|
||||
end
|
||||
|
||||
def test_parmeter
|
||||
@string_input = "(foo)"
|
||||
@parse_output = {:parmeter_list => [{:parmeter => { :name => "foo"}} ]}
|
||||
@transform_output = [Parser::NameExpression.new('foo')]
|
||||
@parser = @parser.parmeter_list
|
||||
end
|
||||
|
||||
def test_parmeter_list
|
||||
@string_input = "( foo , bar)"
|
||||
@parse_output = {:parmeter_list => [{:parmeter => { :name => "foo"}},
|
||||
{:parmeter => { :name => "bar"}} ]}
|
||||
@transform_output = [Parser::NameExpression.new('foo') , Parser::NameExpression.new('bar')]
|
||||
@parser = @parser.parmeter_list
|
||||
end
|
||||
|
||||
end
|
@ -4,21 +4,21 @@ class TestBasic < MiniTest::Test
|
||||
# include the magic (setup and parse -> test method translation), see there
|
||||
include ParserHelper
|
||||
|
||||
def parse_number
|
||||
def test_number
|
||||
@string_input = '42 '
|
||||
@parse_output = {:integer => '42'}
|
||||
@transform_output = Parser::IntegerExpression.new(42)
|
||||
@parser = @parser.integer
|
||||
end
|
||||
|
||||
def parse_name
|
||||
def test_name
|
||||
@string_input = 'foo '
|
||||
@parse_output = {:name => 'foo'}
|
||||
@transform_output = Parser::NameExpression.new('foo')
|
||||
@parser = @parser.name
|
||||
end
|
||||
|
||||
def parse_string
|
||||
def test_string
|
||||
@string_input = <<HERE
|
||||
"hello"
|
||||
HERE
|
||||
|
Reference in New Issue
Block a user