package jhaushalt.domain; import static org.fest.assertions.Assertions.*; import org.junit.Test; public class GeldbetragTest { @Test public void defaultGeldBetrag() { Geldbetrag betrag = new Geldbetrag(); assertThat(betrag.getBetrag()).isEqualTo(0L); assertThat(betrag.toDouble()).isEqualTo(0D); } @Test public void setGeldBetragWithDoubleReturnsCorrectValues() { Geldbetrag betrag = new Geldbetrag(1234.56D); assertThat(betrag.getBetrag()).isEqualTo(123456L); assertThat(betrag.toDouble()).isEqualTo(1234.56D); } @Test public void positiveAmountWithDecimalsAsStringReturnsCorrectValue() { Geldbetrag betrag = new Geldbetrag("1234,56"); assertThat(betrag.getBetrag()).isEqualTo(123456L); } @Test public void positiveAmountWithoutDecimalsAsStringReturnsCorrectValue() { Geldbetrag betrag = new Geldbetrag("1234"); assertThat(betrag.getBetrag()).isEqualTo(123400L); } @Test public void negativeAmountWithDecimalsAsStringReturnsCorrectValue() { Geldbetrag betrag = new Geldbetrag("-1234,56"); assertThat(betrag.getBetrag()).isEqualTo(-123456L); } @Test public void negativeAmountWithoutDecimalsAsStringReturnsCorrectValue() { Geldbetrag betrag = new Geldbetrag("-1234"); assertThat(betrag.getBetrag()).isEqualTo(-123400L); } @Test public void emptyStringReturnsZeroAmountValue() { Geldbetrag betrag = new Geldbetrag(""); assertThat(betrag.getBetrag()).isEqualTo(0L); } @Test public void anyCharactersinStringReturnsZeroAmountValue() { Geldbetrag betrag = new Geldbetrag("foobar"); assertThat(betrag.getBetrag()).isEqualTo(0L); } @Test public void dotsInNumberAreIgnored() { Geldbetrag betrag = new Geldbetrag("123.45678.90"); assertThat(betrag.getBetrag()).isEqualTo(123456789000L); } }