Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorNicolas FAUVERGUE2015-11-20 13:31:07 +0000
committerGerrit Code Review @ Eclipse.org2016-01-08 15:28:22 +0000
commit419ea81bf5c4267f18ef147cee01ebedbb4b7679 (patch)
tree3c1a91b9c8849927b3f85c5b007d8131049ef2a1 /tests
parent7699488dacebed22c60befb7ca7158fb9572bb79 (diff)
downloadorg.eclipse.papyrus-419ea81bf5c4267f18ef147cee01ebedbb4b7679.tar.gz
org.eclipse.papyrus-419ea81bf5c4267f18ef147cee01ebedbb4b7679.tar.xz
org.eclipse.papyrus-419ea81bf5c4267f18ef147cee01ebedbb4b7679.zip
Bug 481020: [Table][requirement table] NPE during the synchronization
processus https://bugs.eclipse.org/bugs/show_bug.cgi?id=481020 The problem was available when a requirement contains requirement in tree table (the configuration must have 'packagedElement' as first depth and 'nestedClassifier' as second depth) and the requirements was deleted. This problem is corrected by a test of the deletion of non-existing tree item axis. By this correction, an other linked bug appeared : When the requirement was deleted and an undo was done, the requirement was displayed twice in the table. This was corrected by a test in the 'manageAddNotification' method by checking that the element was not already available in the managed elements (in the case of stereotyped element, the 'SET' event is caught before the 'ADD' and was already managed) + Add the JUnit test Change-Id: I775417673701e2617402797901faa2b338c2e0c8 Signed-off-by: Nicolas FAUVERGUE <nicolas.fauvergue@all4tec.net>
Diffstat (limited to 'tests')
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/bugs/bug481020/DeleteRequirementsWithNestedClassifier.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/bugs/bug481020/DeleteRequirementsWithNestedClassifier.notation43
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/bugs/bug481020/DeleteRequirementsWithNestedClassifier.uml16
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/bugs/DeleteRequirementsWithNestedClassifier.java172
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AllTests.java4
5 files changed, 237 insertions, 0 deletions
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/bugs/bug481020/DeleteRequirementsWithNestedClassifier.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/bugs/bug481020/DeleteRequirementsWithNestedClassifier.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/bugs/bug481020/DeleteRequirementsWithNestedClassifier.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/bugs/bug481020/DeleteRequirementsWithNestedClassifier.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/bugs/bug481020/DeleteRequirementsWithNestedClassifier.notation
new file mode 100644
index 00000000000..a586fc8cff5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/bugs/bug481020/DeleteRequirementsWithNestedClassifier.notation
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_nRWBII7CEeW-WMYGxs4DXg" name="ClassTreeTable0" currentRowAxisProvider="_nRWBI47CEeW-WMYGxs4DXg" currentColumnAxisProvider="_nRWBIY7CEeW-WMYGxs4DXg">
+ <styles xmi:type="nattablestyle:TableDisplayStyle" xmi:id="_qQzb4I7CEeW-WMYGxs4DXg" displayStyle="HIERARCHIC_MULTI_TREE_COLUMN"/>
+ <context xmi:type="uml:Model" href="DeleteRequirementsWithNestedClassifier.uml#_oxW30I7BEeW-WMYGxs4DXg"/>
+ <owner xmi:type="uml:Model" href="DeleteRequirementsWithNestedClassifier.uml#_oxW30I7BEeW-WMYGxs4DXg"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_nRWBIY7CEeW-WMYGxs4DXg" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_nRWBIo7CEeW-WMYGxs4DXg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_nRWBI47CEeW-WMYGxs4DXg" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_sWn44I7CEeW-WMYGxs4DXg" indexStyle="NUMERIC">
+ <styles xmi:type="nattablestyle:IntValueStyle" xmi:id="_sWof8I7CEeW-WMYGxs4DXg" name="rowLabelWidth" intValue="140"/>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_eLOfQI7EEeW-WMYGxs4DXg" pasteConfiguration="_eLPGUI7EEeW-WMYGxs4DXg" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_eLOfQY7EEeW-WMYGxs4DXg" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_eLOfQo7EEeW-WMYGxs4DXg" pasteConfiguration="_eLPGUo7EEeW-WMYGxs4DXg" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_eLOfQ47EEeW-WMYGxs4DXg" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_eLPGUI7EEeW-WMYGxs4DXg" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_eLPGUY7EEeW-WMYGxs4DXg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_eLPGUo7EEeW-WMYGxs4DXg" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_eLN4MI7EEeW-WMYGxs4DXg" localSpecificConfigurations="_eLOfQI7EEeW-WMYGxs4DXg _eLOfQo7EEeW-WMYGxs4DXg">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/bugs/bug481020/DeleteRequirementsWithNestedClassifier.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/bugs/bug481020/DeleteRequirementsWithNestedClassifier.uml
new file mode 100644
index 00000000000..fcc0f0bb3fb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/bugs/bug481020/DeleteRequirementsWithNestedClassifier.uml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_oxW30I7BEeW-WMYGxs4DXg" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_rbPxkI7JEeWx-7Nn3LdonQ" name="Requirement1">
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_kfcWoI-FEeWtP9VLNNH5kQ" name="NestedRequirement1"/>
+ </packagedElement>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_o2jg5I7BEeW-WMYGxs4DXg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o2kH8I7BEeW-WMYGxs4DXg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_rkbiwI7JEeWx-7Nn3LdonQ" base_Class="_rbPxkI7JEeWx-7Nn3LdonQ"/>
+ <Requirements:Requirement xmi:id="_kfjrYI-FEeWtP9VLNNH5kQ" base_Class="_kfcWoI-FEeWtP9VLNNH5kQ"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/bugs/DeleteRequirementsWithNestedClassifier.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/bugs/DeleteRequirementsWithNestedClassifier.java
new file mode 100644
index 00000000000..1a7741e3426
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/bugs/DeleteRequirementsWithNestedClassifier.java
@@ -0,0 +1,172 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.bugs;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.command.RemoveCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageManager;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.ITreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EObjectTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.TreeFillingConfiguration;
+import org.eclipse.papyrus.infra.nattable.tree.CollapseAndExpandActionsEnum;
+import org.eclipse.papyrus.junit.utils.rules.PapyrusEditorFixture;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+/**
+ * This allows to test the deletion of a requirement containing a nested requirement and its display in the table.
+ */
+@PluginResource("resources/bugs/bug481020/DeleteRequirementsWithNestedClassifier.di")
+public class DeleteRequirementsWithNestedClassifier {
+
+ /**
+ * The papyrus editor fixture.
+ */
+ @Rule
+ public final PapyrusEditorFixture fixture = new PapyrusEditorFixture();
+
+ /**
+ * the nattable editor
+ */
+ private NatTableEditor editor;
+
+ /**
+ * the tree table manager
+ */
+ private ITreeNattableModelManager manager;
+
+ /**
+ * The root element.
+ */
+ private Package root;
+
+ /**
+ * The existing requirement.
+ */
+ private Class requirement1;
+
+ /**
+ * The name of the existing requirement.
+ */
+ private static final String REQUIREMENT_1 = "Requirement1"; //$NON-NLS-1$
+
+ /**
+ * The name of the existing nested requirement.
+ */
+ private static final String NESTED_REQUIREMENT_1 = "NestedRequirement1"; //$NON-NLS-1$
+
+ /**
+ * Load the table editor
+ */
+ @Before
+ public void init() {
+ // Get the first
+ IPageManager pageManager = fixture.getPageManager();
+ List<Object> pages = pageManager.allPages();
+ pageManager.openPage(pages.get(0));
+ IEditorPart part = fixture.getEditor().getActiveEditor();
+ Assert.assertTrue(part instanceof NatTableEditor);
+ this.editor = (NatTableEditor) part;
+ INattableModelManager m = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue(m instanceof ITreeNattableModelManager);
+ this.manager = (ITreeNattableModelManager) m;
+
+ // Get the needed elements in the table
+ final EObject context = this.manager.getTable().getContext();
+ Assert.assertTrue(context instanceof Package);
+ this.root = (Package) context;
+ this.requirement1 = (Class) this.root.getMember(REQUIREMENT_1);
+ Assert.assertNotNull(requirement1);
+ }
+
+ /**
+ * This allows to test the deletion of requirement containening the nested requirement.
+ *
+ * @throws Exception
+ * The exception.
+ */
+ @Test
+ public void testDeleteRequirementWithNestedRequirement() throws Exception {
+
+ // Expand the table
+ manager.doCollapseExpandAction(CollapseAndExpandActionsEnum.EXPAND_ALL, null);
+ fixture.flushDisplayEvents();
+
+ // Check the rows contents
+ List<?> rowElements = manager.getRowElementsList();
+ checkInitialRowscontent(rowElements);
+
+ // Create a requirement as nested classifier
+ final TransactionalEditingDomain editingDomain = fixture.getEditingDomain();
+ editingDomain.getCommandStack().execute(RemoveCommand.create(editingDomain, root, UMLPackage.Literals.PACKAGE__PACKAGED_ELEMENT, requirement1));
+
+ // Check the rows content (must be empty because all requirements was deleted)
+ rowElements = manager.getRowElementsList();
+ Assert.assertEquals(0, rowElements.size());
+
+ // Manage the undo
+ editingDomain.getCommandStack().undo();
+
+ // Expand the table
+ manager.doCollapseExpandAction(CollapseAndExpandActionsEnum.EXPAND_ALL, null);
+ fixture.flushDisplayEvents();
+
+ // Check the rows contents
+ rowElements = manager.getRowElementsList();
+ checkInitialRowscontent(rowElements);
+
+ // Manage the redo
+ editingDomain.getCommandStack().redo();
+
+ // Check the rows content (must be empty because all requirements was deleted)
+ rowElements = manager.getRowElementsList();
+ Assert.assertEquals(0, rowElements.size());
+ }
+
+ /**
+ * This allows to check the initial rows contents (it will be identical after the undo).
+ *
+ * @param rowElements The rows elements from the table.
+ */
+ protected void checkInitialRowscontent(final List<?> rowElements) {
+ Assert.assertEquals(4, rowElements.size());
+
+ final Object firstRowRepresentedElement = ((EObjectTreeItemAxis) rowElements.get(0)).getElement();
+ Assert.assertTrue("The first row must be a tree filling configuration", firstRowRepresentedElement instanceof TreeFillingConfiguration);
+
+ final Object secondRowRepresentedElement = ((EObjectTreeItemAxis) rowElements.get(1)).getElement();
+ Assert.assertEquals(UMLPackage.eINSTANCE.getClass_(), ((EObject) secondRowRepresentedElement).eClass());
+ Assert.assertEquals(REQUIREMENT_1, ((org.eclipse.uml2.uml.Class) secondRowRepresentedElement).getName());
+
+ final Object thirdRowRepresentedElement = ((EObjectTreeItemAxis) rowElements.get(2)).getElement();
+ Assert.assertTrue("The third row must be a tree filling configuration", thirdRowRepresentedElement instanceof TreeFillingConfiguration);
+
+ final Object fourthRowRepresentedElement = ((EObjectTreeItemAxis) rowElements.get(3)).getElement();
+ Assert.assertEquals(UMLPackage.eINSTANCE.getClass_(), ((EObject) fourthRowRepresentedElement).eClass());
+ Assert.assertEquals(NESTED_REQUIREMENT_1, ((org.eclipse.uml2.uml.Class) fourthRowRepresentedElement).getName());
+ }
+
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AllTests.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AllTests.java
index 0583ed4a022..53dc3edc0f4 100644
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AllTests.java
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AllTests.java
@@ -17,6 +17,7 @@ package org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests;
import org.eclipse.papyrus.junit.framework.classification.ClassificationSuite;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.bugs.AxisChangeIndexWithConfigurationTest;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.bugs.AxisChangeIndexWithoutConfigurationTest;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.bugs.DeleteRequirementsWithNestedClassifier;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.bugs.EditInvalidPastedText_V1_V3_V1;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.bugs.MoveElementsTreeTableTest;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.bugs.OpenAndDeleteTest;
@@ -180,6 +181,9 @@ import org.junit.runners.Suite.SuiteClasses;
SortAxisClassTreeTableTest.class,
EditAxisClassTreeTableTest.class,
+
+ // Bug 481020 : Delete a requirement containing a nested requirement
+ DeleteRequirementsWithNestedClassifier.class,
// Move elements
MoveElementsTreeTableTest.class,

Back to the top