package com.processpuzzle.artifact.domain;
import java.util.Date;
import java.util.GregorianCalendar;
import com.processpuzzle.artifact_type.domain.ArtifactTypeTestFixture;
import com.processpuzzle.litest.template.ArtifactTestEnvironment;
import com.processpuzzle.litest.template.ArtifactTestFixture;
import com.processpuzzle.persistence.domain.TestEntity;
import com.processpuzzle.sharedfixtures.domaintier.DomainTierTestConfiguration;
import com.processpuzzle.sharedfixtures.domaintier.DomainTier_ConfigurationFixture;
import com.processpuzzle.sharedfixtures.domaintier.ProcessPuzzleContextFixture;
public abstract class GenericArtifactTestFixture<S extends Artifact<S>> extends ArtifactTestFixture<S>{
public static String TEXT_VALUE = "Some text";
public static Integer NUMBER_VALUE = new Integer(555);
public static Date DATE_VALUE = new Date(new GregorianCalendar(1999, 6, 11).getTimeInMillis());
private static DomainTier_ConfigurationFixture configFixture = null;
private static ArtifactTypeTestFixture typeFixture = null;
private static ProcessPuzzleContextFixture applicationContextFixture;
private TestEntityDataSheet dataSheet = null;
private TestEntity testEntity = null;
//Constructors
protected GenericArtifactTestFixture( ArtifactTestEnvironment<S, ?> testEnvironment ) {
super( testEnvironment );
}
//Protected, private helper methods
public void setUp() {
configFixture = DomainTier_ConfigurationFixture.getInstance();
configFixture.setUp();
applicationContextFixture = ProcessPuzzleContextFixture.getInstance( DomainTierTestConfiguration.APPLICATION_CONFIGURATION_DESCRIPTOR_PATH );
applicationContextFixture.setUp();
typeFixture = new ArtifactTypeTestFixture( null );
typeFixture.setUp();
dataSheet = TestEntityDataSheet.create("Test_Entity");
testEntity = dataSheet.getTestEntity();
testEntity.setTextAttribute(TEXT_VALUE);
testEntity.setNumberAttribute(NUMBER_VALUE);
testEntity.setDateAttribute(DATE_VALUE);
dataSheet.update();
}
public void tearDown() {
dataSheet.delete();
typeFixture.tearDown();
}
public TestEntityDataSheet getDataSheet() {
return dataSheet;
}
public DomainTier_ConfigurationFixture getConfigurationFixture() {
return configFixture;
}
}