Sha256: d4698ebc27d0d37a6ca16790f18b5e38069ab1cd7757472a9930672468f88c9d

Contents?: true

Size: 1.89 KB

Versions: 12

Compression:

Stored size: 1.89 KB

Contents

$:.unshift File.join(File.dirname(__FILE__),"..","lib")

require 'test/unit'
require 'rgen/ecore/ecore'
require 'rgen/array_extensions'

class ECoreSelfTest < Test::Unit::TestCase
	include RGen::ECore
	
	def test_simple
		assert_equal \
			%w(lowerBound ordered unique upperBound many required eType).sort,
			ETypedElement.ecore.eStructuralFeatures.name.sort
			
		assert_equal \
			EClassifier.ecore,
			ETypedElement.ecore.eStructuralFeatures.find{|f| f.name=="eType"}.eType
		assert_equal %w(ENamedElement),	ETypedElement.ecore.eSuperTypes.name

		assert_equal \
			EModelElement.ecore,
			EModelElement.ecore.eStructuralFeatures.find{|f| f.name=="eAnnotations"}.eOpposite.eType

		assert_equal \
			%w(eType),
			ETypedElement.ecore.eReferences.name
			
		assert_equal \
			%w(lowerBound ordered unique upperBound many required).sort,
			ETypedElement.ecore.eAttributes.name.sort
			
		assert RGen::ECore.ecore.is_a?(EPackage)
		assert_equal "ECore", RGen::ECore.ecore.name
		assert_equal "RGen", RGen::ECore.ecore.eSuperPackage.name
		assert_equal %w(ECore), RGen.ecore.eSubpackages.name
		assert_equal\
			%w(EObject EModelElement EAnnotation ENamedElement ETypedElement 
				EStructuralFeature EAttribute EClassifier EDataType EEnum EEnumLiteral EFactory
				EOperation EPackage EParameter EReference EStringToStringMapEntry EClass).sort,
			RGen::ECore.ecore.eClassifiers.name.sort
			
        assert_equal "false", EAttribute.ecore.eAllAttributes.
          find{|a|a.name == "derived"}.defaultValueLiteral
        assert_equal false, EAttribute.ecore.eAllAttributes.
          find{|a|a.name == "derived"}.defaultValue

        assert_nil EAttribute.ecore.eAllAttributes.
          find{|a|a.name == "defaultValueLiteral"}.defaultValueLiteral
        assert_nil EAttribute.ecore.eAllAttributes.
          find{|a|a.name == "defaultValueLiteral"}.defaultValue

	end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
rgen-0.5.3 test/ecore_self_test.rb
rgen-0.5.4 test/ecore_self_test.rb
rgen-0.5.1 test/ecore_self_test.rb
rgen-0.5.2 test/ecore_self_test.rb
rgen-0.4.0 test/ecore_self_test.rb
rgen-0.4.1 test/ecore_self_test.rb
rgen-0.4.2 test/ecore_self_test.rb
rgen-0.5.0 test/ecore_self_test.rb
rgen-0.4.6 test/ecore_self_test.rb
rgen-0.4.5 test/ecore_self_test.rb
rgen-0.4.3 test/ecore_self_test.rb
rgen-0.4.4 test/ecore_self_test.rb