blob: c84fd346b2a0e1dcb047008a164daf2122b8d648 [file] [log] [blame]
/*
* Copyright (c) 2007-2009, 2011, 2012 Eike Stepper (Berlin, Germany) and others.
* 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:
* Eike Stepper - initial API and implementation
*/
package org.eclipse.emf.cdo.tests;
import org.eclipse.emf.cdo.eresource.CDOResource;
import org.eclipse.emf.cdo.session.CDOSession;
import org.eclipse.emf.cdo.tests.util.TestEMFUtil;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.util.CDOUtil;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EcorePackage;
/**
* @author Eike Stepper
*/
public class GeneratedEcoreTest extends AbstractCDOTest
{
/**
* TODO Fix me
*/
public void testGeneratedEcore() throws Exception
{
// Obtain model
EPackage ecore = EcorePackage.eINSTANCE;
// Create resource in session 1
CDOSession session1 = openSession();
session1.getPackageRegistry().putEPackage(ecore);
CDOTransaction transaction1 = session1.openTransaction();
CDOResource res1 = transaction1.createResource(getResourcePath("/res"));
EPackage root1 = TestEMFUtil.loadEcore("model1.ecore", session1.getPackageRegistry());
res1.getContents().add(root1);
transaction1.commit();
// Load resource in session 2
CDOSession session2 = openSession();
CDOTransaction transaction2 = session2.openTransaction();
CDOResource res2 = transaction2.getResource(getResourcePath("/res"));
EList<EObject> contents = res2.getContents();
EPackage root2 = (EPackage)contents.get(0);
assertEquals("Unresolved proxy", false, root2.eIsProxy());
assertEquals(res2, root2.eResource());
CDOUtil.load(root2, transaction2);
TestEMFUtil.saveEcore("model1X.ecore", root2);
// assertEquals(true, "Models differ", EcoreUtil.equals(root1, root2));
}
}