package com.processpuzzle.application.domain; import com.processpuzzle.application.domain.Application; import com.processpuzzle.application.domain.ApplicationException; import com.processpuzzle.application.domain.ApplicationFactory; import com.processpuzzle.litest.template.DefaultApplicationFixture; import com.processpuzzle.sharedfixtures.domaintier.ApplicationTwo; import com.processpuzzle.sharedfixtures.domaintier.DomainTierTestConfiguration; public class InstalledAndStoppedApplicationFixture extends DefaultApplicationFixture<Application> { public InstalledAndStoppedApplicationFixture() { super( DomainTierTestConfiguration.APPLICATION_CONFIGURATION_DESCRIPTOR_PATH ); } //Protected, private helper methods @Override protected Application instantiateSUT() { application = ApplicationFactory.create( ApplicationTwo.class, configurationPath ); try { application.install(); } catch( ApplicationException e ) { e.printStackTrace(); } return application; } @Override protected void configureAfterSutInstantiation() { super.configureAfterSutInstantiation(); application.stop(); applicationRepository.add( application ); } @Override protected void configureBeforeSutInstantiation() { //Nothing to do here in this case. } @Override protected void releaseResources() { application.unInstall(); applicationRepository.delete( application ); super.releaseResources(); } }