Skip to main content
summaryrefslogblamecommitdiffstats
blob: 65d25498f6b29ff79bb2dad76f45e59c09880bef (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                                                                
                                 







                                                                                 

                                           




                                            






































































































































































































































































                                                                                                                   
                                                                                



                     

                                                                                                                    

                                                                  
                                                                                                                       


                                                     
                                                  
 
                                                      

                                     
                                                                    

                                                                             
                                                 
                                                                             



                                     


                                                                             
                                                  
                                                                              
 
                                                      

                                     
                                                                    

                                                                             
                                                 
                                                                             
 
                                                     

                                     
                                                                    

                                                                             
                                                 
                                                                             
 
                                          

                                     



                                                                             
                                                  
                                                                              



















































































































                                                                                                                              





































































































                                                                                                                                    
 
/*******************************************************************************
 * 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.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.emf.compare.CompareFactory;
import org.eclipse.emf.compare.Diff;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.junit.Test;

/**
 * Tests the behavior of the {@link Diff} class.
 * 
 * @generated
 */
public class DiffTest extends AbstractCompareTest {
	/**
	 * Tests the behavior of reference <code>requires</code>'s accessors.
	 * 
	 * @generated
	 */
	@Test
	public void testRequires() {
		EStructuralFeature feature = org.eclipse.emf.compare.ComparePackage.eINSTANCE.getDiff_Requires();
		Diff diff = CompareFactory.eINSTANCE.createDiff();
		diff.eAdapters().add(new MockEAdapter());
		org.eclipse.emf.compare.Diff requiresValue = org.eclipse.emf.compare.CompareFactory.eINSTANCE
				.createDiff();
		List<org.eclipse.emf.compare.Diff> listRequires = new ArrayList<org.eclipse.emf.compare.Diff>(1);
		listRequires.add(requiresValue);

		assertFalse(diff.eIsSet(feature));
		assertTrue(diff.getRequires().isEmpty());

		diff.getRequires().add(requiresValue);
		assertTrue(notified);
		notified = false;
		assertTrue(diff.getRequires().contains(requiresValue));
		assertSame(diff.getRequires(), diff.eGet(feature));
		assertSame(diff.getRequires(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(requiresValue.getRequiredBy().contains(diff));

		diff.eUnset(feature);
		assertTrue(notified);
		notified = false;
		assertTrue(diff.getRequires().isEmpty());
		assertSame(diff.getRequires(), diff.eGet(feature));
		assertSame(diff.getRequires(), diff.eGet(feature, false));
		assertFalse(diff.eIsSet(feature));
		assertFalse(requiresValue.getRequiredBy().contains(diff));

		diff.eSet(feature, listRequires);
		assertTrue(notified);
		notified = false;
		assertTrue(diff.getRequires().contains(requiresValue));
		assertSame(diff.getRequires(), diff.eGet(feature));
		assertSame(diff.getRequires(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(requiresValue.getRequiredBy().contains(diff));
	}

	/**
	 * Tests the behavior of reference <code>requiredBy</code>'s accessors.
	 * 
	 * @generated
	 */
	@Test
	public void testRequiredBy() {
		EStructuralFeature feature = org.eclipse.emf.compare.ComparePackage.eINSTANCE.getDiff_RequiredBy();
		Diff diff = CompareFactory.eINSTANCE.createDiff();
		diff.eAdapters().add(new MockEAdapter());
		org.eclipse.emf.compare.Diff requiredByValue = org.eclipse.emf.compare.CompareFactory.eINSTANCE
				.createDiff();
		List<org.eclipse.emf.compare.Diff> listRequiredBy = new ArrayList<org.eclipse.emf.compare.Diff>(1);
		listRequiredBy.add(requiredByValue);

		assertFalse(diff.eIsSet(feature));
		assertTrue(diff.getRequiredBy().isEmpty());

		diff.getRequiredBy().add(requiredByValue);
		assertTrue(notified);
		notified = false;
		assertTrue(diff.getRequiredBy().contains(requiredByValue));
		assertSame(diff.getRequiredBy(), diff.eGet(feature));
		assertSame(diff.getRequiredBy(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(requiredByValue.getRequires().contains(diff));

		diff.eUnset(feature);
		assertTrue(notified);
		notified = false;
		assertTrue(diff.getRequiredBy().isEmpty());
		assertSame(diff.getRequiredBy(), diff.eGet(feature));
		assertSame(diff.getRequiredBy(), diff.eGet(feature, false));
		assertFalse(diff.eIsSet(feature));
		assertFalse(requiredByValue.getRequires().contains(diff));

		diff.eSet(feature, listRequiredBy);
		assertTrue(notified);
		notified = false;
		assertTrue(diff.getRequiredBy().contains(requiredByValue));
		assertSame(diff.getRequiredBy(), diff.eGet(feature));
		assertSame(diff.getRequiredBy(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(requiredByValue.getRequires().contains(diff));
	}

	/**
	 * Tests the behavior of reference <code>refines</code>'s accessors.
	 * 
	 * @generated
	 */
	@Test
	public void testRefines() {
		EStructuralFeature feature = org.eclipse.emf.compare.ComparePackage.eINSTANCE.getDiff_Refines();
		Diff diff = CompareFactory.eINSTANCE.createDiff();
		diff.eAdapters().add(new MockEAdapter());
		org.eclipse.emf.compare.Diff refinesValue = org.eclipse.emf.compare.CompareFactory.eINSTANCE
				.createDiff();
		List<org.eclipse.emf.compare.Diff> listRefines = new ArrayList<org.eclipse.emf.compare.Diff>(1);
		listRefines.add(refinesValue);

		assertFalse(diff.eIsSet(feature));
		assertTrue(diff.getRefines().isEmpty());

		diff.getRefines().add(refinesValue);
		assertTrue(notified);
		notified = false;
		assertTrue(diff.getRefines().contains(refinesValue));
		assertSame(diff.getRefines(), diff.eGet(feature));
		assertSame(diff.getRefines(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(refinesValue.getRefinedBy().contains(diff));

		diff.eUnset(feature);
		assertTrue(notified);
		notified = false;
		assertTrue(diff.getRefines().isEmpty());
		assertSame(diff.getRefines(), diff.eGet(feature));
		assertSame(diff.getRefines(), diff.eGet(feature, false));
		assertFalse(diff.eIsSet(feature));
		assertFalse(refinesValue.getRefinedBy().contains(diff));

		diff.eSet(feature, listRefines);
		assertTrue(notified);
		notified = false;
		assertTrue(diff.getRefines().contains(refinesValue));
		assertSame(diff.getRefines(), diff.eGet(feature));
		assertSame(diff.getRefines(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(refinesValue.getRefinedBy().contains(diff));
	}

	/**
	 * Tests the behavior of reference <code>refinedBy</code>'s accessors.
	 * 
	 * @generated
	 */
	@Test
	public void testRefinedBy() {
		EStructuralFeature feature = org.eclipse.emf.compare.ComparePackage.eINSTANCE.getDiff_RefinedBy();
		Diff diff = CompareFactory.eINSTANCE.createDiff();
		diff.eAdapters().add(new MockEAdapter());
		org.eclipse.emf.compare.Diff refinedByValue = org.eclipse.emf.compare.CompareFactory.eINSTANCE
				.createDiff();
		List<org.eclipse.emf.compare.Diff> listRefinedBy = new ArrayList<org.eclipse.emf.compare.Diff>(1);
		listRefinedBy.add(refinedByValue);

		assertFalse(diff.eIsSet(feature));
		assertTrue(diff.getRefinedBy().isEmpty());

		diff.getRefinedBy().add(refinedByValue);
		assertTrue(notified);
		notified = false;
		assertTrue(diff.getRefinedBy().contains(refinedByValue));
		assertSame(diff.getRefinedBy(), diff.eGet(feature));
		assertSame(diff.getRefinedBy(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(refinedByValue.getRefines().contains(diff));

		diff.eUnset(feature);
		assertTrue(notified);
		notified = false;
		assertTrue(diff.getRefinedBy().isEmpty());
		assertSame(diff.getRefinedBy(), diff.eGet(feature));
		assertSame(diff.getRefinedBy(), diff.eGet(feature, false));
		assertFalse(diff.eIsSet(feature));
		assertFalse(refinedByValue.getRefines().contains(diff));

		diff.eSet(feature, listRefinedBy);
		assertTrue(notified);
		notified = false;
		assertTrue(diff.getRefinedBy().contains(refinedByValue));
		assertSame(diff.getRefinedBy(), diff.eGet(feature));
		assertSame(diff.getRefinedBy(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(refinedByValue.getRefines().contains(diff));
	}

	/**
	 * Tests the behavior of reference <code>match</code>'s accessors.
	 * 
	 * @generated
	 */
	@Test
	public void testMatch() {
		EStructuralFeature feature = org.eclipse.emf.compare.ComparePackage.eINSTANCE.getDiff_Match();
		Diff diff = CompareFactory.eINSTANCE.createDiff();
		diff.eAdapters().add(new MockEAdapter());
		org.eclipse.emf.compare.Match matchValue = org.eclipse.emf.compare.CompareFactory.eINSTANCE
				.createMatch();

		assertFalse(diff.eIsSet(feature));
		assertNull(diff.getMatch());

		diff.setMatch(matchValue);
		assertTrue(notified);
		notified = false;
		assertSame(matchValue, diff.getMatch());
		assertSame(diff.getMatch(), diff.eGet(feature));
		assertSame(diff.getMatch(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(matchValue.getDifferences().contains(diff));

		diff.eUnset(feature);
		assertTrue(notified);
		notified = false;
		assertNull(diff.getMatch());
		assertSame(diff.getMatch(), diff.eGet(feature));
		assertSame(diff.getMatch(), diff.eGet(feature, false));
		assertFalse(diff.eIsSet(feature));
		assertFalse(matchValue.getDifferences().contains(diff));

		diff.setMatch(matchValue);
		assertTrue(notified);
		notified = false;
		assertSame(matchValue, diff.getMatch());
		assertSame(diff.getMatch(), diff.eGet(feature));
		assertSame(diff.getMatch(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(matchValue.getDifferences().contains(diff));

		diff.eSet(feature, matchValue);
		assertTrue(notified);
		notified = false;
		assertSame(matchValue, diff.getMatch());
		assertSame(diff.getMatch(), diff.eGet(feature));
		assertSame(diff.getMatch(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(matchValue.getDifferences().contains(diff));

		diff.setMatch(null);
		assertTrue(notified);
		notified = false;
		assertNull(diff.getMatch());
		assertSame(feature.getDefaultValue(), diff.getMatch());
		assertSame(diff.getMatch(), diff.eGet(feature));
		assertSame(diff.getMatch(), diff.eGet(feature, false));
		assertFalse(diff.eIsSet(feature));
		assertFalse(matchValue.getDifferences().contains(diff));
	}

	/**
	 * Tests the behavior of reference <code>equivalence</code>'s accessors.
	 * 
	 * @generated
	 */
	@Test
	public void testEquivalence() {
		EStructuralFeature feature = org.eclipse.emf.compare.ComparePackage.eINSTANCE.getDiff_Equivalence();
		Diff diff = CompareFactory.eINSTANCE.createDiff();
		diff.eAdapters().add(new MockEAdapter());
		org.eclipse.emf.compare.Equivalence equivalenceValue = org.eclipse.emf.compare.CompareFactory.eINSTANCE
				.createEquivalence();

		assertFalse(diff.eIsSet(feature));
		assertNull(diff.getEquivalence());

		diff.setEquivalence(equivalenceValue);
		assertTrue(notified);
		notified = false;
		assertSame(equivalenceValue, diff.getEquivalence());
		assertSame(diff.getEquivalence(), diff.eGet(feature));
		assertSame(diff.getEquivalence(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(equivalenceValue.getDifferences().contains(diff));

		diff.eUnset(feature);
		assertTrue(notified);
		notified = false;
		assertNull(diff.getEquivalence());
		assertSame(diff.getEquivalence(), diff.eGet(feature));
		assertSame(diff.getEquivalence(), diff.eGet(feature, false));
		assertFalse(diff.eIsSet(feature));
		assertFalse(equivalenceValue.getDifferences().contains(diff));

		diff.setEquivalence(equivalenceValue);
		assertTrue(notified);
		notified = false;
		assertSame(equivalenceValue, diff.getEquivalence());
		assertSame(diff.getEquivalence(), diff.eGet(feature));
		assertSame(diff.getEquivalence(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(equivalenceValue.getDifferences().contains(diff));

		diff.eSet(feature, equivalenceValue);
		assertTrue(notified);
		notified = false;
		assertSame(equivalenceValue, diff.getEquivalence());
		assertSame(diff.getEquivalence(), diff.eGet(feature));
		assertSame(diff.getEquivalence(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(equivalenceValue.getDifferences().contains(diff));

		diff.setEquivalence(null);
		assertTrue(notified);
		notified = false;
		assertNull(diff.getEquivalence());
		assertSame(feature.getDefaultValue(), diff.getEquivalence());
		assertSame(diff.getEquivalence(), diff.eGet(feature));
		assertSame(diff.getEquivalence(), diff.eGet(feature, false));
		assertFalse(diff.eIsSet(feature));
		assertFalse(equivalenceValue.getDifferences().contains(diff));
	}

	/**
	 * Tests the behavior of reference <code>conflict</code>'s accessors.
	 * 
	 * @generated
	 */
	@Test
	public void testConflict() {
		EStructuralFeature feature = org.eclipse.emf.compare.ComparePackage.eINSTANCE.getDiff_Conflict();
		Diff diff = CompareFactory.eINSTANCE.createDiff();
		diff.eAdapters().add(new MockEAdapter());
		org.eclipse.emf.compare.Conflict conflictValue = org.eclipse.emf.compare.CompareFactory.eINSTANCE
				.createConflict();

		assertFalse(diff.eIsSet(feature));
		assertNull(diff.getConflict());

		diff.setConflict(conflictValue);
		assertTrue(notified);
		notified = false;
		assertSame(conflictValue, diff.getConflict());
		assertSame(diff.getConflict(), diff.eGet(feature));
		assertSame(diff.getConflict(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(conflictValue.getDifferences().contains(diff));

		diff.eUnset(feature);
		assertTrue(notified);
		notified = false;
		assertNull(diff.getConflict());
		assertSame(diff.getConflict(), diff.eGet(feature));
		assertSame(diff.getConflict(), diff.eGet(feature, false));
		assertFalse(diff.eIsSet(feature));
		assertFalse(conflictValue.getDifferences().contains(diff));

		diff.setConflict(conflictValue);
		assertTrue(notified);
		notified = false;
		assertSame(conflictValue, diff.getConflict());
		assertSame(diff.getConflict(), diff.eGet(feature));
		assertSame(diff.getConflict(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(conflictValue.getDifferences().contains(diff));

		diff.eSet(feature, conflictValue);
		assertTrue(notified);
		notified = false;
		assertSame(conflictValue, diff.getConflict());
		assertSame(diff.getConflict(), diff.eGet(feature));
		assertSame(diff.getConflict(), diff.eGet(feature, false));
		assertTrue(diff.eIsSet(feature));
		assertTrue(conflictValue.getDifferences().contains(diff));

		diff.setConflict(null);
		assertTrue(notified);
		notified = false;
		assertNull(diff.getConflict());
		assertSame(feature.getDefaultValue(), diff.getConflict());
		assertSame(diff.getConflict(), diff.eGet(feature));
		assertSame(diff.getConflict(), diff.eGet(feature, false));
		assertFalse(diff.eIsSet(feature));
		assertFalse(conflictValue.getDifferences().contains(diff));
	}

	/**
	 * Tests the behavior of attribute <code>kind</code>'s accessors.
	 * 
	 * @generated
	 */
	@Test
	public void testKind() {
		EStructuralFeature feature = org.eclipse.emf.compare.ComparePackage.eINSTANCE.getDiff_Kind();
		Diff diff = CompareFactory.eINSTANCE.createDiff();
		diff.eAdapters().add(new MockEAdapter());
		org.eclipse.emf.compare.DifferenceKind kindValue = (org.eclipse.emf.compare.DifferenceKind)feature
				.getDefaultValue();
		for (org.eclipse.emf.compare.DifferenceKind aDifferenceKind : org.eclipse.emf.compare.DifferenceKind.VALUES) {
			if (kindValue.getValue() != aDifferenceKind.getValue()) {
				kindValue = aDifferenceKind;
				break;
			}
		}

		assertFalse(diff.eIsSet(feature));
		assertEquals(feature.getDefaultValue(), diff.getKind());

		diff.setKind(kindValue);
		assertTrue(notified);
		notified = false;
		assertEquals(kindValue, diff.getKind());
		assertEquals(diff.getKind(), diff.eGet(feature));
		assertTrue(diff.eIsSet(feature));

		diff.eUnset(feature);
		assertTrue(notified);
		notified = false;
		assertEquals(feature.getDefaultValue(), diff.getKind());
		assertEquals(diff.getKind(), diff.eGet(feature));
		assertFalse(diff.eIsSet(feature));

		diff.eSet(feature, kindValue);
		assertTrue(notified);
		notified = false;
		assertEquals(kindValue, diff.getKind());
		assertEquals(diff.getKind(), diff.eGet(feature));
		assertTrue(diff.eIsSet(feature));

		diff.setKind(null);
		assertTrue(notified);
		notified = false;
		assertEquals(feature.getDefaultValue(), diff.getKind());
		assertEquals(diff.getKind(), diff.eGet(feature));
		assertFalse(diff.eIsSet(feature));
	}

	/**
	 * Tests the behavior of attribute <code>source</code>'s accessors.
	 * 
	 * @generated
	 */
	@Test
	public void testSource() {
		EStructuralFeature feature = org.eclipse.emf.compare.ComparePackage.eINSTANCE.getDiff_Source();
		Diff diff = CompareFactory.eINSTANCE.createDiff();
		diff.eAdapters().add(new MockEAdapter());
		org.eclipse.emf.compare.DifferenceSource sourceValue = (org.eclipse.emf.compare.DifferenceSource)feature
				.getDefaultValue();
		for (org.eclipse.emf.compare.DifferenceSource aDifferenceSource : org.eclipse.emf.compare.DifferenceSource.VALUES) {
			if (sourceValue.getValue() != aDifferenceSource.getValue()) {
				sourceValue = aDifferenceSource;
				break;
			}
		}

		assertFalse(diff.eIsSet(feature));
		assertEquals(feature.getDefaultValue(), diff.getSource());

		diff.setSource(sourceValue);
		assertTrue(notified);
		notified = false;
		assertEquals(sourceValue, diff.getSource());
		assertEquals(diff.getSource(), diff.eGet(feature));
		assertTrue(diff.eIsSet(feature));

		diff.eUnset(feature);
		assertTrue(notified);
		notified = false;
		assertEquals(feature.getDefaultValue(), diff.getSource());
		assertEquals(diff.getSource(), diff.eGet(feature));
		assertFalse(diff.eIsSet(feature));

		diff.eSet(feature, sourceValue);
		assertTrue(notified);
		notified = false;
		assertEquals(sourceValue, diff.getSource());
		assertEquals(diff.getSource(), diff.eGet(feature));
		assertTrue(diff.eIsSet(feature));

		diff.setSource(null);
		assertTrue(notified);
		notified = false;
		assertEquals(feature.getDefaultValue(), diff.getSource());
		assertEquals(diff.getSource(), diff.eGet(feature));
		assertFalse(diff.eIsSet(feature));
	}

	/**
	 * Tests the behavior of attribute <code>state</code>'s accessors.
	 * 
	 * @generated
	 */
	@Test
	public void testState() {
		EStructuralFeature feature = org.eclipse.emf.compare.ComparePackage.eINSTANCE.getDiff_State();
		Diff diff = CompareFactory.eINSTANCE.createDiff();
		diff.eAdapters().add(new MockEAdapter());
		org.eclipse.emf.compare.DifferenceState stateValue = (org.eclipse.emf.compare.DifferenceState)feature
				.getDefaultValue();
		for (org.eclipse.emf.compare.DifferenceState aDifferenceState : org.eclipse.emf.compare.DifferenceState.VALUES) {
			if (stateValue.getValue() != aDifferenceState.getValue()) {
				stateValue = aDifferenceState;
				break;
			}
		}

		assertFalse(diff.eIsSet(feature));
		assertEquals(feature.getDefaultValue(), diff.getState());

		diff.setState(stateValue);
		assertTrue(notified);
		notified = false;
		assertEquals(stateValue, diff.getState());
		assertEquals(diff.getState(), diff.eGet(feature));
		assertTrue(diff.eIsSet(feature));

		diff.eUnset(feature);
		assertTrue(notified);
		notified = false;
		assertEquals(feature.getDefaultValue(), diff.getState());
		assertEquals(diff.getState(), diff.eGet(feature));
		assertFalse(diff.eIsSet(feature));

		diff.eSet(feature, stateValue);
		assertTrue(notified);
		notified = false;
		assertEquals(stateValue, diff.getState());
		assertEquals(diff.getState(), diff.eGet(feature));
		assertTrue(diff.eIsSet(feature));

		diff.setState(null);
		assertTrue(notified);
		notified = false;
		assertEquals(feature.getDefaultValue(), diff.getState());
		assertEquals(diff.getState(), diff.eGet(feature));
		assertFalse(diff.eIsSet(feature));
	}

}

Back to the top