From 77be0d3f73830aaca2a5d538f676fe9e0d6b4d04 Mon Sep 17 00:00:00 2001 From: Torsten Ruger Date: Thu, 19 Jul 2018 16:30:36 +0300 Subject: [PATCH] fixing the ruby creation tests --- lib/ruby/method_statement.rb | 6 ------ test/ruby/test_ | 0 test/ruby/test_basic_values.rb | 18 +++++++++--------- test/ruby/test_class_statement.rb | 4 ++-- test/ruby/test_hash_statement.rb | 2 +- test/ruby/test_if_statement.rb | 2 +- test/ruby/test_ivar_assignment.rb | 2 +- test/ruby/test_local_assignment.rb | 2 +- test/ruby/test_logical_statement.rb | 2 +- test/ruby/test_method_statement.rb | 2 +- test/ruby/test_op_assignment.rb | 4 ++-- test/ruby/test_return_statement.rb | 2 +- test/ruby/test_send_statement.rb | 2 +- test/ruby/test_variables.rb | 4 ++-- test/ruby/test_while_statement.rb | 2 +- test/ruby/test_yield_statement.rb | 14 ++++---------- 16 files changed, 28 insertions(+), 40 deletions(-) create mode 100644 test/ruby/test_ diff --git a/lib/ruby/method_statement.rb b/lib/ruby/method_statement.rb index 1c6e2ed1..8e95ed7b 100644 --- a/lib/ruby/method_statement.rb +++ b/lib/ruby/method_statement.rb @@ -8,16 +8,10 @@ module Ruby @clazz = clazz end - def to_vool MethodStatement.new( @name , @args , @body.normalize) end - def has_yield? - each{|statement| return true if statement.is_a?(YieldStatement)} - return false - end - def to_s(depth = 0) arg_str = @args.collect{|a| a.to_s}.join(', ') at_depth(depth , "def #{name}(#{arg_str})" , @body.to_s(depth + 1) , "end") diff --git a/test/ruby/test_ b/test/ruby/test_ new file mode 100644 index 00000000..e69de29b diff --git a/test/ruby/test_basic_values.rb b/test/ruby/test_basic_values.rb index 90531250..8fed5d59 100644 --- a/test/ruby/test_basic_values.rb +++ b/test/ruby/test_basic_values.rb @@ -1,7 +1,7 @@ require_relative "helper" module Ruby - class TestBasicValuesX < MiniTest::Test + class TestBasicValues < MiniTest::Test include RubyTests def test_self @@ -47,7 +47,7 @@ module Ruby assert_equal 1 , lst.statements.first.value end end - class TestBasicTypesX < MiniTest::Test + class TestBasicTypes < MiniTest::Test include RubyTests def setup @@ -55,26 +55,26 @@ module Ruby end def compile_ct( input ) lst = compile( input ) - lst.ct_type + lst.ct_type.class_name end def test_integer - assert_equal "Integer_Type" , compile_ct( "123").name + assert_equal :Integer , compile_ct( "123") end def test_string - assert_equal "Word_Type" , compile_ct( "'string'").name + assert_equal :Word , compile_ct( "'string'") end def test_sym - assert_equal "Word_Type" , compile_ct( ":symbol").name + assert_equal :Word , compile_ct( ":symbol") end # classes fot these are not implemented in parfait yet def pest_nil - assert_equal "Nil_Type" , compile_ct( "nil").name + assert_equal :Nil , compile_ct( "nil") end def pest_false - assert_equal "False_Type" , compile_ct( "false").name + assert_equal :False , compile_ct( "false") end def pest_true - assert_equal "True_Type" , compile_ct( "true").name + assert_equal :True , compile_ct( "true") end end end diff --git a/test/ruby/test_class_statement.rb b/test/ruby/test_class_statement.rb index 839f5171..8f4482f5 100644 --- a/test/ruby/test_class_statement.rb +++ b/test/ruby/test_class_statement.rb @@ -1,7 +1,7 @@ require_relative "helper" module Ruby - class TestEmptyClassStatementX < MiniTest::Test + class TestEmptyClassStatement < MiniTest::Test include RubyTests def setup @@ -26,7 +26,7 @@ module Ruby end end - class TestBasicClassStatementX < MiniTest::Test + class TestBasicClassStatement < MiniTest::Test include ScopeHelper include RubyTests diff --git a/test/ruby/test_hash_statement.rb b/test/ruby/test_hash_statement.rb index cb1837cc..3af6f988 100644 --- a/test/ruby/test_hash_statement.rb +++ b/test/ruby/test_hash_statement.rb @@ -1,7 +1,7 @@ require_relative "helper" module Ruby - class HashArrayX < MiniTest::Test + class HashArray < MiniTest::Test include RubyTests def test_empty diff --git a/test/ruby/test_if_statement.rb b/test/ruby/test_if_statement.rb index 25346813..f9c3026e 100644 --- a/test/ruby/test_if_statement.rb +++ b/test/ruby/test_if_statement.rb @@ -1,7 +1,7 @@ require_relative 'helper' module Ruby - class TestIfStatementX < MiniTest::Test + class TestIfStatement < MiniTest::Test include RubyTests def basic_if diff --git a/test/ruby/test_ivar_assignment.rb b/test/ruby/test_ivar_assignment.rb index e5597e6c..dda5f873 100644 --- a/test/ruby/test_ivar_assignment.rb +++ b/test/ruby/test_ivar_assignment.rb @@ -1,7 +1,7 @@ require_relative "helper" module Ruby - class TestIvarAssignmentX < MiniTest::Test + class TestIvarAssignment < MiniTest::Test include RubyTests def test_local diff --git a/test/ruby/test_local_assignment.rb b/test/ruby/test_local_assignment.rb index ba361ada..88e2e3de 100644 --- a/test/ruby/test_local_assignment.rb +++ b/test/ruby/test_local_assignment.rb @@ -1,7 +1,7 @@ require_relative "helper" module Ruby - class TestLocalAssignmentX < MiniTest::Test + class TestLocalAssignment < MiniTest::Test include RubyTests def test_local diff --git a/test/ruby/test_logical_statement.rb b/test/ruby/test_logical_statement.rb index 6d865f67..58475aa4 100644 --- a/test/ruby/test_logical_statement.rb +++ b/test/ruby/test_logical_statement.rb @@ -1,7 +1,7 @@ require_relative "helper" module Ruby - class TestLogicalX < MiniTest::Test + class TestLogical < MiniTest::Test include RubyTests def simple diff --git a/test/ruby/test_method_statement.rb b/test/ruby/test_method_statement.rb index 90e507ef..feddf451 100644 --- a/test/ruby/test_method_statement.rb +++ b/test/ruby/test_method_statement.rb @@ -1,7 +1,7 @@ require_relative "helper" module Ruby - class TestMethodStatementX < MiniTest::Test + class TestMethodStatement < MiniTest::Test include RubyTests def basic_setup() diff --git a/test/ruby/test_op_assignment.rb b/test/ruby/test_op_assignment.rb index 9502da2f..5c420a88 100644 --- a/test/ruby/test_op_assignment.rb +++ b/test/ruby/test_op_assignment.rb @@ -18,7 +18,7 @@ module Ruby assert_equal 5 , @lst.value.arguments.first.value end end - class TestLocalOpAssignX < MiniTest::Test + class TestLocalOpAssign < MiniTest::Test include OpAss include RubyTests def setup @@ -28,7 +28,7 @@ module Ruby assert_equal LocalAssignment , @lst.class end end - class TestIvarOpAssignX < MiniTest::Test + class TestIvarOpAssign < MiniTest::Test include OpAss include RubyTests def setup diff --git a/test/ruby/test_return_statement.rb b/test/ruby/test_return_statement.rb index ce77601a..d9f0fa3e 100644 --- a/test/ruby/test_return_statement.rb +++ b/test/ruby/test_return_statement.rb @@ -1,7 +1,7 @@ require_relative "helper" module Ruby - class TestReturnStatementX < MiniTest::Test + class TestReturnStatement < MiniTest::Test include RubyTests def test_return_const diff --git a/test/ruby/test_send_statement.rb b/test/ruby/test_send_statement.rb index 9f02c851..25b07169 100644 --- a/test/ruby/test_send_statement.rb +++ b/test/ruby/test_send_statement.rb @@ -1,7 +1,7 @@ require_relative "helper" module Ruby - class TestSendX < MiniTest::Test + class TestSend < MiniTest::Test include RubyTests def test_simple diff --git a/test/ruby/test_variables.rb b/test/ruby/test_variables.rb index 4dffc1e7..d1a2726b 100644 --- a/test/ruby/test_variables.rb +++ b/test/ruby/test_variables.rb @@ -1,11 +1,11 @@ require_relative "helper" module Ruby - class TestVariablesX < MiniTest::Test + class TestVariables < MiniTest::Test include RubyTests # "free standing" local can not be tested as it will result in send - # in other words ther is no way of knowing if a name is variable or method + # in other words there is no way of knowing if a name is variable or method # one needs an assignemnt first, to "tell" the parser it's a local def test_local_basic lst = compile( "foo = 1 ; foo") diff --git a/test/ruby/test_while_statement.rb b/test/ruby/test_while_statement.rb index 9b4da818..8e16a30e 100644 --- a/test/ruby/test_while_statement.rb +++ b/test/ruby/test_while_statement.rb @@ -1,7 +1,7 @@ require_relative 'helper' module Ruby - class TestWhileStatementX < MiniTest::Test + class TestWhileStatement < MiniTest::Test include RubyTests def basic_while diff --git a/test/ruby/test_yield_statement.rb b/test/ruby/test_yield_statement.rb index abd4fff1..bbad76fe 100644 --- a/test/ruby/test_yield_statement.rb +++ b/test/ruby/test_yield_statement.rb @@ -1,24 +1,18 @@ require_relative "helper" module Ruby - class TestYieldStatementX < MiniTest::Test + class TestYieldStatement < MiniTest::Test include RubyTests def setup() - input = "def plus_one; yield(0) ; end " + input = "yield(0) " @lst = compile( input ) end - def test_method - assert_equal MethodStatement , @lst.class - end def test_block - assert_equal YieldStatement , @lst.body.class + assert_equal YieldStatement , @lst.class end def test_block_args - assert_equal IntegerConstant , @lst.body.arguments.first.class - end - def test_method_yield? - assert_equal true , @lst.has_yield? + assert_equal IntegerConstant , @lst.arguments.first.class end end end