package com.processpuzzle.address.domain; import static org.hamcrest.Matchers.equalTo; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; import org.junit.Test; import com.processpuzzle.litest.template.DomainObjectTestTemplate; import com.processpuzzle.sharedfixtures.domaintier.DomainTierTestConfiguration; public class ZipCodeTest extends DomainObjectTestTemplate<ZipCode, ZipCodeTestFixture<ZipCode>> { public ZipCodeTest() { super( DomainTierTestConfiguration.FIXTURE_CONTAINER_DEFINITION_PATH ); } @Test public void instantiation_Requires_ZipValue() { ZipCode zipCode = new ZipCode( ZipCodeTestFixture.ZIP_CODE_VALUE ); assertThat( zipCode.getZipCode(), equalTo( ZipCodeTestFixture.ZIP_CODE_VALUE ) ); } @Test( expected = ZipCodeConstraintViolationException.class ) public void instantiation_WhenValueIsNegative_ThrowsException() { new ZipCode( new Integer( -1 ) ); } @Test( expected = ZipCodeConstraintViolationException.class ) public void instantiation_WhenValueIsLargerThanMaxValue_ThrowsException() { new ZipCode( new Integer( ZipCode.MAX_ZIP_VALUE +1 ) ); } @Test public void setZipCode_RequiresZipValue() { ZipCode zipCode = templatedFixture.getZipCode(); zipCode.setZipCode( ZipCodeTestFixture.ANOTHER_ZIP_CODE_VALUE ); assertThat( templatedFixture.getZipCode().getZipCode(), equalTo( ZipCodeTestFixture.ANOTHER_ZIP_CODE_VALUE )); } @Test( expected = ZipCodeConstraintViolationException.class ) public void setZipCode_WhenValueIsNegative_ThrowsExeption() { templatedFixture.getZipCode().setZipCode( new Integer( -1 ) ); } @Test( expected = ZipCodeConstraintViolationException.class ) public void setZipCode_WhenValueIsLargerThanMaxValue_ThrowsException() { templatedFixture.getZipCode().setZipCode( ZipCode.MAX_ZIP_VALUE +1 ); } @Test public void setSettlement_AssociatesZipWithSettlement() { templatedFixture.getZipCode().setSettlement( templatedFixture.getSettlement() ); assertThat( templatedFixture.getZipCode().getSettlement(), equalTo( templatedFixture.getSettlement() )); } @Test public void asString_ConvertsToZipValueToText() { assertEquals( templatedFixture.getZipCode().asString(), ZipCodeTestFixture.ZIP_CODE_TEXT ); } }