/** * Copyright (c) 2014 Obeo. * 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 */ package org.eclipse.emf.compare.tests.fullcomparison; import static com.google.common.collect.Iterators.filter; import static com.google.common.collect.Iterators.size; import static org.eclipse.emf.compare.utils.EMFComparePredicates.ofKind; import static org.junit.Assert.assertEquals; import com.google.common.base.Predicate; import com.google.common.collect.UnmodifiableIterator; import java.io.IOException; import java.util.List; import org.eclipse.emf.compare.Comparison; import org.eclipse.emf.compare.Diff; import org.eclipse.emf.compare.DifferenceKind; 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.generics.GenericsMatchInputData; import org.eclipse.emf.ecore.resource.Resource; import org.junit.Test; public class GenericsTest { private GenericsMatchInputData inputData = new GenericsMatchInputData(); @Test public void test1() throws IOException { final Resource left = inputData.getLeft(); final Resource right = inputData.getRight(); final IComparisonScope scope = new DefaultComparisonScope(left, right, null); final Comparison comparison = EMFCompare.builder().build().compare(scope); final List<Diff> differences = comparison.getDifferences(); assertEquals(38, differences.size()); final Predicate<? super Diff> addKind = ofKind(DifferenceKind.ADD); UnmodifiableIterator<Diff> addDiffs = filter(differences.iterator(), addKind); assertEquals(22, size(addDiffs)); final Predicate<? super Diff> deleteKind = ofKind(DifferenceKind.DELETE); UnmodifiableIterator<Diff> deleteDiffs = filter(differences.iterator(), deleteKind); assertEquals(1, size(deleteDiffs)); final Predicate<? super Diff> changeKind = ofKind(DifferenceKind.CHANGE); UnmodifiableIterator<Diff> changeDiffs = filter(differences.iterator(), changeKind); assertEquals(15, size(changeDiffs)); } }