From 648ec772ecb6e3b3d349a51d2aadf1e55bf27c31 Mon Sep 17 00:00:00 2001 From: Torsten Ruger Date: Sun, 15 Jul 2018 12:30:50 +0300 Subject: [PATCH] direct index access helper for type --- lib/parfait/type.rb | 6 ++++++ test/parfait/type/test_basic.rb | 13 +++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/parfait/type.rb b/lib/parfait/type.rb index 2d4b1112..f31e2c62 100644 --- a/lib/parfait/type.rb +++ b/lib/parfait/type.rb @@ -205,6 +205,12 @@ module Parfait @types.get(index) end + def type_for( name ) + index = variable_index(name) + return nil unless index + type_at(index) + end + def inspect "Type[#{names.inspect}]" end diff --git a/test/parfait/type/test_basic.rb b/test/parfait/type/test_basic.rb index ecfb749d..219faf38 100644 --- a/test/parfait/type/test_basic.rb +++ b/test/parfait/type/test_basic.rb @@ -64,8 +64,17 @@ module Parfait assert_equal 55 , @mess.get_internal_word(message_ind) end - def test_instance_type - assert_equal 1 , @mess.get_type.variable_index(:next_message) + def test_variable_index + assert_equal 1 , @type.variable_index(:next_message) + end + def test_name_at + assert_equal :next_message , @type.name_at(1) + end + def test_type_at + assert_equal :Message , @type.type_at(1) + end + def test_type_for + assert_equal :Message , @type.type_for(:next_message) end def test_remove_me