package org.xpect.xtext.lib.setup; import org.xpect.XpectImport; import org.xpect.XpectReplace; import org.xpect.setup.ThisTestClass; import org.xpect.setup.ThisTestObject; import org.xpect.setup.ThisTestObject.TestObjectSetup; import org.xpect.setup.XpectSetupFactory; import org.xpect.state.Creates; import com.google.inject.Injector; @XpectSetupFactory @XpectImport(InjectorSetup.class) @XpectReplace(TestObjectSetup.class) public class XtextTestObjectSetup extends TestObjectSetup { private final Injector injector; public XtextTestObjectSetup(@ThisTestClass Class<?> testClass, Injector injector) { super(testClass); this.injector = injector; } @Creates(ThisTestObject.class) public Object createTestInstance() throws InstantiationException, IllegalAccessException { return injector.getInstance(getTestClass()); } }