class MetamodelOrderTest

Constants

DataType1

datatypes outside of a module won’t be handled

Public Instance Methods

test_classifier_order() click to toggle source
# 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_order() click to toggle source
# 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_order() click to toggle source
# 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