当前位置: 首页>>代码示例>>Java>>正文


Java Comparison.getDifferences方法代码示例

本文整理汇总了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
			}

		}
	}
}
 
开发者ID:Yakindu,项目名称:statecharts,代码行数:19,代码来源:EdgeChangePostProcessor.java

示例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"));
}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:28,代码来源:StatementTest.java

示例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"));
}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:28,代码来源:StatementTest.java

示例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"));
}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:28,代码来源:FieldDeclarationTest.java

示例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));
}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:22,代码来源:VariableDeclarationStatementDiffingTest.java

示例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));
}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:31,代码来源:JaMoPPElementComparisonTest.java

示例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));
}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:31,代码来源:DerivedCopyTest.java

示例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));
}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:27,代码来源:StatementTest.java

示例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"));

}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:28,代码来源:StatementTest.java

示例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"));
}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:28,代码来源:StatementTest.java

示例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));
}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:23,代码来源:StatementTest.java

示例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));
}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:22,代码来源:StatementTest.java

示例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));
}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:22,代码来源:StatementTest.java

示例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));
}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:29,代码来源:MethodCallTest.java

示例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));
}
 
开发者ID:kopl,项目名称:SPLevo,代码行数:22,代码来源:StatementTest.java


注:本文中的org.eclipse.emf.compare.Comparison.getDifferences方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。