/** * Copyright (c) 2015 committers of YAKINDU 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: * committers of YAKINDU - initial API and implementation * */ package org.yakindu.sct.model.sexec.transformation.test; import org.eclipse.xtext.naming.IQualifiedNameProvider; import org.eclipse.xtext.resource.IResourceDescriptions; import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions; import org.junit.Before; import org.yakindu.base.types.typesystem.GenericTypeSystem; import org.yakindu.base.types.typesystem.ITypeSystem; import org.yakindu.sct.model.sexec.Sequence; import org.yakindu.sct.model.sexec.Step; import org.yakindu.sct.model.sexec.naming.DefaultNamingService; import org.yakindu.sct.model.sexec.naming.INamingService; import org.yakindu.sct.model.sexec.transformation.BehaviorMapping; import org.yakindu.sct.model.sexec.transformation.IModelSequencer; import org.yakindu.sct.model.sexec.transformation.StructureMapping; import org.yakindu.sct.model.sgraph.naming.SGraphNameProvider; import com.google.inject.Binder; import com.google.inject.Guice; import com.google.inject.Inject; import com.google.inject.Injector; import com.google.inject.Module; /** * * @author axel terfloth * */ public class ModelSequencerTest extends Assert { @Inject protected IModelSequencer sequencer; @Inject protected BehaviorMapping behaviorMapping; @Inject protected StructureMapping structureMapping; @Before public void setup() { Module m = new Module(){ @Override public void configure(Binder binder) { binder.bind(INamingService.class).to(DefaultNamingService.class); binder.bind(IQualifiedNameProvider.class).to(SGraphNameProvider.class); binder.bind(ITypeSystem.class).toInstance(GenericTypeSystem.getInstance()); binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class); } }; Injector injector = Guice.createInjector(m); injector.injectMembers(this); } protected Step firstStep(Step seq) { org.junit.Assert.assertNotNull(seq); assert (seq instanceof Sequence); return ((Sequence) seq).getSteps().get(0); } }