diff options
Diffstat (limited to 'tests/org.eclipse.etrice.core.genmodel.fsm.tests/src/org/eclipse/etrice/core/genmodel/fsm/tests/FsmGenTestBase.xtend')
-rw-r--r-- | tests/org.eclipse.etrice.core.genmodel.fsm.tests/src/org/eclipse/etrice/core/genmodel/fsm/tests/FsmGenTestBase.xtend | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/org.eclipse.etrice.core.genmodel.fsm.tests/src/org/eclipse/etrice/core/genmodel/fsm/tests/FsmGenTestBase.xtend b/tests/org.eclipse.etrice.core.genmodel.fsm.tests/src/org/eclipse/etrice/core/genmodel/fsm/tests/FsmGenTestBase.xtend new file mode 100644 index 000000000..e6cf80196 --- /dev/null +++ b/tests/org.eclipse.etrice.core.genmodel.fsm.tests/src/org/eclipse/etrice/core/genmodel/fsm/tests/FsmGenTestBase.xtend @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright (c) 2011 protos software gmbh (http://www.protos.de). + * 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: + * hrr@protos.de (initial contribution) + * + *******************************************************************************/ + +package org.eclipse.etrice.core.genmodel.fsm.tests + +import org.eclipse.emf.common.util.URI +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl +import org.eclipse.etrice.core.RoomStandaloneSetup +import org.eclipse.etrice.core.TestBase +import org.eclipse.etrice.core.genmodel.fsm.ExtendedFsmGenBuilder +import org.eclipse.etrice.core.genmodel.fsm.IDiagnostician +import org.eclipse.etrice.core.genmodel.fsm.NullDiagnostician +import org.eclipse.etrice.core.genmodel.fsm.fsmgen.GraphContainer +import org.eclipse.etrice.core.room.ActorClass +import org.eclipse.etrice.core.room.RoomModel + +class FsmGenTestBase extends TestBase { + + protected Resource res = null + protected ActorClass actor + protected IDiagnostician diagnostician = new NullDiagnostician + protected extension ExtendedFsmGenBuilder builder + + protected def getGraphContainer(String roomFile, String actorName) { + prepare(FSMGenModelTestsActivator.getInstance().getBundle()) + res = getResource(roomFile) + actor = (res.contents.get(0) as RoomModel).actorClasses.findFirst[name.equals(actorName)] + val injector = new RoomStandaloneSetup().createInjectorAndDoEMFRegistration() + builder = new ExtendedFsmGenBuilder(injector, diagnostician) + builder.createTransformedModel(actor) + } + + protected def save(GraphContainer gc, String fileName) { + val rs = new ResourceSetImpl + val uri = URI.createFileURI("./output/" + fileName + ".fsmgen") + val res = rs.createResource(uri) + res.contents.add(gc) + res.save(newHashMap) + } +}
\ No newline at end of file |