blob: fdd034d64da0a25a2180346fcc372429c3f9acc2 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012, 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.unit;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.eclipse.emf.compare.AttributeChange;
import org.eclipse.emf.compare.CompareFactory;
import org.eclipse.emf.compare.ComparePackage;
import org.eclipse.emf.compare.Comparison;
import org.eclipse.emf.compare.Conflict;
import org.eclipse.emf.compare.ConflictKind;
import org.eclipse.emf.compare.Diff;
import org.eclipse.emf.compare.DifferenceKind;
import org.eclipse.emf.compare.DifferenceSource;
import org.eclipse.emf.compare.DifferenceState;
import org.eclipse.emf.compare.Equivalence;
import org.eclipse.emf.compare.Match;
import org.eclipse.emf.compare.MatchResource;
import org.eclipse.emf.compare.ReferenceChange;
import org.eclipse.emf.compare.ResourceAttachmentChange;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EcoreFactory;
import org.eclipse.emf.ecore.impl.EClassifierImpl;
import org.junit.Test;
/**
* Tests the behavior of the {@link CompareFactory generated factory} for package compare.
*
* @generated
*/
@SuppressWarnings("nls")
public class CompareFactoryTest {
/**
* Ensures that creating {@link Comparison} can be done through the factory.
*
* @generated
*/
@Test
public void testCreateComparison() {
Object result = CompareFactory.eINSTANCE.createComparison();
assertNotNull(result);
assertTrue(result instanceof Comparison);
result = CompareFactory.eINSTANCE.create(ComparePackage.Literals.COMPARISON);
assertNotNull(result);
assertTrue(result instanceof Comparison);
}
/**
* Ensures that creating {@link MatchResource} can be done through the factory.
*
* @generated
*/
@Test
public void testCreateMatchResource() {
Object result = CompareFactory.eINSTANCE.createMatchResource();
assertNotNull(result);
assertTrue(result instanceof MatchResource);
result = CompareFactory.eINSTANCE.create(ComparePackage.Literals.MATCH_RESOURCE);
assertNotNull(result);
assertTrue(result instanceof MatchResource);
}
/**
* Ensures that creating {@link Match} can be done through the factory.
*
* @generated
*/
@Test
public void testCreateMatch() {
Object result = CompareFactory.eINSTANCE.createMatch();
assertNotNull(result);
assertTrue(result instanceof Match);
result = CompareFactory.eINSTANCE.create(ComparePackage.Literals.MATCH);
assertNotNull(result);
assertTrue(result instanceof Match);
}
/**
* Ensures that creating {@link Diff} can be done through the factory.
*
* @generated
*/
@Test
public void testCreateDiff() {
Object result = CompareFactory.eINSTANCE.createDiff();
assertNotNull(result);
assertTrue(result instanceof Diff);
result = CompareFactory.eINSTANCE.create(ComparePackage.Literals.DIFF);
assertNotNull(result);
assertTrue(result instanceof Diff);
}
/**
* Ensures that creating {@link ResourceAttachmentChange} can be done through the factory.
*
* @generated
*/
@Test
public void testCreateResourceAttachmentChange() {
Object result = CompareFactory.eINSTANCE.createResourceAttachmentChange();
assertNotNull(result);
assertTrue(result instanceof ResourceAttachmentChange);
result = CompareFactory.eINSTANCE.create(ComparePackage.Literals.RESOURCE_ATTACHMENT_CHANGE);
assertNotNull(result);
assertTrue(result instanceof ResourceAttachmentChange);
}
/**
* Ensures that creating {@link ReferenceChange} can be done through the factory.
*
* @generated
*/
@Test
public void testCreateReferenceChange() {
Object result = CompareFactory.eINSTANCE.createReferenceChange();
assertNotNull(result);
assertTrue(result instanceof ReferenceChange);
result = CompareFactory.eINSTANCE.create(ComparePackage.Literals.REFERENCE_CHANGE);
assertNotNull(result);
assertTrue(result instanceof ReferenceChange);
}
/**
* Ensures that creating {@link AttributeChange} can be done through the factory.
*
* @generated
*/
@Test
public void testCreateAttributeChange() {
Object result = CompareFactory.eINSTANCE.createAttributeChange();
assertNotNull(result);
assertTrue(result instanceof AttributeChange);
result = CompareFactory.eINSTANCE.create(ComparePackage.Literals.ATTRIBUTE_CHANGE);
assertNotNull(result);
assertTrue(result instanceof AttributeChange);
}
/**
* Ensures that creating {@link Conflict} can be done through the factory.
*
* @generated
*/
@Test
public void testCreateConflict() {
Object result = CompareFactory.eINSTANCE.createConflict();
assertNotNull(result);
assertTrue(result instanceof Conflict);
result = CompareFactory.eINSTANCE.create(ComparePackage.Literals.CONFLICT);
assertNotNull(result);
assertTrue(result instanceof Conflict);
}
/**
* Ensures that creating {@link Equivalence} can be done through the factory.
*
* @generated
*/
@Test
public void testCreateEquivalence() {
Object result = CompareFactory.eINSTANCE.createEquivalence();
assertNotNull(result);
assertTrue(result instanceof Equivalence);
result = CompareFactory.eINSTANCE.create(ComparePackage.Literals.EQUIVALENCE);
assertNotNull(result);
assertTrue(result instanceof Equivalence);
}
/**
* Ensures that trying to create an {@link EClass} from another package yields the expected exception.
*
* @generated
*/
@Test
public void testCreateUnknownEClass() {
try {
EClass eClass = EcoreFactory.eINSTANCE.createEClass();
((EClassifierImpl)eClass).setClassifierID(-1);
CompareFactory.eINSTANCE.create(eClass);
fail("Expected IllegalArgumentException hasn't been thrown");
} catch (IllegalArgumentException e) {
// Expected behavior
}
}
/**
* Ensures that converting {@link DifferenceKind} to String can be done through the factory.
*
* @generated
*/
@Test
public void testConvertDifferenceKindToString() {
for (DifferenceKind value : DifferenceKind.VALUES) {
Object result = CompareFactory.eINSTANCE.convertToString(ComparePackage.Literals.DIFFERENCE_KIND,
value);
assertNotNull(result);
assertEquals(value.toString(), result);
}
}
/**
* Ensures that converting {@link DifferenceSource} to String can be done through the factory.
*
* @generated
*/
@Test
public void testConvertDifferenceSourceToString() {
for (DifferenceSource value : DifferenceSource.VALUES) {
Object result = CompareFactory.eINSTANCE.convertToString(
ComparePackage.Literals.DIFFERENCE_SOURCE, value);
assertNotNull(result);
assertEquals(value.toString(), result);
}
}
/**
* Ensures that converting {@link DifferenceState} to String can be done through the factory.
*
* @generated
*/
@Test
public void testConvertDifferenceStateToString() {
for (DifferenceState value : DifferenceState.VALUES) {
Object result = CompareFactory.eINSTANCE.convertToString(
ComparePackage.Literals.DIFFERENCE_STATE, value);
assertNotNull(result);
assertEquals(value.toString(), result);
}
}
/**
* Ensures that converting {@link ConflictKind} to String can be done through the factory.
*
* @generated
*/
@Test
public void testConvertConflictKindToString() {
for (ConflictKind value : ConflictKind.VALUES) {
Object result = CompareFactory.eINSTANCE.convertToString(ComparePackage.Literals.CONFLICT_KIND,
value);
assertNotNull(result);
assertEquals(value.toString(), result);
}
}
/**
* Ensures that trying to convert an {@link EEnum} from another package to String yields the expected
* exception.
*
* @generated
*/
@Test
public void testConvertUnknownEEnumToString() {
try {
EEnum eEnum = EcoreFactory.eINSTANCE.createEEnum();
((EClassifierImpl)eEnum).setClassifierID(-1);
CompareFactory.eINSTANCE.convertToString(eEnum, eEnum);
fail("Expected IllegalArgumentException hasn't been thrown");
} catch (IllegalArgumentException e) {
// Expected behavior
}
}
/**
* Ensures that creating {@link DifferenceKind} from String can be done through the factory.
*
* @generated
*/
@Test
public void testCreateDifferenceKindFromString() {
for (DifferenceKind value : DifferenceKind.VALUES) {
Object result = CompareFactory.eINSTANCE.createFromString(
ComparePackage.Literals.DIFFERENCE_KIND, value.getLiteral());
assertNotNull(result);
assertSame(value, result);
try {
CompareFactory.eINSTANCE.createFromString(ComparePackage.Literals.DIFFERENCE_KIND,
"ThisShouldntBeAKnownEEnumLiteral");
fail("Expected IllegalArgumentException hasn't been thrown");
} catch (IllegalArgumentException e) {
// Expected behavior
}
}
}
/**
* Ensures that creating {@link DifferenceSource} from String can be done through the factory.
*
* @generated
*/
@Test
public void testCreateDifferenceSourceFromString() {
for (DifferenceSource value : DifferenceSource.VALUES) {
Object result = CompareFactory.eINSTANCE.createFromString(
ComparePackage.Literals.DIFFERENCE_SOURCE, value.getLiteral());
assertNotNull(result);
assertSame(value, result);
try {
CompareFactory.eINSTANCE.createFromString(ComparePackage.Literals.DIFFERENCE_SOURCE,
"ThisShouldntBeAKnownEEnumLiteral");
fail("Expected IllegalArgumentException hasn't been thrown");
} catch (IllegalArgumentException e) {
// Expected behavior
}
}
}
/**
* Ensures that creating {@link DifferenceState} from String can be done through the factory.
*
* @generated
*/
@Test
public void testCreateDifferenceStateFromString() {
for (DifferenceState value : DifferenceState.VALUES) {
Object result = CompareFactory.eINSTANCE.createFromString(
ComparePackage.Literals.DIFFERENCE_STATE, value.getLiteral());
assertNotNull(result);
assertSame(value, result);
try {
CompareFactory.eINSTANCE.createFromString(ComparePackage.Literals.DIFFERENCE_STATE,
"ThisShouldntBeAKnownEEnumLiteral");
fail("Expected IllegalArgumentException hasn't been thrown");
} catch (IllegalArgumentException e) {
// Expected behavior
}
}
}
/**
* Ensures that creating {@link ConflictKind} from String can be done through the factory.
*
* @generated
*/
@Test
public void testCreateConflictKindFromString() {
for (ConflictKind value : ConflictKind.VALUES) {
Object result = CompareFactory.eINSTANCE.createFromString(ComparePackage.Literals.CONFLICT_KIND,
value.getLiteral());
assertNotNull(result);
assertSame(value, result);
try {
CompareFactory.eINSTANCE.createFromString(ComparePackage.Literals.CONFLICT_KIND,
"ThisShouldntBeAKnownEEnumLiteral");
fail("Expected IllegalArgumentException hasn't been thrown");
} catch (IllegalArgumentException e) {
// Expected behavior
}
}
}
/**
* Ensures that trying to create an {@link EEnum} from another package from String yields the expected
* exception.
*
* @generated
*/
@Test
public void testCreateUnknownEEnumFromString() {
try {
EEnum eEnum = EcoreFactory.eINSTANCE.createEEnum();
((EClassifierImpl)eEnum).setClassifierID(-1);
CompareFactory.eINSTANCE.createFromString(eEnum, "ThisShouldntBeAKnownEEnumLiteral");
fail("Expected IllegalArgumentException hasn't been thrown");
} catch (IllegalArgumentException e) {
// Expected behavior
}
}
}