package com.processpuzzle.litest.template; import com.processpuzzle.application.domain.ConfigurableApplicationFixture; import com.processpuzzle.commons.generics.GenericTypeParameterInvestigator; import com.processpuzzle.litest.template.GenericTestEnvironment; import com.processpuzzle.persistence.domain.EntityFactory; public class FactoryTestEnvironment<S extends EntityFactory<?>, F extends FactoryTestFixture<S,?>> extends GenericTestEnvironment<S> { private Class<F> factoryTestFixtureClass; @SuppressWarnings("unchecked") public FactoryTestEnvironment( Class<F> factoryTestFixtureClass ) { super(); this.factoryTestFixtureClass = factoryTestFixtureClass; this.sutClass = (Class<S>) GenericTypeParameterInvestigator.getTypeParameter( factoryTestFixtureClass, 0 ); } public ConfigurableApplicationFixture getApplicationFixture() { return getFixture( ConfigurableApplicationFixture.class ); } @Override protected void defineComponentTypes() { componentTypes.add( ConfigurableApplicationFixture.class ); componentTypes.add( factoryTestFixtureClass ); } @Override protected void configureAfterSutInstantiation() { } @Override protected void configureBeforeSutInstantiation() { } @Override protected void releaseResources() { } }