diff options
author | Victor Roldan Betancort | 2013-08-19 09:03:22 +0000 |
---|---|---|
committer | Mikaƫl Barbero | 2013-08-19 12:27:15 +0000 |
commit | 62a9ecf0acf7f5a871fb134c5f44f0183658d705 (patch) | |
tree | fc23d03b26d3d84feda7908ffe3d9cb3a4f6fe65 | |
parent | 257e53d992b29aaede7984ff60bcc4d3a82f2857 (diff) | |
download | org.eclipse.emf.compare-62a9ecf0acf7f5a871fb134c5f44f0183658d705.tar.gz org.eclipse.emf.compare-62a9ecf0acf7f5a871fb134c5f44f0183658d705.tar.xz org.eclipse.emf.compare-62a9ecf0acf7f5a871fb134c5f44f0183658d705.zip |
[412315] Increase visibility of EditionDistance.getThresholdRatio(int)
to protected
Bug: 412315
Change-Id: I99f87b747fa56839d6cb6d6ed279e3038e15472c
(cherry picked from commit a7b3710ac2b23224fd5119dd7feae6d4aa6996ca)
Conflicts:
plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/match/eobject/EditionDistance.java
Signed-off-by: Victor Roldan Betancort <vroldan@opencanarias.com>
-rw-r--r-- | plugins/org.eclipse.emf.compare.tests/src/org/eclipse/emf/compare/tests/fullcomparison/ExtLibraryTest.java | 60 |
1 files changed, 33 insertions, 27 deletions
diff --git a/plugins/org.eclipse.emf.compare.tests/src/org/eclipse/emf/compare/tests/fullcomparison/ExtLibraryTest.java b/plugins/org.eclipse.emf.compare.tests/src/org/eclipse/emf/compare/tests/fullcomparison/ExtLibraryTest.java index 78f04cb7e..881f3a052 100644 --- a/plugins/org.eclipse.emf.compare.tests/src/org/eclipse/emf/compare/tests/fullcomparison/ExtLibraryTest.java +++ b/plugins/org.eclipse.emf.compare.tests/src/org/eclipse/emf/compare/tests/fullcomparison/ExtLibraryTest.java @@ -32,10 +32,10 @@ import org.eclipse.emf.compare.ConflictKind; import org.eclipse.emf.compare.Diff;
import org.eclipse.emf.compare.DifferenceSource;
import org.eclipse.emf.compare.EMFCompare;
+import org.eclipse.emf.compare.scope.DefaultComparisonScope; import org.eclipse.emf.compare.scope.IComparisonScope;
import org.eclipse.emf.compare.tests.fullcomparison.data.identifier.IdentifierMatchInputData;
import org.eclipse.emf.ecore.resource.Resource;
-import org.junit.Ignore;
import org.junit.Test;
/**
@@ -47,13 +47,12 @@ public class ExtLibraryTest { private IdentifierMatchInputData inputData = new IdentifierMatchInputData();
@Test
- @Ignore
public void testConflicts() throws IOException {
final Resource left = inputData.getExtlibraryLeft();
final Resource origin = inputData.getExtlibraryOrigin();
final Resource right = inputData.getExtlibraryRight();
- final IComparisonScope scope = EMFCompare.createDefaultScope(left, right, origin);
+ final IComparisonScope scope = new DefaultComparisonScope(left, right, origin); final Comparison comparison = EMFCompare.builder().build().compare(scope);
final List<Diff> differences = comparison.getDifferences();
@@ -118,41 +117,48 @@ public class ExtLibraryTest { final Predicate<? super Diff> rightSetPeriodicalSupertype = and(fromSide(DifferenceSource.RIGHT),
addedToReference("extlibrary.Magazine", "eSuperTypes", "extlibrary.Periodical"));
- final Predicate<? super Diff> rightRemovedTitle = and(fromSide(DifferenceSource.RIGHT),
- removed("extlibrary.Periodical.title"));
- final Predicate<? super Diff> rightUnsetTitleType = and(fromSide(DifferenceSource.RIGHT),
- changedReference("extlibrary.Periodical.title", "eType", "ecore.EString", null));
+ final Predicate<? super Diff> rightSetTitledItemSupertype = and(fromSide(DifferenceSource.RIGHT), + addedToReference("extlibrary.Periodical", "eSuperTypes", "extlibrary.TitledItem")); final Predicate<? super Diff> leftRemovedPeriodical = and(fromSide(DifferenceSource.LEFT),
removed("extlibrary.Periodical"));
- final Predicate<? super Diff> leftRemovedTitle = and(fromSide(DifferenceSource.LEFT),
- removed("extlibrary.Periodical.title"));
- final Predicate<? super Diff> leftUnsetTitleType = and(fromSide(DifferenceSource.LEFT),
- changedReference("extlibrary.Periodical.title", "eType", "ecore.EString", null));
final Diff rightSetPeriodicalSupertypeDiff = Iterators.find(differences.iterator(),
rightSetPeriodicalSupertype);
- final Diff rightRemovedTitleDiff = Iterators.find(differences.iterator(), rightRemovedTitle);
- final Diff rightUnsetTitleTypeDiff = Iterators.find(differences.iterator(), rightUnsetTitleType);
+ final Diff rightSetTitledItemSupertypeDiff = Iterators.find(differences.iterator(), + rightSetTitledItemSupertype); final Diff leftRemovedPeriodicalDiff = Iterators.find(differences.iterator(), leftRemovedPeriodical);
- final Diff leftRemovedTitleDiff = Iterators.find(differences.iterator(), leftRemovedTitle);
- final Diff leftUnsetTitleTypeDiff = Iterators.find(differences.iterator(), leftUnsetTitleType);
final Conflict periodicalConflict = rightSetPeriodicalSupertypeDiff.getConflict();
assertNotNull(periodicalConflict);
- /*
- * The test fails. An easy fix is to set the number of diffs in conflicts here to "7" instead of "6".
- * This is wrong. The conflict detection should not set "all diffs under a containment delete" in
- * conflict with "the containment delete". See [381143] for details and fix this test accordingly.
- */
- assertSame(Integer.valueOf(6), Integer.valueOf(periodicalConflict.getDifferences().size()));
+ assertSame(Integer.valueOf(3), Integer.valueOf(periodicalConflict.getDifferences().size())); + assertTrue(periodicalConflict.getDifferences().contains(leftRemovedPeriodicalDiff)); assertTrue(periodicalConflict.getDifferences().contains(rightSetPeriodicalSupertypeDiff));
- assertTrue(periodicalConflict.getDifferences().contains(rightRemovedTitleDiff));
- assertTrue(periodicalConflict.getDifferences().contains(rightUnsetTitleTypeDiff));
- assertTrue(periodicalConflict.getDifferences().contains(leftRemovedPeriodicalDiff));
- assertTrue(periodicalConflict.getDifferences().contains(leftRemovedTitleDiff));
- assertTrue(periodicalConflict.getDifferences().contains(leftUnsetTitleTypeDiff));
+ assertTrue(periodicalConflict.getDifferences().contains(rightSetTitledItemSupertypeDiff)); assertSame(ConflictKind.REAL, periodicalConflict.getKind());
- assertSame(Integer.valueOf(4), comparison.getConflicts());
+ final Predicate<? super Diff> leftRemovedTitle = and(fromSide(DifferenceSource.LEFT), + removed("extlibrary.Periodical.title")); + final Predicate<? super Diff> leftUnsetTitleType = and(fromSide(DifferenceSource.LEFT), + changedReference("extlibrary.Periodical.title", "eType", "ecore.EString", null)); + final Predicate<? super Diff> rightRemovedTitle = and(fromSide(DifferenceSource.RIGHT), + removed("extlibrary.Periodical.title")); + final Predicate<? super Diff> rightUnsetTitleType = and(fromSide(DifferenceSource.RIGHT), + changedReference("extlibrary.Periodical.title", "eType", "ecore.EString", null)); + + final Diff leftRemovedTitleDiff = Iterators.find(differences.iterator(), leftRemovedTitle); + final Diff leftUnsetTitleTypeDiff = Iterators.find(differences.iterator(), leftUnsetTitleType); + final Diff rightRemovedTitleDiff = Iterators.find(differences.iterator(), rightRemovedTitle); + final Diff rightUnsetTitleTypeDiff = Iterators.find(differences.iterator(), rightUnsetTitleType); + + final Conflict titleConflict = leftRemovedTitleDiff.getConflict(); + assertNotNull(titleConflict); + assertSame(Integer.valueOf(4), Integer.valueOf(titleConflict.getDifferences().size())); + assertTrue(titleConflict.getDifferences().contains(leftRemovedTitleDiff)); + assertTrue(titleConflict.getDifferences().contains(leftUnsetTitleTypeDiff)); + assertTrue(titleConflict.getDifferences().contains(rightRemovedTitleDiff)); + assertTrue(titleConflict.getDifferences().contains(rightUnsetTitleTypeDiff)); + assertSame(ConflictKind.PSEUDO, titleConflict.getKind()); + + assertSame(Integer.valueOf(5), Integer.valueOf(comparison.getConflicts().size())); }
}
|