Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCedric Notot2013-01-24 16:39:37 +0000
committerCedric Notot2013-01-24 16:55:27 +0000
commitd536c92b88b21b16d5402e2625351d3e48603ff6 (patch)
tree114911ef15d245e164ee3c1e7a3b81fdf2958bd8 /plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf
parent0e16023621b6343b1234d0743bd3a3756e5e4224 (diff)
downloadorg.eclipse.emf.compare-d536c92b88b21b16d5402e2625351d3e48603ff6.tar.gz
org.eclipse.emf.compare-d536c92b88b21b16d5402e2625351d3e48603ff6.tar.xz
org.eclipse.emf.compare-d536c92b88b21b16d5402e2625351d3e48603ff6.zip
[398863] Provide a merge extension mechanism
Tests
Diffstat (limited to 'plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf')
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/merge/ExtensionMergeTest.java70
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/suite/AllTests.java5
2 files changed, 73 insertions, 2 deletions
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/merge/ExtensionMergeTest.java b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/merge/ExtensionMergeTest.java
new file mode 100644
index 000000000..b00dba858
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/merge/ExtensionMergeTest.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.uml2.tests.merge;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.ArrayList;
+
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.compare.Comparison;
+import org.eclipse.emf.compare.Diff;
+import org.eclipse.emf.compare.EMFCompare;
+import org.eclipse.emf.compare.extension.merge.DefaultMerger;
+import org.eclipse.emf.compare.extension.merge.IMerger;
+import org.eclipse.emf.compare.scope.IComparisonScope;
+import org.eclipse.emf.compare.tests.framework.AbstractInputData;
+import org.eclipse.emf.compare.uml2.tests.AbstractTest;
+import org.eclipse.emf.compare.uml2.tests.association.data.AssociationInputData;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.junit.Test;
+
+@SuppressWarnings("nls")
+public class ExtensionMergeTest extends AbstractTest {
+ private AssociationInputData input = new AssociationInputData();
+
+ @Test
+ public void testInstantiationMerger() throws IOException {
+ final Resource left = input.getA1Left();
+ final Resource right = input.getA1Right();
+
+ testMergeRightToLeft(left, right, null);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.compare.uml2.tests.AbstractTest#testMergeRightToLeft(org.eclipse.emf.common.notify.Notifier,
+ * org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.common.notify.Notifier)
+ */
+ @Override
+ protected void testMergeRightToLeft(Notifier left, Notifier right, Notifier origin) {
+ final IComparisonScope scope = EMFCompare.createDefaultScope(left, right, origin);
+ final Comparison comparisonBefore = getCompare().compare(scope);
+ EList<Diff> differences = comparisonBefore.getDifferences();
+ for (Diff diff : differences) {
+ IMerger merger = org.eclipse.emf.compare.tests.merge.ExtensionMergeTest.getMerger(diff,
+ new ArrayList<IMerger>(), DefaultMerger.class);
+ merger.copyRightToLeft(diff, null);
+ }
+ final Comparison comparisonAfter = getCompare().compare(scope);
+ assertTrue("Comparison#getDifferences() must be empty after copyAllRightToLeft", comparisonAfter
+ .getDifferences().isEmpty());
+ }
+
+ @Override
+ protected AbstractInputData getInput() {
+ return input;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/suite/AllTests.java b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/suite/AllTests.java
index 08d62b853..e2a648b22 100644
--- a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/suite/AllTests.java
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/suite/AllTests.java
@@ -32,6 +32,7 @@ import org.eclipse.emf.compare.uml2.tests.executionSpecification.AddBehaviorExec
import org.eclipse.emf.compare.uml2.tests.extend.AddExtendTest;
import org.eclipse.emf.compare.uml2.tests.generalizationSet.AddGeneralizationSetTest;
import org.eclipse.emf.compare.uml2.tests.include.AddIncludeTest;
+import org.eclipse.emf.compare.uml2.tests.merge.ExtensionMergeTest;
import org.eclipse.emf.compare.uml2.tests.message.AddMessageTest;
import org.eclipse.emf.compare.uml2.tests.profiles.ProfileTest;
import org.eclipse.emf.compare.uml2.tests.stereotypes.DynamicStereotypeTest;
@@ -48,8 +49,8 @@ import org.junit.runners.Suite.SuiteClasses;
*/
@RunWith(Suite.class)
@SuiteClasses({AddDependencyTest.class, AddAbstractionTest.class, AddAssociationTest.class,
- AddAssociation2Test.class, ChangeAssociationTest.class, ChangeDependencyTest.class,
- ChangeUsageTest.class, AddAssociation3Test.class, AddExtendTest.class,
+ ExtensionMergeTest.class, AddAssociation2Test.class, ChangeAssociationTest.class,
+ ChangeDependencyTest.class, ChangeUsageTest.class, AddAssociation3Test.class, AddExtendTest.class,
AddGeneralizationSetTest.class, AddInterfaceRealizationTest.class, AddRealizationTest.class,
AddSubstitutionTest.class, AddUsageTest.class, AddMessageTest.class,
AddActionExecutionSpecificationTest.class, AddBehaviorExecutionSpecificationTest.class,

Back to the top