Bug 579796: [UnitTest] add setters to TestSuiteDefinition Change-Id: I17c0918cbe0067f0e54fdadbc43425629a5d8d09
diff --git a/plugins/org.eclipse.ease.lang.unittest/src-gen/org/eclipse/ease/lang/unittest/definition/ITestSuiteDefinition.java b/plugins/org.eclipse.ease.lang.unittest/src-gen/org/eclipse/ease/lang/unittest/definition/ITestSuiteDefinition.java index 3af0be1..bb6a35d 100644 --- a/plugins/org.eclipse.ease.lang.unittest/src-gen/org/eclipse/ease/lang/unittest/definition/ITestSuiteDefinition.java +++ b/plugins/org.eclipse.ease.lang.unittest/src-gen/org/eclipse/ease/lang/unittest/definition/ITestSuiteDefinition.java
@@ -55,7 +55,7 @@ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description here... * </p> * <!-- end-user-doc --> - * + * * @return the value of the '<em>Name</em>' attribute. * @see #setName(String) * @see org.eclipse.ease.lang.unittest.definition.IDefinitionPackage#getTestSuiteDefinition_Name() @@ -67,7 +67,7 @@ /** * Sets the value of the '{@link org.eclipse.ease.lang.unittest.definition.ITestSuiteDefinition#getName <em>Name</em>}' attribute. <!-- begin-user-doc --> * <!-- end-user-doc --> - * + * * @param value * the new value of the '<em>Name</em>' attribute. * @see #getName() @@ -81,7 +81,7 @@ * If the meaning of the '<em>Description</em>' attribute isn't clear, there really should be more of a description here... * </p> * <!-- end-user-doc --> - * + * * @return the value of the '<em>Description</em>' attribute. * @see #setDescription(String) * @see org.eclipse.ease.lang.unittest.definition.IDefinitionPackage#getTestSuiteDefinition_Description() @@ -107,7 +107,7 @@ * If the meaning of the '<em>Include Filter</em>' attribute isn't clear, there really should be more of a description here... * </p> * <!-- end-user-doc --> - * + * * @return the value of the '<em>Include Filter</em>' attribute. * @see #setIncludeFilter(String) * @see org.eclipse.ease.lang.unittest.definition.IDefinitionPackage#getTestSuiteDefinition_IncludeFilter() @@ -133,7 +133,7 @@ * If the meaning of the '<em>Exclude Filter</em>' attribute isn't clear, there really should be more of a description here... * </p> * <!-- end-user-doc --> - * + * * @return the value of the '<em>Exclude Filter</em>' attribute. * @see #setExcludeFilter(String) * @see org.eclipse.ease.lang.unittest.definition.IDefinitionPackage#getTestSuiteDefinition_ExcludeFilter() @@ -160,7 +160,7 @@ * If the meaning of the '<em>Disabled Resources</em>' attribute list isn't clear, there really should be more of a description here... * </p> * <!-- end-user-doc --> - * + * * @return the value of the '<em>Disabled Resources</em>' attribute list. * @see org.eclipse.ease.lang.unittest.definition.IDefinitionPackage#getTestSuiteDefinition_DisabledResources() * @model dataType="org.eclipse.ease.lang.unittest.definition.Path" extendedMetaData="kind='element' name='disabledResource'" @@ -175,7 +175,7 @@ * If the meaning of the '<em>Variables</em>' containment reference list isn't clear, there really should be more of a description here... * </p> * <!-- end-user-doc --> - * + * * @return the value of the '<em>Variables</em>' containment reference list. * @see org.eclipse.ease.lang.unittest.definition.IDefinitionPackage#getTestSuiteDefinition_Variables() * @model containment="true" extendedMetaData="kind='element' name='variable' namespace='##targetNamespace'" @@ -190,7 +190,7 @@ * If the meaning of the '<em>Custom Code</em>' containment reference list isn't clear, there really should be more of a description here... * </p> * <!-- end-user-doc --> - * + * * @return the value of the '<em>Custom Code</em>' containment reference list. * @see org.eclipse.ease.lang.unittest.definition.IDefinitionPackage#getTestSuiteDefinition_CustomCode() * @model containment="true" @@ -205,7 +205,7 @@ * If the meaning of the '<em>Flags</em>' map isn't clear, there really should be more of a description here... * </p> * <!-- end-user-doc --> - * + * * @return the value of the '<em>Flags</em>' map. * @see org.eclipse.ease.lang.unittest.definition.IDefinitionPackage#getTestSuiteDefinition_Flags() * @model mapType="org.eclipse.ease.lang.unittest.definition.FlagToStringMap<org.eclipse.ease.lang.unittest.definition.Flag, @@ -220,7 +220,7 @@ * If the meaning of the '<em>Version</em>' attribute isn't clear, there really should be more of a description here... * </p> * <!-- end-user-doc --> - * + * * @return the value of the '<em>Version</em>' attribute. * @see #setVersion(String) * @see org.eclipse.ease.lang.unittest.definition.IDefinitionPackage#getTestSuiteDefinition_Version() @@ -232,7 +232,7 @@ /** * Sets the value of the '{@link org.eclipse.ease.lang.unittest.definition.ITestSuiteDefinition#getVersion <em>Version</em>}' attribute. <!-- begin-user-doc * --> <!-- end-user-doc --> - * + * * @param value * the new value of the '<em>Version</em>' attribute. * @see #getVersion() @@ -246,7 +246,7 @@ * If the meaning of the '<em>Resource</em>' attribute isn't clear, there really should be more of a description here... * </p> * <!-- end-user-doc --> - * + * * @return the value of the '<em>Resource</em>' attribute. * @see #setResource(Object) * @see org.eclipse.ease.lang.unittest.definition.IDefinitionPackage#getTestSuiteDefinition_Resource() @@ -268,7 +268,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @model * @generated */ @@ -276,7 +276,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @model * @generated */ @@ -287,4 +287,13 @@ */ <T> T getFlag(Flag identifier, T defaultValue); + /** + * @generated NOT + */ + void setVariable(String identifier, String content); + + /** + * @generated NOT + */ + void setFlag(String identifier, String value); } // ITestSuiteDefinition
diff --git a/plugins/org.eclipse.ease.lang.unittest/src-gen/org/eclipse/ease/lang/unittest/definition/impl/TestSuiteDefinition.java b/plugins/org.eclipse.ease.lang.unittest/src-gen/org/eclipse/ease/lang/unittest/definition/impl/TestSuiteDefinition.java index 7c41e40..9d4529d 100644 --- a/plugins/org.eclipse.ease.lang.unittest/src-gen/org/eclipse/ease/lang/unittest/definition/impl/TestSuiteDefinition.java +++ b/plugins/org.eclipse.ease.lang.unittest/src-gen/org/eclipse/ease/lang/unittest/definition/impl/TestSuiteDefinition.java
@@ -8,8 +8,10 @@ import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; import org.eclipse.ease.lang.unittest.definition.Flag; import org.eclipse.ease.lang.unittest.definition.ICode; +import org.eclipse.ease.lang.unittest.definition.IDefinitionFactory; import org.eclipse.ease.lang.unittest.definition.IDefinitionPackage; import org.eclipse.ease.lang.unittest.definition.ITestSuiteDefinition; import org.eclipse.ease.lang.unittest.definition.IVariable; @@ -50,7 +52,7 @@ public class TestSuiteDefinition extends MinimalEObjectImpl.Container implements ITestSuiteDefinition { /** * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getName() * @generated * @ordered @@ -59,7 +61,7 @@ /** * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getName() * @generated * @ordered @@ -68,7 +70,7 @@ /** * The default value of the '{@link #getDescription() <em>Description</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getDescription() * @generated * @ordered @@ -77,7 +79,7 @@ /** * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getDescription() * @generated * @ordered @@ -86,7 +88,7 @@ /** * The default value of the '{@link #getIncludeFilter() <em>Include Filter</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getIncludeFilter() * @generated * @ordered @@ -95,7 +97,7 @@ /** * The cached value of the '{@link #getIncludeFilter() <em>Include Filter</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getIncludeFilter() * @generated * @ordered @@ -104,7 +106,7 @@ /** * The default value of the '{@link #getExcludeFilter() <em>Exclude Filter</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getExcludeFilter() * @generated * @ordered @@ -113,7 +115,7 @@ /** * The cached value of the '{@link #getExcludeFilter() <em>Exclude Filter</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getExcludeFilter() * @generated * @ordered @@ -122,7 +124,7 @@ /** * The cached value of the '{@link #getDisabledResources() <em>Disabled Resources</em>}' attribute list. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getDisabledResources() * @generated * @ordered @@ -131,7 +133,7 @@ /** * The cached value of the '{@link #getVariables() <em>Variables</em>}' containment reference list. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getVariables() * @generated * @ordered @@ -140,7 +142,7 @@ /** * The cached value of the '{@link #getCustomCode() <em>Custom Code</em>}' containment reference list. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getCustomCode() * @generated * @ordered @@ -149,7 +151,7 @@ /** * The cached value of the '{@link #getFlags() <em>Flags</em>}' map. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getFlags() * @generated * @ordered @@ -158,7 +160,7 @@ /** * The default value of the '{@link #getVersion() <em>Version</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getVersion() * @generated * @ordered @@ -167,7 +169,7 @@ /** * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getVersion() * @generated * @ordered @@ -176,7 +178,7 @@ /** * The default value of the '{@link #getResource() <em>Resource</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getResource() * @generated * @ordered @@ -185,7 +187,7 @@ /** * The cached value of the '{@link #getResource() <em>Resource</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @see #getResource() * @generated * @ordered @@ -194,7 +196,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ protected TestSuiteDefinition() { @@ -203,7 +205,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override @@ -213,7 +215,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ public String getNameGen() { @@ -241,12 +243,12 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override public void setName(String newName) { - String oldName = name; + final String oldName = name; name = newName; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, IDefinitionPackage.TEST_SUITE_DEFINITION__NAME, oldName, name)); @@ -254,7 +256,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override @@ -264,12 +266,12 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override public void setDescription(String newDescription) { - String oldDescription = description; + final String oldDescription = description; description = newDescription; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, IDefinitionPackage.TEST_SUITE_DEFINITION__DESCRIPTION, oldDescription, description)); @@ -277,7 +279,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override @@ -287,12 +289,12 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override public void setIncludeFilter(String newIncludeFilter) { - String oldIncludeFilter = includeFilter; + final String oldIncludeFilter = includeFilter; includeFilter = newIncludeFilter; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, IDefinitionPackage.TEST_SUITE_DEFINITION__INCLUDE_FILTER, oldIncludeFilter, includeFilter)); @@ -300,7 +302,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override @@ -310,12 +312,12 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override public void setExcludeFilter(String newExcludeFilter) { - String oldExcludeFilter = excludeFilter; + final String oldExcludeFilter = excludeFilter; excludeFilter = newExcludeFilter; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, IDefinitionPackage.TEST_SUITE_DEFINITION__EXCLUDE_FILTER, oldExcludeFilter, excludeFilter)); @@ -323,52 +325,52 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override public EList<IPath> getDisabledResources() { if (disabledResources == null) { - disabledResources = new EDataTypeUniqueEList<IPath>(IPath.class, this, IDefinitionPackage.TEST_SUITE_DEFINITION__DISABLED_RESOURCES); + disabledResources = new EDataTypeUniqueEList<>(IPath.class, this, IDefinitionPackage.TEST_SUITE_DEFINITION__DISABLED_RESOURCES); } return disabledResources; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override public EList<IVariable> getVariables() { if (variables == null) { - variables = new EObjectContainmentEList<IVariable>(IVariable.class, this, IDefinitionPackage.TEST_SUITE_DEFINITION__VARIABLES); + variables = new EObjectContainmentEList<>(IVariable.class, this, IDefinitionPackage.TEST_SUITE_DEFINITION__VARIABLES); } return variables; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override public EList<ICode> getCustomCode() { if (customCode == null) { - customCode = new EObjectContainmentEList<ICode>(ICode.class, this, IDefinitionPackage.TEST_SUITE_DEFINITION__CUSTOM_CODE); + customCode = new EObjectContainmentEList<>(ICode.class, this, IDefinitionPackage.TEST_SUITE_DEFINITION__CUSTOM_CODE); } return customCode; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override public EMap<Flag, String> getFlags() { if (flags == null) { - flags = new EcoreEMap<Flag, String>(IDefinitionPackage.Literals.FLAG_TO_STRING_MAP, FlagToStringMap.class, this, + flags = new EcoreEMap<>(IDefinitionPackage.Literals.FLAG_TO_STRING_MAP, FlagToStringMap.class, this, IDefinitionPackage.TEST_SUITE_DEFINITION__FLAGS); } return flags; @@ -376,7 +378,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override @@ -386,12 +388,12 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override public void setVersion(String newVersion) { - String oldVersion = version; + final String oldVersion = version; version = newVersion; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, IDefinitionPackage.TEST_SUITE_DEFINITION__VERSION, oldVersion, version)); @@ -399,7 +401,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override @@ -409,12 +411,12 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override public void setResource(Object newResource) { - Object oldResource = resource; + final Object oldResource = resource; resource = newResource; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, IDefinitionPackage.TEST_SUITE_DEFINITION__RESOURCE, oldResource, resource)); @@ -452,7 +454,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override @@ -470,7 +472,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override @@ -505,7 +507,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @SuppressWarnings("unchecked") @@ -551,7 +553,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override @@ -593,7 +595,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override @@ -608,13 +610,13 @@ case IDefinitionPackage.TEST_SUITE_DEFINITION__EXCLUDE_FILTER: return EXCLUDE_FILTER_EDEFAULT == null ? excludeFilter != null : !EXCLUDE_FILTER_EDEFAULT.equals(excludeFilter); case IDefinitionPackage.TEST_SUITE_DEFINITION__DISABLED_RESOURCES: - return disabledResources != null && !disabledResources.isEmpty(); + return (disabledResources != null) && !disabledResources.isEmpty(); case IDefinitionPackage.TEST_SUITE_DEFINITION__VARIABLES: - return variables != null && !variables.isEmpty(); + return (variables != null) && !variables.isEmpty(); case IDefinitionPackage.TEST_SUITE_DEFINITION__CUSTOM_CODE: - return customCode != null && !customCode.isEmpty(); + return (customCode != null) && !customCode.isEmpty(); case IDefinitionPackage.TEST_SUITE_DEFINITION__FLAGS: - return flags != null && !flags.isEmpty(); + return (flags != null) && !flags.isEmpty(); case IDefinitionPackage.TEST_SUITE_DEFINITION__VERSION: return VERSION_EDEFAULT == null ? version != null : !VERSION_EDEFAULT.equals(version); case IDefinitionPackage.TEST_SUITE_DEFINITION__RESOURCE: @@ -625,7 +627,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override @@ -641,7 +643,7 @@ /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override @@ -649,7 +651,7 @@ if (eIsProxy()) return super.toString(); - StringBuffer result = new StringBuffer(super.toString()); + final StringBuffer result = new StringBuffer(super.toString()); result.append(" (name: "); result.append(name); result.append(", description: "); @@ -694,4 +696,40 @@ return null; } + /** + * @generated NOT + */ + @Override + public void setVariable(String identifier, String content) { + getOrCreateVariable(identifier).setContent(content); + } + + /** + * @generated NOT + */ + private IVariable getOrCreateVariable(String identifier) { + IVariable variable = getVariable(identifier); + + if (variable == null) { + variable = IDefinitionFactory.eINSTANCE.createVariable(); + variable.setFullName(new Path(identifier)); + + getVariables().add(variable); + } + + return variable; + } + + /** + * @generated NOT + */ + @Override + public void setFlag(String identifier, String value) { + final Flag flag = Flag.getByName(identifier); + if (flag == null) + throw new IllegalArgumentException(String.format("Flag %s is unknown", identifier)); + + getFlags().put(flag, value); + } + } // TestSuiteDefinition
diff --git a/tests/org.eclipse.ease.lang.unittest.test/src/org/eclipse/ease/lang/unittest/definition/impl/TestSuiteDefinitionTest.java b/tests/org.eclipse.ease.lang.unittest.test/src/org/eclipse/ease/lang/unittest/definition/impl/TestSuiteDefinitionTest.java new file mode 100644 index 0000000..c5f51ff --- /dev/null +++ b/tests/org.eclipse.ease.lang.unittest.test/src/org/eclipse/ease/lang/unittest/definition/impl/TestSuiteDefinitionTest.java
@@ -0,0 +1,79 @@ +/******************************************************************************* + * Copyright (c) 2022 Christian Pontesegger and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License_Identifier: EPL-2.0 + * + * Contributors: + * Christian Pontesegger - initial API and implementation + *******************************************************************************/ + +package org.eclipse.ease.lang.unittest.definition.impl; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.eclipse.core.runtime.Path; +import org.eclipse.ease.lang.unittest.definition.Flag; +import org.eclipse.ease.lang.unittest.definition.IDefinitionFactory; +import org.eclipse.ease.lang.unittest.definition.ITestSuiteDefinition; +import org.eclipse.ease.lang.unittest.definition.IVariable; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class TestSuiteDefinitionTest { + @Test + @DisplayName("setVariable() sets new variable") + public void setVariable_sets_new_variable() { + final ITestSuiteDefinition definition = IDefinitionFactory.eINSTANCE.createTestSuiteDefinition(); + + assertTrue(definition.getVariables().isEmpty()); + + definition.setVariable("test", "content"); + + assertEquals(1, definition.getVariables().size()); + assertNotNull(definition.getVariable("test")); + assertEquals("content", definition.getVariable("test").getContent()); + } + + @Test + @DisplayName("setVariable() updates existing variable") + public void setVariable_updates_existing_variable() { + final ITestSuiteDefinition definition = IDefinitionFactory.eINSTANCE.createTestSuiteDefinition(); + + final IVariable variable = IDefinitionFactory.eINSTANCE.createVariable(); + variable.setFullName(new Path("test")); + variable.setContent("old"); + definition.getVariables().add(variable); + + assertEquals(1, definition.getVariables().size()); + + definition.setVariable("test", "content"); + + assertEquals(1, definition.getVariables().size()); + assertEquals("content", definition.getVariable("test").getContent()); + } + + @Test + @DisplayName("setFlag(<known flag>) sets flag") + public void setFlag_sets_flag() { + final ITestSuiteDefinition definition = IDefinitionFactory.eINSTANCE.createTestSuiteDefinition(); + + definition.setFlag("STOP_SUITE_ON_ERROR", "true"); + + assertTrue(definition.getFlag(Flag.STOP_SUITE_ON_ERROR, false)); + } + + @Test + @DisplayName("setFlag(<unknown flag>) throws") + public void setFlag_throws_on_unknown_flag() { + final ITestSuiteDefinition definition = IDefinitionFactory.eINSTANCE.createTestSuiteDefinition(); + + assertThrows(IllegalArgumentException.class, () -> definition.setFlag("unknown", "true")); + } +}