Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.compare.uml2.tests/src')
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/StereotypeApplicationConflictTests.java185
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/StereotypeApplicationConflictInputData.java93
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a1/left.uml13
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a1/origin.uml10
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a1/right.uml13
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a2/left.uml13
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a2/origin.uml10
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a2/right.uml13
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a3/left.uml13
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a3/origin.uml10
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a3/right.uml13
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a4/left.uml15
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a4/origin.uml12
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a4/right.uml15
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a5/left.uml15
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a5/origin.uml12
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a5/right.uml15
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a6/left.uml10
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a6/origin.uml16
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a6/right.uml10
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/suite/AllTests.java7
21 files changed, 511 insertions, 2 deletions
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/StereotypeApplicationConflictTests.java b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/StereotypeApplicationConflictTests.java
new file mode 100644
index 000000000..048772d9f
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/StereotypeApplicationConflictTests.java
@@ -0,0 +1,185 @@
+/*******************************************************************************
+ * Copyright (c) 2014, 2017 Obeo 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:
+ * Obeo - initial API and implementation
+ * Christian W. Damus - bug 522080
+ *******************************************************************************/
+package org.eclipse.emf.compare.uml2.tests.stereotypes;
+
+import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.compare.Comparison;
+import org.eclipse.emf.compare.ConflictKind;
+import org.eclipse.emf.compare.Diff;
+import org.eclipse.emf.compare.uml2.profile.test.uml2comparetestprofile.UML2CompareTestProfilePackage;
+import org.eclipse.emf.compare.uml2.tests.AbstractUMLInputData;
+import org.eclipse.emf.compare.uml2.tests.stereotypes.data.conflict.StereotypeApplicationConflictInputData;
+import org.eclipse.emf.compare.utils.EMFComparePredicates;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.uml2.uml.UMLPlugin;
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+import org.hamcrest.TypeSafeMatcher;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Tests add-add scenarios for stereotype applications (same stereotype applied to same element on both
+ * sides).
+ */
+@SuppressWarnings("nls")
+public class StereotypeApplicationConflictTests extends AbstractStereotypedElementChangeTests {
+
+ private StereotypeApplicationConflictInputData input;
+
+ /**
+ * Initializes me.
+ */
+ public StereotypeApplicationConflictTests() {
+ super();
+ }
+
+ /**
+ * Tests add-add conflict for a stereotype that defines no attributes.
+ */
+ @Test
+ public void testApplyApplyPseudoConflictStereotypeNoAttributes() throws IOException {
+ final Comparison comparison = compare(input.getA1Left(), input.getA1Right(), input.getA1Base());
+ EList<Diff> differences = comparison.getDifferences();
+
+ assertThat(differences, hasItem(hasDirectOrIndirectConflict(ConflictKind.PSEUDO)));
+ assertThat(differences, not(hasItem(hasDirectOrIndirectConflict(ConflictKind.REAL))));
+ }
+
+ /**
+ * Tests add-add conflict for a stereotype that defines attributes where all attributes on both sides are
+ * equal.
+ */
+ @Test
+ public void testApplyApplyPseudoConflictStereotypeWithAttributes() throws IOException {
+ final Comparison comparison = compare(input.getA2Left(), input.getA2Right(), input.getA2Base());
+ EList<Diff> differences = comparison.getDifferences();
+
+ assertThat(differences, hasItem(hasDirectOrIndirectConflict(ConflictKind.PSEUDO)));
+ assertThat(differences, not(hasItem(hasDirectOrIndirectConflict(ConflictKind.REAL))));
+ }
+
+ /**
+ * Tests add-add conflict for a stereotype that defines attributes where the two sides have different
+ * attribute values.
+ */
+ @Test
+ public void testApplyApplyConflictStereotypeWithAttributes() throws IOException {
+ final Comparison comparison = compare(input.getA3Left(), input.getA3Right(), input.getA3Base());
+ EList<Diff> differences = comparison.getDifferences();
+
+ assertThat(differences, hasItem(hasDirectOrIndirectConflict(ConflictKind.REAL)));
+ }
+
+ /**
+ * Tests add-add conflict for a stereotype that defines attributes where all attributes on both sides are
+ * equal.
+ */
+ @Test
+ public void testApplyApplyPseudoConflictStereotypeWithReferences() throws IOException {
+ final Comparison comparison = compare(input.getA4Left(), input.getA4Right(), input.getA4Base());
+ EList<Diff> differences = comparison.getDifferences();
+
+ assertThat(differences, hasItem(hasDirectOrIndirectConflict(ConflictKind.PSEUDO)));
+ assertThat(differences, not(hasItem(hasDirectOrIndirectConflict(ConflictKind.REAL))));
+ }
+
+ /**
+ * Tests add-add conflict for a stereotype that defines attributes where the two sides have different
+ * attribute values.
+ */
+ @Test
+ public void testApplyApplyConflictStereotypeWithReferences() throws IOException {
+ final Comparison comparison = compare(input.getA5Left(), input.getA5Right(), input.getA5Base());
+ EList<Diff> differences = comparison.getDifferences();
+
+ assertThat(differences, hasItem(hasDirectOrIndirectConflict(ConflictKind.REAL)));
+ }
+
+ /**
+ * Tests delete-delete pseudoconflict for a stereotype that is unapplied on both sides.
+ */
+ @Test
+ public void testUnpplyUnapplyPseudoconflictStereotypeWithAttributes() throws IOException {
+ final Comparison comparison = compare(input.getA6Left(), input.getA6Right(), input.getA6Base());
+ EList<Diff> differences = comparison.getDifferences();
+
+ assertThat(differences, hasItem(hasDirectOrIndirectConflict(ConflictKind.PSEUDO)));
+ }
+
+ //
+ // Test framework
+ //
+
+ @Override
+ protected AbstractUMLInputData getInput() {
+ return input;
+ }
+
+ @BeforeClass
+ public static void fillRegistriesForStatic() {
+ beforeClass();
+ if (!EMFPlugin.IS_ECLIPSE_RUNNING) {
+ EPackage.Registry.INSTANCE.put(UML2CompareTestProfilePackage.eNS_URI,
+ UML2CompareTestProfilePackage.eINSTANCE);
+
+ // It is required to link the EPackage to the UML package of the UML Profile
+ Map<String, URI> ePackageNsURIToProfileLocationMap = UMLPlugin
+ .getEPackageNsURIToProfileLocationMap();
+ ePackageNsURIToProfileLocationMap.put(UML2CompareTestProfilePackage.eNS_URI, URI.createURI(
+ "pathmap://UML_COMPARE_TESTS_PROFILE/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"));
+ }
+ }
+
+ @AfterClass
+ public static void resetRegistriesForStatic() {
+ if (!EMFPlugin.IS_ECLIPSE_RUNNING) {
+ UMLPlugin.getEPackageNsURIToProfileLocationMap().remove(UML2CompareTestProfilePackage.eNS_URI);
+ EPackage.Registry.INSTANCE.remove(UML2CompareTestProfilePackage.eNS_URI);
+ }
+ afterClass();
+ }
+
+ @Before
+ @Override
+ public void before() {
+ super.before();
+
+ input = new StereotypeApplicationConflictInputData();
+ }
+
+ static Matcher<Diff> hasDirectOrIndirectConflict(final ConflictKind... ofKind) {
+ return new TypeSafeMatcher<Diff>() {
+ public void describeTo(Description description) {
+ description.appendText("has ") //
+ .appendValueList("", " or ", "", ofKind) //
+ .appendText(" conflict");
+ }
+
+ @Override
+ protected boolean matchesSafely(Diff item) {
+ return EMFComparePredicates.hasDirectOrIndirectConflict(ofKind).apply(item);
+ }
+ };
+ }
+}
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/StereotypeApplicationConflictInputData.java b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/StereotypeApplicationConflictInputData.java
new file mode 100644
index 000000000..c9d451c58
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/StereotypeApplicationConflictInputData.java
@@ -0,0 +1,93 @@
+/*******************************************************************************
+ * Copyright (c) 2017 Christian W. Damus 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:
+ * Christian W. Damus - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.uml2.tests.stereotypes.data.conflict;
+
+import java.io.IOException;
+
+import org.eclipse.emf.compare.uml2.tests.AbstractUMLInputData;
+import org.eclipse.emf.ecore.resource.Resource;
+
+public class StereotypeApplicationConflictInputData extends AbstractUMLInputData {
+
+ public Resource getA1Base() throws IOException {
+ return loadFromClassLoader("a1/origin.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA1Left() throws IOException {
+ return loadFromClassLoader("a1/left.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA1Right() throws IOException {
+ return loadFromClassLoader("a1/right.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA2Base() throws IOException {
+ return loadFromClassLoader("a2/origin.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA2Left() throws IOException {
+ return loadFromClassLoader("a2/left.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA2Right() throws IOException {
+ return loadFromClassLoader("a2/right.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA3Base() throws IOException {
+ return loadFromClassLoader("a3/origin.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA3Left() throws IOException {
+ return loadFromClassLoader("a3/left.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA3Right() throws IOException {
+ return loadFromClassLoader("a3/right.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA4Base() throws IOException {
+ return loadFromClassLoader("a4/origin.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA4Left() throws IOException {
+ return loadFromClassLoader("a4/left.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA4Right() throws IOException {
+ return loadFromClassLoader("a4/right.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA5Base() throws IOException {
+ return loadFromClassLoader("a5/origin.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA5Left() throws IOException {
+ return loadFromClassLoader("a5/left.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA5Right() throws IOException {
+ return loadFromClassLoader("a5/right.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA6Base() throws IOException {
+ return loadFromClassLoader("a6/origin.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA6Left() throws IOException {
+ return loadFromClassLoader("a6/left.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getA6Right() throws IOException {
+ return loadFromClassLoader("a6/right.uml"); //$NON-NLS-1$
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a1/left.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a1/left.uml
new file mode 100644
index 000000000..540c645e5
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a1/left.uml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:standard="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <uml:Model xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <profileApplication xmi:id="_12E9QLjyEeeVg_HuOthLOA">
+ <eAnnotations xmi:id="_12E9QbjyEeeVg_HuOthLOA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Model>
+ <standard:Utility xmi:id="_7M_-oLjyEeeVg_HuOthLOA" base_Class="_MNDVkPr8EeCcXd0vrIzyPg"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a1/origin.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a1/origin.uml
new file mode 100644
index 000000000..a236c69d7
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a1/origin.uml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <profileApplication xmi:id="_12E9QLjyEeeVg_HuOthLOA">
+ <eAnnotations xmi:id="_12E9QbjyEeeVg_HuOthLOA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+ </profileApplication>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a1/right.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a1/right.uml
new file mode 100644
index 000000000..bad67919f
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a1/right.uml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:standard="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <uml:Model xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <profileApplication xmi:id="_12E9QLjyEeeVg_HuOthLOA">
+ <eAnnotations xmi:id="_12E9QbjyEeeVg_HuOthLOA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Model>
+ <standard:Utility xmi:id="_9GhFALjyEeeVg_HuOthLOA" base_Class="_MNDVkPr8EeCcXd0vrIzyPg"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a2/left.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a2/left.uml
new file mode 100644
index 000000000..36db0c8e7
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a2/left.uml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:testProfile="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <uml:Model xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+ </uml:Model>
+ <testProfile:ACliche xmi:id="_lLJboPzmEeGvprorRl_paQ" singleValuedAttribute="bar" base_Class="_MNDVkPr8EeCcXd0vrIzyPg"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a2/origin.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a2/origin.uml
new file mode 100644
index 000000000..9559588c1
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a2/origin.uml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a2/right.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a2/right.uml
new file mode 100644
index 000000000..a0f7622c0
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a2/right.uml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:testProfile="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <uml:Model xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+ </uml:Model>
+ <testProfile:ACliche xmi:id="_DgvBULjxEeeVg_HuOthLOA" singleValuedAttribute="bar" base_Class="_MNDVkPr8EeCcXd0vrIzyPg"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a3/left.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a3/left.uml
new file mode 100644
index 000000000..9def561c9
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a3/left.uml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:testProfile="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <uml:Model xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+ </uml:Model>
+ <testProfile:ACliche xmi:id="_lLJboPzmEeGvprorRl_paQ" singleValuedAttribute="baz" base_Class="_MNDVkPr8EeCcXd0vrIzyPg"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a3/origin.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a3/origin.uml
new file mode 100644
index 000000000..9559588c1
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a3/origin.uml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a3/right.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a3/right.uml
new file mode 100644
index 000000000..a0f7622c0
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a3/right.uml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:testProfile="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <uml:Model xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+ </uml:Model>
+ <testProfile:ACliche xmi:id="_DgvBULjxEeeVg_HuOthLOA" singleValuedAttribute="bar" base_Class="_MNDVkPr8EeCcXd0vrIzyPg"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a4/left.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a4/left.uml
new file mode 100644
index 000000000..c15a0e099
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a4/left.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:testProfile="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <uml:Model xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_bv63ALmSEee3h-90p9bUpQ" name="Bar"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_b4ngALmSEee3h-90p9bUpQ" name="Baz"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+ </uml:Model>
+ <testProfile:ACliche xmi:id="_lLJboPzmEeGvprorRl_paQ" manyValuedReference="_bv63ALmSEee3h-90p9bUpQ _b4ngALmSEee3h-90p9bUpQ" base_Class="_MNDVkPr8EeCcXd0vrIzyPg"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a4/origin.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a4/origin.uml
new file mode 100644
index 000000000..64fde5208
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a4/origin.uml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_bv63ALmSEee3h-90p9bUpQ" name="Bar"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_b4ngALmSEee3h-90p9bUpQ" name="Baz"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a4/right.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a4/right.uml
new file mode 100644
index 000000000..337652f5c
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a4/right.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:testProfile="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <uml:Model xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_bv63ALmSEee3h-90p9bUpQ" name="Bar"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_b4ngALmSEee3h-90p9bUpQ" name="Baz"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+ </uml:Model>
+ <testProfile:ACliche xmi:id="_DgvBULjxEeeVg_HuOthLOA" manyValuedReference="_bv63ALmSEee3h-90p9bUpQ _b4ngALmSEee3h-90p9bUpQ" base_Class="_MNDVkPr8EeCcXd0vrIzyPg"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a5/left.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a5/left.uml
new file mode 100644
index 000000000..ee12fe3c0
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a5/left.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:testProfile="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <uml:Model xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_bv63ALmSEee3h-90p9bUpQ" name="Bar"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_b4ngALmSEee3h-90p9bUpQ" name="Baz"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+ </uml:Model>
+ <testProfile:ACliche xmi:id="_lLJboPzmEeGvprorRl_paQ" manyValuedReference="_b4ngALmSEee3h-90p9bUpQ _bv63ALmSEee3h-90p9bUpQ" base_Class="_MNDVkPr8EeCcXd0vrIzyPg"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a5/origin.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a5/origin.uml
new file mode 100644
index 000000000..64fde5208
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a5/origin.uml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_bv63ALmSEee3h-90p9bUpQ" name="Bar"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_b4ngALmSEee3h-90p9bUpQ" name="Baz"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a5/right.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a5/right.uml
new file mode 100644
index 000000000..337652f5c
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a5/right.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:testProfile="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <uml:Model xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_bv63ALmSEee3h-90p9bUpQ" name="Bar"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_b4ngALmSEee3h-90p9bUpQ" name="Baz"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+ </uml:Model>
+ <testProfile:ACliche xmi:id="_DgvBULjxEeeVg_HuOthLOA" manyValuedReference="_bv63ALmSEee3h-90p9bUpQ _b4ngALmSEee3h-90p9bUpQ" base_Class="_MNDVkPr8EeCcXd0vrIzyPg"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a6/left.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a6/left.uml
new file mode 100644
index 000000000..9559588c1
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a6/left.uml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a6/origin.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a6/origin.uml
new file mode 100644
index 000000000..f3aaf88a2
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a6/origin.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:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:testProfile="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <uml:Model xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+ </uml:Model>
+ <testProfile:ACliche xmi:id="_lLJboPzmEeGvprorRl_paQ" singleValuedAttribute="baz" base_Class="_MNDVkPr8EeCcXd0vrIzyPg">
+ <manyValuedAttribute>foo</manyValuedAttribute>
+ <manyValuedAttribute>bar</manyValuedAttribute>
+ </testProfile:ACliche>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a6/right.uml b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a6/right.uml
new file mode 100644
index 000000000..9559588c1
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.tests/src/org/eclipse/emf/compare/uml2/tests/stereotypes/data/conflict/a6/right.uml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_GfO3Ifr8EeCcXd0vrIzyPg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_MNDVkPr8EeCcXd0vrIzyPg" name="Foo"/>
+ <profileApplication xmi:id="_jAMnAPzmEeGvprorRl_paQ">
+ <eAnnotations xmi:id="_jAMnAfzmEeGvprorRl_paQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/compare/uml2/1.0.0/testprofile#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.emf.compare.uml2.tests/model/uml2.compare.testprofile.profile.uml#_hZFTgIwkEeC_FYHMbTTxXw"/>
+ </profileApplication>
+</uml:Model>
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 752546d66..8f7e2552f 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
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2012, 2016 Obeo and others.
+ * Copyright (c) 2012, 2019 Obeo 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
@@ -11,6 +11,7 @@
* Stefan Dirix - addition of PseudoConflictTest
* Martin Fleck - addition of RemoveStereotypeApplicationPseudoConflictTest
* Martin Fleck - addition of AddMessageSubDiffTest
+ * Christian W. Damus - bug 522080
*******************************************************************************/
package org.eclipse.emf.compare.uml2.tests.suite;
@@ -53,6 +54,7 @@ import org.eclipse.emf.compare.uml2.tests.stereotypes.DynamicStereotypeTest;
import org.eclipse.emf.compare.uml2.tests.stereotypes.DynamicStereotypedElementChangeTests;
import org.eclipse.emf.compare.uml2.tests.stereotypes.StaticStereotypeTest;
import org.eclipse.emf.compare.uml2.tests.stereotypes.StaticStereotypedElementChangeTests;
+import org.eclipse.emf.compare.uml2.tests.stereotypes.StereotypeApplicationConflictTests;
import org.eclipse.emf.compare.uml2.tests.timeConstraint.AddTimeConstraintTest;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@@ -83,7 +85,8 @@ import junit.textui.TestRunner;
OpaqueElementBodyChangeDiffTest.class, OpaqueElementBodyChangeMergeTest.class,
DanglingStereotypeApplicationTest.class, TestNonRegPseudoConflict_484576.class,
RemoveStereotypeApplicationPseudoConflictTest.class, MultiplicityElementChangesTest.class,
- InstanceSpecificationClassifiersMergeTest.class, AddMessageSubDiffTest.class, })
+ InstanceSpecificationClassifiersMergeTest.class, AddMessageSubDiffTest.class,
+ StereotypeApplicationConflictTests.class, })
public class AllTests {
/**

Back to the top