diff options
| author | pguilet | 2016-11-02 10:38:14 +0000 |
|---|---|---|
| committer | Pierre Guilet | 2017-02-08 14:06:53 +0000 |
| commit | cffa8e369af40097a99a581114751fb57063eac7 (patch) | |
| tree | 7b0979f1b192a98583246a1db34df7ab59665303 | |
| parent | 8ce1a8a5d557a6d7306f6bbfbb7989026c60382c (diff) | |
| download | org.eclipse.sirius-cffa8e369af40097a99a581114751fb57063eac7.tar.gz org.eclipse.sirius-cffa8e369af40097a99a581114751fb57063eac7.tar.xz org.eclipse.sirius-cffa8e369af40097a99a581114751fb57063eac7.zip | |
[481433] Add test corresponding to the fix
Bug: 481433
Change-Id: I1b5a80e8c1ddd57351313a5285129d5510e14d37
Signed-off-by: pguilet <pierre.guilet@obeo.fr>
| -rw-r--r-- | plugins/org.eclipse.sirius.tests.tree/src/org/eclipse/sirius/tests/unit/tree/TreeRefreshTests.java | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/plugins/org.eclipse.sirius.tests.tree/src/org/eclipse/sirius/tests/unit/tree/TreeRefreshTests.java b/plugins/org.eclipse.sirius.tests.tree/src/org/eclipse/sirius/tests/unit/tree/TreeRefreshTests.java index 9f61c243fa..a0ff199946 100644 --- a/plugins/org.eclipse.sirius.tests.tree/src/org/eclipse/sirius/tests/unit/tree/TreeRefreshTests.java +++ b/plugins/org.eclipse.sirius.tests.tree/src/org/eclipse/sirius/tests/unit/tree/TreeRefreshTests.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 THALES GLOBAL SERVICES. + * Copyright (c) 2011, 2017 THALES GLOBAL SERVICES. * 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 @@ -15,6 +15,7 @@ import java.util.List; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.emf.common.EMFPlugin; +import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; @@ -334,19 +335,39 @@ public class TreeRefreshTests extends TreeCommonTest implements EcoreModeler, Tr return new ToStringueur(newTree, 0).toString(); } - public void testReorder() throws Exception { + /** + * Tests that reordering semantic elements also reorders elements in the + * Sirius {@link DTree}. See 481433. + * + */ + public void testSynchronizationSemanticElementsMappgings() { + + EPackage semanticModel = (EPackage) EcoreUtil.create(EcorePackage.eINSTANCE.getEPackage()); + EClass subClass1 = (EClass) EcoreUtil.create(EcorePackage.eINSTANCE.getEClass()); + subClass1.setName("EClass1"); + + EClass subClass2 = (EClass) EcoreUtil.create(EcorePackage.eINSTANCE.getEClass()); + subClass2.setName("EClass2"); + semanticModel.getEClassifiers().add(subClass1); + semanticModel.getEClassifiers().add(subClass2); - EPackage semanticModel = EcoreUtil.copy(EcorePackage.eINSTANCE); DTree newTree = TreeFactory.eINSTANCE.createDTree(); newTree.setTarget(semanticModel); - newTree.setDescription(odesign.group().design().epackagecontent().object()); - List<TreeItemMapping> mappings = Lists.newArrayList(Iterators.filter(odesign.group().design().epackagecontent().object().eAllContents(), TreeItemMapping.class)); + newTree.setDescription(odesign.group().design().genericemftree().object()); + List<TreeItemMapping> mappings = Lists.newArrayList(Iterators.filter(odesign.group().design().genericemftree().object().eAllContents(), TreeItemMapping.class)); DTreeRefresh refresher = new DTreeRefresh(newTree, mappings, invalidator, ctx); refresher.refresh(new NullProgressMonitor()); - String beforeReorder = toString(newTree); + EList<DTreeItem> ownedTreeItems = newTree.getOwnedTreeItems(); + assertEquals("EClass1", ownedTreeItems.get(0).getName()); + assertEquals("EClass2", ownedTreeItems.get(1).getName()); + + semanticModel.getEClassifiers().move(0, 1); + refresher.refresh(new NullProgressMonitor()); + assertEquals("EClass2", ownedTreeItems.get(0).getName()); + assertEquals("EClass1", ownedTreeItems.get(1).getName()); } /** |
