Class: MetamodelOrderTest

Inherits:
Test::Unit::TestCase
  • Object
show all
Includes:
RGen::ECore
Defined in:
lib/puppet/vendor/rgen/test/metamodel_order_test.rb

Defined Under Namespace

Modules: TestMM1, TestMM2 Classes: Class1

Constant Summary collapse

DataType1 =

datatypes outside of a module won’t be handled

RGen::MetamodelBuilder::DataTypes::Enum.new(:name => "DataType1", :literals => {:b => 1})

Constants included from RGen::ECore

RGen::ECore::EBoolean, RGen::ECore::EFloat, RGen::ECore::EInt, RGen::ECore::EJavaClass, RGen::ECore::EJavaObject, RGen::ECore::ELong, RGen::ECore::ERubyClass, RGen::ECore::ERubyObject, RGen::ECore::EString

Instance Method Summary collapse

Methods included from RGen::MetamodelBuilder::ModuleExtension

#_annotations, #_constantOrder, #annotation, extended, #final_method, #method_added

Methods included from RGen::ECore::ECoreInterface

#_set_ecore_internal, clear_ecore_cache, #ecore

Instance Method Details

#test_classifier_orderObject



113
114
115
116
117
118
119
120
121
# File 'lib/puppet/vendor/rgen/test/metamodel_order_test.rb', line 113

def test_classifier_order
  # eClassifiers also contains the ones which where ignored in order calculation, these are expected at the end
  # (in an arbitrary order)
  assert_equal ["Class11", "DataType11", "Class12", "Class13"], TestMM1.ecore.eClassifiers.name
  assert_equal ["DataType111", "DataType112", "Class111", "DataType113", "DataType114", "DataType115", "DataType116", "Class112"], TestMM1::Module11.ecore.eClassifiers.name
  assert_equal ["Class1122", "Class1121"], TestMM1::Module11::Module112.ecore.eClassifiers.name
  # no classifiers in TestMM2._constantOrder, so the datatypes can appear in arbitrary order
  assert_equal ["DataType21","DataType22"], TestMM2.ecore.eClassifiers.name.sort
end

#test_constant_orderObject



103
104
105
106
107
108
109
110
111
# File 'lib/puppet/vendor/rgen/test/metamodel_order_test.rb', line 103

def test_constant_order
  assert_equal ["Class11", "Module11", "DataType11", "Class12", "Class13"], TestMM1._constantOrder
  assert_equal ["DataType111", "DataType112", "Class111", "DataType113", "Module112", "DataType114", "DataType115", "DataType116"], TestMM1::Module11._constantOrder
  assert_equal ["Class1122"], TestMM1::Module11::Module112._constantOrder
  if File.basename($0) == "metamodel_order_test.rb"
    # this won't work if run in the whole test suite (see comment at DataType22)
    assert_equal ["Module21", "Module22", "Module23"], TestMM2._constantOrder
  end
end

#test_subpackage_orderObject



123
124
125
126
127
128
# File 'lib/puppet/vendor/rgen/test/metamodel_order_test.rb', line 123

def test_subpackage_order
  assert_equal ["Module11"], TestMM1.ecore.eSubpackages.name
  assert_equal ["Module112"], TestMM1::Module11.ecore.eSubpackages.name
  assert_equal [], TestMM1::Module11::Module112.ecore.eSubpackages.name
  assert_equal ["Module21", "Module22", "Module23"], TestMM2.ecore.eSubpackages.name
end