blob: 2d46fabdaedc1876b46e1c97767f0d142309eb4c [file] [log] [blame]
/**
* Copyright (c) 2015 Thales Corporate Services S.A.S.
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-v2.0
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Thales Corporate Services S.A.S - initial API and implementation
*/
package org.eclipse.egf.core.test.resourceset;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.egf.core.domain.RuntimePlatformResourceSet;
import org.eclipse.egf.core.domain.TargetPlatformResourceSet;
import org.eclipse.egf.core.test.EGFCoreTestPlugin;
import org.eclipse.egf.model.fcore.Activity;
import org.eclipse.egf.producer.EGFProducerPlugin;
import org.eclipse.egf.producer.manager.ActivityManagerProducer;
import org.eclipse.egf.producer.manager.IActivityManager;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.ResourceSet;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* @author Thomas Guiu
*/
public class ResourceSetTests extends TestCase {
public static Test suite() {
return new TestSuite(ResourceSetTests.class);
}
public void testRuntime() throws Exception {
{
ResourceSet resourceSet = new RuntimePlatformResourceSet();
URI uri = URI.createURI("platform:/plugin/org.eclipse.egf.example.task.h4/egf/task_h4.fcore#1Zvd4LdCEd6AWpPtW_wFiQ"); //$NON-NLS-1$
Activity activity = (Activity) resourceSet.getEObject(uri, true);
ActivityManagerProducer<Activity> producer = EGFProducerPlugin.getActivityManagerProducer(activity);
IActivityManager<Activity> manager = producer.createActivityManager(activity);
try {
manager.initializeContext();
manager.invoke(new NullProgressMonitor());
} catch (Exception e) {
EGFCoreTestPlugin.getDefault().logError(e);
fail(e.getMessage());
}
String outputValue = manager.getProductionContext().getOutputValue("result", String.class);
assertEquals("Hello from runtime", outputValue);
}
{
ResourceSet resourceSet = new TargetPlatformResourceSet();
URI uri = URI.createURI("platform:/plugin/org.eclipse.egf.example.task.h4/egf/task_h4.fcore#1Zvd4LdCEd6AWpPtW_wFiQ"); //$NON-NLS-1$
Activity activity = (Activity) resourceSet.getEObject(uri, true);
ActivityManagerProducer<Activity> producer = EGFProducerPlugin.getActivityManagerProducer(activity);
IActivityManager<Activity> manager = producer.createActivityManager(activity);
try {
manager.initializeContext();
manager.invoke(new NullProgressMonitor());
} catch (Exception e) {
EGFCoreTestPlugin.getDefault().logError(e);
fail(e.getClass().getName()+": "+e.getMessage());
}
String outputValue = manager.getProductionContext().getOutputValue("result", String.class);
assertEquals("Hello from workspace", outputValue);
}
}
}