package com.processpuzzle.party.domain; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.notNullValue; import static org.junit.Assert.assertThat; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import com.processpuzzle.address.domain.Country; import com.processpuzzle.address.domain.CountryFactory; import com.processpuzzle.address.domain.Settlement; import com.processpuzzle.address.domain.SettlementFactory; import com.processpuzzle.address.domain.ZipCode; import com.processpuzzle.address.domain.ZipCodeFactory; import com.processpuzzle.application.configuration.domain.ProcessPuzzleContext; import com.processpuzzle.application.domain.ConfigurableApplicationFixture; import com.processpuzzle.sharedfixtures.domaintier.DomainTierTestConfiguration; public class AddressFactoryTest { private AddressFactory addressFactory; private static ProcessPuzzleContext applicationContext; private static ConfigurableApplicationFixture applicationFixture; private CountryFactory countryFactory; private SettlementFactory settlementFactory; private ZipCodeFactory zipCodeFactory; @BeforeClass public static void beforeAllTests() { applicationFixture = new ConfigurableApplicationFixture( DomainTierTestConfiguration.APPLICATION_CONFIGURATION_DESCRIPTOR_PATH ); applicationFixture.setUp(); applicationContext = applicationFixture.getApplicationContext(); } @Before public void beforeEachTest() { addressFactory = applicationContext.getEntityFactory( AddressFactory.class ); countryFactory = applicationContext.getEntityFactory( CountryFactory.class ); settlementFactory = applicationContext.getEntityFactory( SettlementFactory.class ); zipCodeFactory = applicationContext.getEntityFactory( ZipCodeFactory.class ); } @AfterClass public static void afterAllTests(){ applicationFixture.tearDown(); } @Test public void testCreateGeographicAddress() { Country country = countryFactory.createCountry( "country" ); Settlement settlement = settlementFactory.createSettlement( "settlement", country ); ZipCode zipCode = zipCodeFactory.createZipCode( new Integer( 1 ), settlement ); GeographicAddress geographicAddress = addressFactory.createGeographicAddress( "street", "1/b", zipCode, settlement ); assertThat( geographicAddress, notNullValue() ); assertThat( geographicAddress.getSettlement(), equalTo( settlement )); assertThat( geographicAddress.getZipCode(), equalTo( zipCode )); } }