package com.processpuzzle.address.domain; import com.processpuzzle.address.domain.AlreadyExistingSettlementInCountryException; import com.processpuzzle.address.domain.Country; import com.processpuzzle.litest.template.DomainObjectTestEnvironment; import com.processpuzzle.litest.template.DomainObjectTestFixture; public class CountryTestFixture extends DomainObjectTestFixture<Country> { public static final String COUNTRY_NAME = "Hungary"; public static final String NEW_SETTLEMENT_NAME = "New Settlement"; public static final String FIRST_SETTLEMENT_NAME = "First Settlement"; public static final String SECOND_SETTLEMENT_NAME = "Second Settlement"; private Settlement firstSettlement; private Settlement newSettlement; private Settlement secondSettlement; private static SettlementFactory settlementFactory; private Country aCountry = null; public CountryTestFixture( DomainObjectTestEnvironment<Country, ?> testEnvironment ) { super( testEnvironment ); } //Properties public Object getCountryName() { return COUNTRY_NAME; } public Settlement getFirstSettlement() { return firstSettlement; } public Settlement getNewSettlement() { return newSettlement; } public Settlement getSecondSettlement() { return secondSettlement; } public SettlementFactory getSettlementFactory() { return settlementFactory; } //Protected, private helper methods @Override protected void configureBeforeSutInstantiation() { super.configureBeforeSutInstantiation(); settlementFactory = new SettlementFactory(); setUpSettlements(); } @Override protected void configureAfterSutInstantiation() { try{ aCountry.addSettlement( firstSettlement ); aCountry.addSettlement( secondSettlement ); }catch( AlreadyExistingSettlementInCountryException e ){ e.printStackTrace(); } } @Override protected Country instantiateSUT() { aCountry = new Country( COUNTRY_NAME ); return aCountry; } @Override protected void releaseResources() { } private void setUpSettlements() { firstSettlement = new Settlement( FIRST_SETTLEMENT_NAME ); secondSettlement = new Settlement( SECOND_SETTLEMENT_NAME ); newSettlement = new Settlement( NEW_SETTLEMENT_NAME ); } }