/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.extension.definition; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertTrue; import java.util.Set; import org.junit.Test; import org.teiid.designer.extension.Constants; import org.teiid.designer.extension.Factory; /** * */ public class ModelExtensionAssistantTest implements Constants { @Test public void shouldAddSupportedModelType() { ModelExtensionDefinition med = Factory.createDefinitionWithNoMetaclasses(); ModelExtensionAssistant assistant = med.getModelExtensionAssistant(); assertTrue("Supported model types should be empty", med.getSupportedModelTypes().isEmpty()); //$NON-NLS-1$ assistant.addSupportedModelType(MODEL_TYPES[0]); assertTrue("Supported model types should be empty", med.getSupportedModelTypes().contains(MODEL_TYPES[0])); //$NON-NLS-1$ } @Test public void shouldCreateMedCorrectlyFromParameters() { final Set<String> MODEL_TYPES = Constants.Utils.getDefaultModelTypes(); ModelExtensionAssistant assistant = Factory.createAssistant(); final ModelExtensionDefinition med = assistant.createModelExtensionDefinition(DEFAULT_NAMESPACE_PREFIX, DEFAULT_NAMESPACE_URI, DEFAULT_METAMODEL_URI, MODEL_TYPES, DEFAULT_MED_DESCRIPTION, DEFAULT_VERSION); assertEquals("Incorrect MED namespace prefix", DEFAULT_NAMESPACE_PREFIX, med.getNamespacePrefix()); //$NON-NLS-1$ assertEquals("Incorrect MED namespace URI", DEFAULT_NAMESPACE_URI, med.getNamespaceUri()); //$NON-NLS-1$ assertEquals("Incorrect MED metamodel URI", DEFAULT_METAMODEL_URI, med.getMetamodelUri()); //$NON-NLS-1$ assertEquals("Incorrect MED description", DEFAULT_MED_DESCRIPTION, med.getDescription()); //$NON-NLS-1$ assertEquals("Incorrect MED version", DEFAULT_VERSION, Integer.toString(med.getVersion())); //$NON-NLS-1$ Set<String> supportedModelTypes = med.getSupportedModelTypes(); assertEquals("Incorrect number of MED supported model types", MODEL_TYPES.size(), supportedModelTypes.size()); //$NON-NLS-1$ for (String modelType : MODEL_TYPES) { assertTrue("Model type " + modelType + " is not supported", supportedModelTypes.contains(modelType)); //$NON-NLS-1$ //$NON-NLS-2$ } } @Test public void shouldCreateMedCorrectlyFromHeader() { final Set<String> MODEL_TYPES = Constants.Utils.getDefaultModelTypes(); ModelExtensionDefinitionHeader header = new ModelExtensionDefinitionHeader(DEFAULT_NAMESPACE_PREFIX, DEFAULT_NAMESPACE_URI, DEFAULT_METAMODEL_URI, MODEL_TYPES, DEFAULT_MED_DESCRIPTION, Integer.valueOf(DEFAULT_VERSION)); ModelExtensionAssistant assistant = Factory.createAssistant(); final ModelExtensionDefinition med = assistant.createModelExtensionDefinition(header); assertEquals("Incorrect MED namespace prefix", DEFAULT_NAMESPACE_PREFIX, med.getNamespacePrefix()); //$NON-NLS-1$ assertEquals("Incorrect MED namespace URI", DEFAULT_NAMESPACE_URI, med.getNamespaceUri()); //$NON-NLS-1$ assertEquals("Incorrect MED metamodel URI", DEFAULT_METAMODEL_URI, med.getMetamodelUri()); //$NON-NLS-1$ assertEquals("Incorrect MED description", DEFAULT_MED_DESCRIPTION, med.getDescription()); //$NON-NLS-1$ assertEquals("Incorrect MED version", DEFAULT_VERSION, Integer.toString(med.getVersion())); //$NON-NLS-1$ Set<String> supportedModelTypes = med.getSupportedModelTypes(); assertEquals("Incorrect number of MED supported model types", MODEL_TYPES.size(), supportedModelTypes.size()); //$NON-NLS-1$ for (String modelType : MODEL_TYPES) { assertTrue("Model type " + modelType + " is not supported", supportedModelTypes.contains(modelType)); //$NON-NLS-1$ //$NON-NLS-2$ } } }