rubyx/test/melon/compiler/test_method_creation.rb

39 lines
828 B
Ruby
Raw Normal View History

2017-01-12 19:38:04 +01:00
require_relative "helper"
module Melon
class TestMethod < MiniTest::Test
include CompilerHelper
def setup
Register.machine.boot
end
def create_method
2017-01-12 19:38:04 +01:00
Compiler.compile in_Space("def meth; @ivar;end")
space = Parfait.object_space.get_class
space.get_method(:meth)
end
def test_creates_method_in_class
method = create_method
2017-01-12 19:38:04 +01:00
assert method , "No method created"
end
def test_method_has_source
method = create_method
assert_equal "(ivar :@ivar)", method.source.to_s
end
def test_method_has_no_args
method = create_method
assert_equal 1 , method.args_type.instance_length
end
def test_method_has_no_locals
method = create_method
assert_equal 1 , method.locals_type.instance_length
end
2017-01-12 19:38:04 +01:00
end
end