package org.eclipse.emf.test.tools.codegen; import junit.framework.Test; import junit.framework.TestSuite; import org.eclipse.emf.codegen.ecore.genmodel.GenClass; import org.eclipse.emf.codegen.ecore.genmodel.GenFeature; import org.eclipse.emf.codegen.ecore.genmodel.GenModel; import org.eclipse.emf.codegen.ecore.genmodel.GenPackage; public class GenModelDefaultsTest extends BaseGenModelTest { public GenModelDefaultsTest(String name) { super(name); } public static Test suite() { TestSuite ts = new TestSuite("GenModelDefaultsTest"); ts.addTest(new GenModelDefaultsTest("testGetStaticDefaultValue")); ts.addTest(new GenModelDefaultsTest("testGetStaticDefaultValueForXSDTypes")); return ts; } protected void assertCorrectStaticDefaultValues(GenPackage genPackage, String className) { GenModel genModel = genPackage.getGenModel(); GenClass genClass = (GenClass)genModel.findGenClassifier(genPackage.getEcorePackage().getEClassifier(className)); prepareModel(genModel, genClass.getQualifiedClassName()); for (GenFeature genFeature : genClass.getGenFeatures()) { String expected = getExpectedValue(genFeature.getEcoreFeature(), "staticDefaultValue", null); String actual = genFeature.getStaticDefaultValue(); assertEquals("Incorrect static default value for " + genFeature.getName() + ", ", expected, actual); } } public void testGetStaticDefaultValue() { GenModel genModel = loadModel("Defaults.ecore"); initializeModel(genModel); assertCorrectStaticDefaultValues(genModel.getGenPackages().get(0), "BigClass"); } public void testGetStaticDefaultValueForXSDTypes() { GenModel genModel = loadModel("XSDDefaults.ecore"); initializeModel(genModel); assertCorrectStaticDefaultValues(genModel.getGenPackages().get(0), "BigElementType"); } }