blob: fe585bc05d9638a4664c4137e2e3d712b120264b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008,2010 E.D.Willink and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* E.D.Willink - initial API and implementation
*******************************************************************************/
package org.eclipse.ocl.examples.test.modelregistry;
import java.util.List;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.ocl.examples.modelregistry.standalone.ModelFileResolver;
public class TestContents extends ModelRegistryTestCase
{
public TestContents(String name) {
super(name);
}
public void testProjectRelativeEmofAccessor() throws Exception {
ModelFileResolver modelResolver = getModelFileResolver("testProject", "phantomFolder");
URI uri = modelResolver.getURI("emofRelativeFileAccessor");
assertNotNull("Non-null uri expected for emofRelativeFileAccessor", uri);
Resource resource = modelResolver.getResource(uri, true);
assertNotNull("Non-null resource expected", resource);
List<EObject> contents = resource.getContents();
assertEquals("Single package", 1, contents.size());
EPackage ePackage = (EPackage) contents.get(0);
assertEquals("Package name", "miniemof", ePackage.getName());
assertEquals("Single class", 1, ePackage.getEClassifiers().size());
EClass eClass = (EClass) ePackage.getEClassifiers().get(0);
assertEquals("Class name", "MiniEmof", eClass.getName());
assertEquals("Single property", 1, eClass.getEStructuralFeatures().size());
EStructuralFeature eStructuralFeature = eClass.getEStructuralFeatures().get(0);
assertEquals("Property name", "miniEmof", eStructuralFeature.getName());
assertEquals("Property lower", 1, eStructuralFeature.getLowerBound());
assertEquals("Property upper", -1, eStructuralFeature.getUpperBound());
return;
}
/*
* This test behaves differently according to whether the EMOF to Ecore mapping
* is installed. It is therefore unsuitable as a model registry test.
* FIXME Move this to somewhere dependent on EMOF and Model Registry
public void testProjectRelativeXmlEmofAccessor() throws Exception {
ModelFileResolver modelResolver = getModelFileResolver("testProject", "phantomFolder");
URI uri = modelResolver.getURI("xmlEmofRelativeFileAccessor");
assertNotNull("Non-null uri expected", uri);
Resource resource = modelResolver.getResource(uri, true);
assertNotNull("Non-null resource expected", resource);
List<EObject> contents = resource.getContents();
assertEquals("Single package", 1, contents.size());
EPackage ePackage = (EPackage) contents.get(0);
assertEquals("Package name", "miniemof", ePackage.getName());
assertEquals("Single class", 1, ePackage.getEClassifiers().size());
EClass eClass = (EClass) ePackage.getEClassifiers().get(0);
assertEquals("Class name", "MiniEmof", eClass.getName());
assertEquals("Single property", 1, eClass.getEStructuralFeatures().size());
EStructuralFeature eStructuralFeature = eClass.getEStructuralFeatures().get(0);
assertEquals("Property name", "miniEmof", eStructuralFeature.getName());
assertEquals("Property lower", 1, eStructuralFeature.getLowerBound());
assertEquals("Property upper", -1, eStructuralFeature.getUpperBound());
return;
} */
}