Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlgoubet2012-04-12 13:02:28 +0000
committerlgoubet2012-04-12 13:02:28 +0000
commitd65e3eeb52b68c3c200d4ead88ed89a4dc312082 (patch)
tree2620d8ec5e445006e1549958f7b2483bd49cbc64 /plugins/org.eclipse.emf.compare.tests/src/org/eclipse/emf/compare/tests/match
parentbd0dc7cf8fc23976ac3eb0cfca8b96bb8dc150fd (diff)
downloadorg.eclipse.emf.compare-d65e3eeb52b68c3c200d4ead88ed89a4dc312082.tar.gz
org.eclipse.emf.compare-d65e3eeb52b68c3c200d4ead88ed89a4dc312082.tar.xz
org.eclipse.emf.compare-d65e3eeb52b68c3c200d4ead88ed89a4dc312082.zip
Fixing the Diff engine so that it accurately detects two-way changes as
the right DifferenceKind.
Diffstat (limited to 'plugins/org.eclipse.emf.compare.tests/src/org/eclipse/emf/compare/tests/match')
-rw-r--r--plugins/org.eclipse.emf.compare.tests/src/org/eclipse/emf/compare/tests/match/IdentifierComparisonTest.java35
1 files changed, 21 insertions, 14 deletions
diff --git a/plugins/org.eclipse.emf.compare.tests/src/org/eclipse/emf/compare/tests/match/IdentifierComparisonTest.java b/plugins/org.eclipse.emf.compare.tests/src/org/eclipse/emf/compare/tests/match/IdentifierComparisonTest.java
index 22bbd1a57..8ea2c8ff0 100644
--- a/plugins/org.eclipse.emf.compare.tests/src/org/eclipse/emf/compare/tests/match/IdentifierComparisonTest.java
+++ b/plugins/org.eclipse.emf.compare.tests/src/org/eclipse/emf/compare/tests/match/IdentifierComparisonTest.java
@@ -132,13 +132,9 @@ public class IdentifierComparisonTest extends EMFCompareTestBase {
assertRemovedFromReference(differences, "extlibrary.Periodical", "eSuperTypes", "extlibrary.Item",
DifferenceSource.LEFT);
- DifferenceSource side = DifferenceSource.LEFT;
- if (comparison.isThreeWay()) {
- side = DifferenceSource.RIGHT;
- }
-
// some diffs change according to the presence of an origin.
if (comparison.isThreeWay()) {
+ final DifferenceSource side = DifferenceSource.RIGHT;
assertAdded(differences, "extlibrary.BookCategory.Manga", side);
assertAdded(differences, "extlibrary.BookCategory.Manhwa", side);
assertAdded(differences, "extlibrary.Book.subtitle", side);
@@ -149,6 +145,15 @@ public class IdentifierComparisonTest extends EMFCompareTestBase {
assertRemoved(differences, "extlibrary.Book.title", side);
assertRemoved(differences, "extlibrary.AudioVisualItem.title", side);
+ assertAddedToReference(differences, "extlibrary.Book", "eSuperTypes", "extlibrary.TitledItem",
+ side);
+ assertAddedToReference(differences, "extlibrary.Periodical", "eSuperTypes",
+ "extlibrary.TitledItem", side);
+ assertAddedToReference(differences, "extlibrary.AudioVisualItem", "eSuperTypes",
+ "extlibrary.TitledItem", side);
+ assertAddedToReference(differences, "extlibrary.Magazine", "eSuperTypes",
+ "extlibrary.Periodical", side);
+
/*
* The following are actually conflicts, most changes according to whether we are in three-way or
* not.
@@ -165,6 +170,7 @@ public class IdentifierComparisonTest extends EMFCompareTestBase {
assertChangedAttribute(differences, "extlibrary.AudioVisualItem.length", "name", "minutesLength",
"minutes", side);
} else {
+ final DifferenceSource side = DifferenceSource.LEFT;
assertRemoved(differences, "extlibrary.BookCategory.Manga", side);
assertRemoved(differences, "extlibrary.BookCategory.Manhwa", side);
assertRemoved(differences, "extlibrary.Book.subtitle", side);
@@ -175,20 +181,21 @@ public class IdentifierComparisonTest extends EMFCompareTestBase {
assertAdded(differences, "extlibrary.Book.title", side);
assertAdded(differences, "extlibrary.AudioVisualItem.title", side);
+ assertRemovedFromReference(differences, "extlibrary.Book", "eSuperTypes",
+ "extlibrary.TitledItem", side);
+ assertRemovedFromReference(differences, "extlibrary.Periodical", "eSuperTypes",
+ "extlibrary.TitledItem", side);
+ assertRemovedFromReference(differences, "extlibrary.AudioVisualItem", "eSuperTypes",
+ "extlibrary.TitledItem", side);
+ assertRemovedFromReference(differences, "extlibrary.Magazine", "eSuperTypes",
+ "extlibrary.Periodical", side);
+
// See above comment : since this is a conflict, the expected diff is not the same in two-way
assertChangedAttribute(differences, "extlibrary.AudioVisualItem.length", "name", "minutes",
"length", DifferenceSource.LEFT);
}
- assertAddedToReference(differences, "extlibrary.Book", "eSuperTypes", "extlibrary.TitledItem", side);
- assertAddedToReference(differences, "extlibrary.Periodical", "eSuperTypes", "extlibrary.TitledItem",
- side);
- assertAddedToReference(differences, "extlibrary.AudioVisualItem", "eSuperTypes",
- "extlibrary.TitledItem", side);
- assertAddedToReference(differences, "extlibrary.Magazine", "eSuperTypes", "extlibrary.Periodical",
- side);
-
- // We should have no more differences that those 21
+ // We should have no more differences that those
assertTrue(differences.isEmpty());
}

Back to the top