package no.difi.sdp.client2.domain.fysisk_post; import org.junit.Test; import java.util.Arrays; import static no.difi.sdp.client2.domain.fysisk_post.KonvoluttAdresse.Type.NORSK; import static no.difi.sdp.client2.domain.fysisk_post.KonvoluttAdresse.Type.UTENLANDSK; import static no.difi.sdp.client2.domain.fysisk_post.Landkoder.Predefinert.USA; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.Matchers.nullValue; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; public class PostadresseBuilderTest { @Test public void inkluderer_kun_ikke_null_adresselinjer() { KonvoluttAdresse adresse = KonvoluttAdresse.build("Ola Hansen").iNorge("Osloveien 5", null, null, "0560", "Oslo").build(); assertThat(adresse.getAdresselinjer(), equalTo(Arrays.asList("Osloveien 5"))); adresse = KonvoluttAdresse.build("Ola Hansen").iUtlandet("Somewhere St. 5", null, "70482 City", null, USA).build(); assertEquals(adresse.getAdresselinjer(), Arrays.asList("Somewhere St. 5", "70482 City")); } @Test public void norsk_adresse_er_norsk() { KonvoluttAdresse adresse = KonvoluttAdresse.build("Ola Hansen").iNorge("Osloveien 5", null, null, "0560", "Oslo").build(); assertThat(adresse.getType(), equalTo(NORSK)); } @Test public void utenlandsk_adresse_er_utenlandsk() { KonvoluttAdresse adresse = KonvoluttAdresse.build("Ola Hansen").iUtlandet("Somewhere St. 5", "10592 New York", null, null, USA).build(); assertThat(adresse.getType(), equalTo(UTENLANDSK)); assertThat(adresse.getLand(), is(nullValue())); assertThat(adresse.getLandkode(), equalTo(USA.getKode())); } @Test public void utenlandsk_adresse_med_landnavn_kan_hente_navn() { KonvoluttAdresse adresse = KonvoluttAdresse.build("Ola Hansen").iUtlandet("Somewhere St. 5", "10592 New York", null, null, "Sverige").build(); assertThat(adresse.getType(), equalTo(UTENLANDSK)); assertThat(adresse.getLand(), equalTo("Sverige")); assertThat(adresse.getLandkode(), is(nullValue())); } }