/**
* <copyright> Copyright (c) 2008-2009 Jonas Helming, Maximilian Koegel. 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 </copyright>
*/
package org.eclipse.emf.emfstore.client.test.integration.forward;
import static org.junit.Assert.assertTrue;
import org.eclipse.emf.emfstore.client.model.util.EMFStoreCommand;
import org.eclipse.emf.emfstore.common.model.util.SerializationException;
import org.eclipse.emf.emfstore.server.exceptions.EmfStoreException;
import org.junit.Test;
/**
* @author Hodaie
*/
public class CreateDeleteTest extends IntegrationTest {
private long randomSeed = 1;
/**
* create a random ME and change one of its attributes.
*
* @throws EmfStoreException EmfStoreException
* @throws SerializationException SerializationException
*/
@Test
public void createAndChangeAttributeTest() throws SerializationException, EmfStoreException {
System.out.println("CreateAndChangeAttributeTest");
final IntegrationTestHelper testHelper = new IntegrationTestHelper(randomSeed, getTestProject());
new EMFStoreCommand() {
@Override
protected void doRun() {
testHelper.doCreateAndChangeAttribute();
}
}.run(false);
commitChanges();
assertTrue(IntegrationTestHelper
.areEqual(getTestProject(), getCompareProject(), "CreateAndChangeAttributeTest"));
}
/**
* Create a random ME and change one of its attributes, then changes one of its references, then changes one of its
* attributes, and again changes one of its references.
*
* @throws EmfStoreException EmfStoreException
* @throws SerializationException SerializationException
*/
// @Test
public void createAndMultipleChangeTest() throws SerializationException, EmfStoreException {
System.out.println("CreateAndMultipleChangeTest");
final IntegrationTestHelper testHelper = new IntegrationTestHelper(randomSeed, getTestProject());
new EMFStoreCommand() {
@Override
protected void doRun() {
testHelper.doCreateAndMultipleChange();
}
}.run(false);
commitChanges();
assertTrue(IntegrationTestHelper.areEqual(getTestProject(), getCompareProject(), "CreateAndMultipleChangeTest"));
}
/**
* Create a random ME and change one of its references.
*
* @throws EmfStoreException EmfStoreException
* @throws SerializationException SerializationException
*/
@Test
public void createAndChangeRefTest() throws SerializationException, EmfStoreException {
System.out.println("CreateAndChangeRefTest");
final IntegrationTestHelper testHelper = new IntegrationTestHelper(randomSeed, getTestProject());
new EMFStoreCommand() {
@Override
protected void doRun() {
testHelper.doCreateAndChangeRef();
}
}.run(false);
commitChanges();
assertTrue(IntegrationTestHelper.areEqual(getTestProject(), getCompareProject(), "CreateAndChangeRefTest"));
}
/**
* Create a random ME. Change one of its non-containment references. Delete ME.
*
* @throws EmfStoreException EmfStoreException
* @throws SerializationException SerializationException
*/
@Test
public void createChangeRefDeleteTest() throws SerializationException, EmfStoreException {
System.out.println("CreateChangeRefDeleteTest");
final IntegrationTestHelper testHelper = new IntegrationTestHelper(randomSeed, getTestProject());
new EMFStoreCommand() {
@Override
protected void doRun() {
testHelper.doCreateChangeRefDelete();
}
}.run(false);
commitChanges();
assertTrue(IntegrationTestHelper.areEqual(getTestProject(), getCompareProject(), "CreateChangeRefDeleteTest"));
}
/**
* Create a random ME. Delete ME.
*
* @throws EmfStoreException EmfStoreException
* @throws SerializationException SerializationException
*/
@Test
public void createDeleteTest() throws SerializationException, EmfStoreException {
System.out.println("CreateDeleteTest");
final IntegrationTestHelper testHelper = new IntegrationTestHelper(randomSeed, getTestProject());
new EMFStoreCommand() {
@Override
protected void doRun() {
testHelper.doCreateDelete();
}
}.run(false);
commitChanges();
assertTrue(IntegrationTestHelper.areEqual(getTestProject(), getCompareProject(), "CreateDeleteTest"));
}
/**
* Delete a random ME. Revert delete.
*
* @throws EmfStoreException EmfStoreException
* @throws SerializationException SerializationException
*/
@Test
public void deleteAndRevertDeleteTest() throws SerializationException, EmfStoreException {
System.out.println("DeleteAndRevertDeleteTest");
final IntegrationTestHelper testHelper = new IntegrationTestHelper(randomSeed, getTestProject());
new EMFStoreCommand() {
@Override
protected void doRun() {
testHelper.doDeleteAndRevert();
}
}.run(false);
commitChanges();
assertTrue(IntegrationTestHelper.areEqual(getTestProject(), getCompareProject(), "DeleteAndRevertDeleteTest"));
}
/**
* Delete a random ME.
*
* @throws EmfStoreException EmfStoreException
* @throws SerializationException SerializationException
*/
@Test
public void deleteTest() throws SerializationException, EmfStoreException {
System.out.println("DeleteTest");
final IntegrationTestHelper testHelper = new IntegrationTestHelper(randomSeed, getTestProject());
new EMFStoreCommand() {
@Override
protected void doRun() {
testHelper.doDelete();
}
}.run(false);
commitChanges();
assertTrue(IntegrationTestHelper.areEqual(getTestProject(), getCompareProject(), "DeleteTest"));
}
}