本文整理汇总了Java中org.eclipse.emf.compare.Comparison.getDifferences方法的典型用法代码示例。如果您正苦于以下问题:Java Comparison.getDifferences方法的具体用法?Java Comparison.getDifferences怎么用?Java Comparison.getDifferences使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.eclipse.emf.compare.Comparison
的用法示例。
在下文中一共展示了Comparison.getDifferences方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: postComparison
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
@Override
public void postComparison(Comparison comparison, Monitor monitor) {
for (Diff diff : comparison.getDifferences()) {
if (diff instanceof EdgeChange) {
EdgeChange edgeChange = (EdgeChange) diff;
switch (edgeChange.getKind()) {
case ADD:
postProcessEdgeAddition(edgeChange);
break;
case DELETE:
postProcessEdgeDeletion(edgeChange);
break;
default: // do nothing
}
}
}
}
示例2: testConditionMatchUnaryExpression
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Test insertion of new statements
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testConditionMatchUnaryExpression() throws Exception {
File testFileA = new File(basePath + "a/ConditionMatchUnaryExpression.java");
File testFileB = new File(basePath + "b/ConditionMatchUnaryExpression.java");
ResourceSet rsA = TestUtil.loadResourceSet(Sets.newHashSet(testFileA));
ResourceSet rsB = TestUtil.loadResourceSet(Sets.newHashSet(testFileB));
JaMoPPDiffer differ = new JaMoPPDiffer();
Comparison comparison = differ.doDiff(rsA, rsB, TestUtil.getDiffOptions());
EList<Diff> differences = comparison.getDifferences();
assertThat("Wrong number of differences", differences.size(), is(1));
assertThat("Wrong number of differences", differences.get(0).getKind(), is(DifferenceKind.ADD));
Condition cond = (Condition) ((StatementChange) differences.get(0)).getChangedStatement();
Return returnStmnt = (Return) ((Block) cond.getStatement()).getStatements().get(0);
StringReference returnValue = (StringReference) returnStmnt.getReturnValue();
assertThat("Wrong condition detected in change", returnValue.getValue(), equalTo("new unary conditional"));
}
示例3: testConditionMatchOrExpression
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Test insertion of new statements
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testConditionMatchOrExpression() throws Exception {
File testFileA = new File(basePath + "a/ConditionMatchOrExpression.java");
File testFileB = new File(basePath + "b/ConditionMatchOrExpression.java");
ResourceSet rsA = TestUtil.loadResourceSet(Sets.newHashSet(testFileA));
ResourceSet rsB = TestUtil.loadResourceSet(Sets.newHashSet(testFileB));
JaMoPPDiffer differ = new JaMoPPDiffer();
Comparison comparison = differ.doDiff(rsA, rsB, TestUtil.getDiffOptions());
EList<Diff> differences = comparison.getDifferences();
assertThat("Wrong number of differences", differences.size(), is(1));
assertThat("Wrong number of differences", differences.get(0).getKind(), is(DifferenceKind.ADD));
Condition cond = (Condition) ((StatementChange) differences.get(0)).getChangedStatement();
Return returnStmnt = (Return) ((Block) cond.getStatement()).getStatements().get(0);
StringReference returnValue = (StringReference) returnStmnt.getReturnValue();
assertThat("Wrong condition detected in change", returnValue.getValue(), equalTo("new conditional"));
}
示例4: testRemovedFromTheMiddleDiff
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Test new field declarations to ignore field order.
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testRemovedFromTheMiddleDiff() throws Exception {
TestUtil.setUp();
File testFileA = new File(basePathA + "RemovedFromTheMiddle.java");
File testFileB = new File(basePathB + "RemovedFromTheMiddle.java");
ResourceSet rsLeading = TestUtil.loadResourceSet(Sets.newHashSet(testFileA));
ResourceSet rsIntegration = TestUtil.loadResourceSet(Sets.newHashSet(testFileB));
JaMoPPDiffer differ = new JaMoPPDiffer();
Comparison comparison = differ.doDiff(rsLeading, rsIntegration, TestUtil.getDiffOptions());
EList<Diff> differences = comparison.getDifferences();
assertThat("1 difference should be detected", differences.size(), is(1));
FieldChange change = (FieldChange) differences.get(0);
assertThat("Diff should be FieldChange", change, is(instanceOf(FieldChange.class)));
assertThat("Wrong diff kind", change.getKind(), is(DifferenceKind.DELETE));
Field field = change.getChangedField();
assertThat("Wrong field name", field.getName(), is("removeField"));
}
示例5: testStringInitialization
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Test the correct detection of a new local variable declaration in a method.
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testStringInitialization() throws Exception {
File fileLeading = new File(BASE_PATH + "a/StringInitialization.java");
File fileIntegration = new File(BASE_PATH + "b/StringInitialization.java");
ResourceSet rsLeading = TestUtil.loadResourceSet(Sets.newHashSet(fileLeading));
ResourceSet rsIntegration = TestUtil.loadResourceSet(Sets.newHashSet(fileIntegration));
JaMoPPDiffer differ = new JaMoPPDiffer();
Comparison comparison = differ.doDiff(rsLeading, rsIntegration, TestUtil.getDiffOptions());
EList<Diff> differences = comparison.getDifferences();
assertThat("Wrong number of differences", differences.size(), is(0));
}
示例6: testNotMatchingStatements
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Tests whether the differ finds differences of two different statements in case the model of
* one statement was artificially modified.
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testNotMatchingStatements() throws Exception {
ResourceSet setA = TestUtil.extractModel(BASE_PATH + "NotMatchingStatements/a");
ResourceSet setB = TestUtil.extractModel(BASE_PATH + "NotMatchingStatements/b");
ClassMethod methodA = searchMethodElement(setA);
ClassMethod methodB = searchMethodElement(setB);
Statement statementA = methodA.getStatements().get(0);
Statement statementB = methodB.getStatements().get(0);
// here we match a expression statement with a condition which should result in diffs
JaMoPPDiffer differ = new JaMoPPDiffer();
Map<String, String> diffOptions = Maps.newHashMap();
Comparison comparison = differ.doDiff(statementA, statementB, diffOptions);
EList<Diff> differences = comparison.getDifferences();
assertThat("Exactly two changes should exist", differences.size(), is(2));
Diff diff1 = differences.get(0);
assertThat(diff1, instanceOf(StatementChange.class));
Diff diff2 = differences.get(1);
assertThat(diff2, instanceOf(StatementChange.class));
}
示例7: testDerivedCopyWithIgnoreImports
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Test method to detect changes in the class and package declarations.
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testDerivedCopyWithIgnoreImports() throws Exception {
String basePath = "testmodels/implementation/derivedcopyimport/";
ResourceSet setA = TestUtil.extractModel(basePath + "a");
ResourceSet setB = TestUtil.extractModel(basePath + "b");
StringBuilder packageMapping = new StringBuilder();
StringBuilder classifierNormalization = new StringBuilder();
classifierNormalization.append("*Custom");
JaMoPPDiffer differ = new JaMoPPDiffer();
Map<String, String> diffOptions = TestUtil.getDiffOptions();
diffOptions.put(JaMoPPDiffer.OPTION_JAVA_PACKAGE_NORMALIZATION, packageMapping.toString());
diffOptions.put(JaMoPPDiffer.OPTION_JAVA_CLASSIFIER_NORMALIZATION, classifierNormalization.toString());
diffOptions.put(JaMoPPPostProcessor.OPTION_DIFF_CLEANUP_DERIVED_COPIES, "true");
Comparison comparison = differ.doDiff(setA, setB, diffOptions);
EList<Diff> differences = comparison.getDifferences();
assertThat("No diff because not present imports must not be detected as deleted", differences.size(), is(0));
}
示例8: testChangeInsideSiblingBlockDiff
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Test insertion of new statements
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testChangeInsideSiblingBlockDiff() throws Exception {
File testFileA = new File(basePath + "a/ChangeInsideSiblingBlock.java");
File testFileB = new File(basePath + "b/ChangeInsideSiblingBlock.java");
ResourceSet rsA = TestUtil.loadResourceSet(Sets.newHashSet(testFileA));
ResourceSet rsB = TestUtil.loadResourceSet(Sets.newHashSet(testFileB));
JavaSourceOrClassFileResource resA = (JavaSourceOrClassFileResource) rsA.getResources().get(0);
assertThat("Errors during Extraction " + resA.getErrors(), resA.getErrors().size(), is(0));
JavaSourceOrClassFileResource resB = (JavaSourceOrClassFileResource) rsA.getResources().get(0);
assertThat("Errors during Extraction " + resB.getErrors(), resB.getErrors().size(), is(0));
JaMoPPDiffer differ = new JaMoPPDiffer();
Comparison comparison = differ.doDiff(rsA, rsB, TestUtil.getDiffOptions());
EList<Diff> differences = comparison.getDifferences();
assertThat("Wrong number of differences", differences.size(), is(2));
}
示例9: testStaticInitializationDiff
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Test statement changes in a static initialization block.
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testStaticInitializationDiff() throws Exception {
File testFileA = new File(basePath + "a/StaticInitialization.java");
File testFileB = new File(basePath + "b/StaticInitialization.java");
ResourceSet rsA = TestUtil.loadResourceSet(Sets.newHashSet(testFileA));
ResourceSet rsB = TestUtil.loadResourceSet(Sets.newHashSet(testFileB));
JaMoPPDiffer differ = new JaMoPPDiffer();
Comparison comparison = differ.doDiff(rsA, rsB, TestUtil.getDiffOptions());
EList<Diff> differences = comparison.getDifferences();
assertThat("Wrong number of differences", differences.size(), is(2));
// TODO Implement static initializer test
// StatementChange change = (StatementChange) differences.get(1);
// LocalVariableStatement statement = (LocalVariableStatement) change.getChangedStatement();
// assertThat("Wrong var detected as changed.", statement.getVariable().getName(),
// equalTo("varMiddle"));
}
示例10: testConditionMatchInstanceOfExpression
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Test insertion of new statements
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testConditionMatchInstanceOfExpression() throws Exception {
File testFileA = new File(basePath + "a/ConditionMatchInstanceOfExpression.java");
File testFileB = new File(basePath + "b/ConditionMatchInstanceOfExpression.java");
ResourceSet rsA = TestUtil.loadResourceSet(Sets.newHashSet(testFileA));
ResourceSet rsB = TestUtil.loadResourceSet(Sets.newHashSet(testFileB));
JaMoPPDiffer differ = new JaMoPPDiffer();
Comparison comparison = differ.doDiff(rsA, rsB, TestUtil.getDiffOptions());
EList<Diff> differences = comparison.getDifferences();
assertThat("Wrong number of differences", differences.size(), is(1));
assertThat("Wrong number of differences", differences.get(0).getKind(), is(DifferenceKind.ADD));
Condition cond = (Condition) ((StatementChange) differences.get(0)).getChangedStatement();
Return returnStmnt = (Return) ((Block) cond.getStatement()).getStatements().get(0);
StringReference returnValue = (StringReference) returnStmnt.getReturnValue();
assertThat("Wrong condition detected in change", returnValue.getValue(), equalTo("new instanceof conditional"));
}
示例11: testArrayItemAccessWithSameContainerIdentifierDiff
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Test diffing of array access by an identifier within the same container. This test case is
* part of the fix for a bug causing a StackOverflowError (SPLEVO-427).
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testArrayItemAccessWithSameContainerIdentifierDiff() throws Exception {
File testFileA = new File(basePath + "a/ArrayItemAccessWithSameContainerIdentifier.java");
File testFileB = new File(basePath + "b/ArrayItemAccessWithSameContainerIdentifier.java");
ResourceSet rsA = TestUtil.loadResourceSet(Sets.newHashSet(testFileA));
ResourceSet rsB = TestUtil.loadResourceSet(Sets.newHashSet(testFileB));
JaMoPPDiffer differ = new JaMoPPDiffer();
Comparison comparison = differ.doDiff(rsA, rsB, TestUtil.getDiffOptions());
EList<Diff> differences = comparison.getDifferences();
assertThat("Wrong number of differences", differences.size(), is(0));
}
示例12: testEnumAccessesDiff
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Test diffing of enum value accesses.
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testEnumAccessesDiff() throws Exception {
File testFileA = new File(basePath + "a/EnumAccesses.java");
File testFileB = new File(basePath + "b/EnumAccesses.java");
ResourceSet rsA = TestUtil.loadResourceSet(Sets.newHashSet(testFileA));
ResourceSet rsB = TestUtil.loadResourceSet(Sets.newHashSet(testFileB));
JaMoPPDiffer differ = new JaMoPPDiffer();
Comparison comparison = differ.doDiff(rsA, rsB, TestUtil.getDiffOptions());
EList<Diff> differences = comparison.getDifferences();
assertThat("Wrong number of differences", differences.size(), is(0));
}
示例13: testLoopStatementDiff
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Test insertion of new statements
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testLoopStatementDiff() throws Exception {
File testFileA = new File(basePath + "a/LoopStatements.java");
File testFileB = new File(basePath + "b/LoopStatements.java");
ResourceSet rsA = TestUtil.loadResourceSet(Sets.newHashSet(testFileA));
ResourceSet rsB = TestUtil.loadResourceSet(Sets.newHashSet(testFileB));
JaMoPPDiffer differ = new JaMoPPDiffer();
Comparison comparison = differ.doDiff(rsA, rsB, TestUtil.getDiffOptions());
EList<Diff> differences = comparison.getDifferences();
assertThat("Wrong number of differences", differences.size(), is(3));
}
示例14: testDoDiff
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Test method to detect changes in the class and package declarations.
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testDoDiff() throws Exception {
TestUtil.setUp();
JaMoPPDiffer differ = new JaMoPPDiffer();
Map<String, String> diffOptions = TestUtil.getDiffOptions();
Comparison comparison = differ.doDiff(setA, setB, diffOptions);
EList<Diff> differences = comparison.getDifferences();
for (Diff diffElement : differences) {
logger.debug(diffElement.getClass().getSimpleName());
if (diffElement instanceof StatementChange) {
StatementChange change = (StatementChange) diffElement;
logger.debug(TestUtil.printDiff(change));
}
}
assertThat("Exactly one change should exist", differences.size(), is(1));
Diff diff = differences.get(0);
assertThat(diff, instanceOf(StatementChange.class));
}
示例15: testIfStatementDiff
import org.eclipse.emf.compare.Comparison; //导入方法依赖的package包/类
/**
* Test insertion of new statements
*
* @throws Exception
* Identifies a failed diffing.
*/
@Test
public void testIfStatementDiff() throws Exception {
File testFileA = new File(basePath + "a/IfStatements.java");
File testFileB = new File(basePath + "b/IfStatements.java");
ResourceSet rsA = TestUtil.loadResourceSet(Sets.newHashSet(testFileA));
ResourceSet rsB = TestUtil.loadResourceSet(Sets.newHashSet(testFileB));
JaMoPPDiffer differ = new JaMoPPDiffer();
Comparison comparison = differ.doDiff(rsA, rsB, TestUtil.getDiffOptions());
EList<Diff> differences = comparison.getDifferences();
assertThat("Wrong number of differences", differences.size(), is(4));
}