rename helper

This commit is contained in:
Torsten Ruger 2015-11-07 12:18:08 +02:00
parent fd7e4afb2f
commit b1939e9828
7 changed files with 48 additions and 13 deletions

View File

@ -9,7 +9,7 @@ Soml::Compiler.class_eval do
end
end
module CompilerHelper
module ExpressionHelper
def set_main compiler
compiler.set_main Register.machine.space.get_main

View File

@ -1,3 +1,4 @@
require_relative "test_basic"
require_relative "test_call"
require_relative "test_field_access"
require_relative "test_ops"

View File

@ -1,8 +1,8 @@
require_relative "compiler_helper"
require_relative "helper"
class TestBasic < MiniTest::Test
include CompilerHelper
include ExpressionHelper
def setup
@root = :basic_type
@ -11,7 +11,7 @@ class TestBasic < MiniTest::Test
def test_number
@string_input = '42 '
assert_equal 42 , check.value
assert_equal 42 , check.value
end
def test_true
@ -39,6 +39,11 @@ class TestBasic < MiniTest::Test
check
end
def test_space
@string_input = 'self '
check
end
def test_string
@string_input = "\"hello\""
check

View File

@ -1,8 +1,8 @@
require_relative "compiler_helper"
require_relative "helper"
module Register
class TestCall < MiniTest::Test
include CompilerHelper
include ExpressionHelper
def setup
Register.machine.boot

View File

@ -1,8 +1,8 @@
require_relative "compiler_helper"
require_relative "helper"
module Register
class TestFields < MiniTest::Test
include CompilerHelper
include ExpressionHelper
def setup
Register.machine.boot
@ -16,6 +16,14 @@ HERE
assert_raises(RuntimeError) { check }
end
def test_field_not_space
@root = :field_access
@string_input = <<HERE
self.space
HERE
assert_raises(RuntimeError) { check }
end
def test_field
Register.machine.space.get_class_by_name(:Object).object_layout.add_instance_variable(:bro,:Object)
@root = :field_access
@ -34,6 +42,13 @@ HERE
check
end
def test_space
@root = :name
@string_input = 'space '
@output = Register::RegisterValue
check
end
def test_args
Register.machine.space.get_main.arguments.push Parfait::Variable.new(:Integer , :bar)
@root = :name

View File

@ -1,8 +1,8 @@
require_relative "compiler_helper"
require_relative "helper"
module Register
class TestOps < MiniTest::Test
include CompilerHelper
include ExpressionHelper
def setup
Register.machine.boot
@ -31,13 +31,13 @@ module Register
end
def test_field_int
Register.machine.space.get_class_by_name(:Object).object_layout.add_instance_variable(:bro)
Register.machine.space.get_class_by_name(:Object).object_layout.add_instance_variable(:bro,:int)
@string_input = "self.bro + 3"
check
end
def test_int_field
Register.machine.space.get_class_by_name(:Object).object_layout.add_instance_variable(:bro)
Register.machine.space.get_class_by_name(:Object).object_layout.add_instance_variable(:bro,:int)
@string_input = "3 + self.bro"
check
end

View File

@ -45,7 +45,7 @@ end
HERE
@expect = [Label, LoadConstant,GetSlot,SetSlot,GetSlot,GetSlot ,SetSlot,
Label,RegisterTransfer,GetSlot,FunctionReturn]
check
check
end
def test_return_field
@ -56,6 +56,20 @@ class Object
return self.runner
end
end
HERE
@expect = [Label, GetSlot,GetSlot ,SetSlot,Label,RegisterTransfer,GetSlot,FunctionReturn]
check
end
def pest_return_space_length # need to add runtime first
@string_input = <<HERE
class Object
int main()
Layout l = space.get_layout()
return self.runner
end
end
HERE
@expect = [Label, GetSlot,GetSlot ,SetSlot,Label,RegisterTransfer,GetSlot,FunctionReturn]
check