package de.bechte.junit.samples.bank; import org.junit.*; import static org.junit.Assert.assertEquals; public class RegularBankTest { private Account account; @Before public void setCurrentInterestRate() { Bank.currentInterestRate = 2.75; account = new Account(); } @Test public void givenNewAccount_balanceIsZero() throws Exception { assertMoneyEquals(0.0, account.getBalance()); } @Test public void givenNewAccount_interestRateIsSet() throws Exception { assertMoneyEquals(2.75, account.getInterestRate()); } @Test public void givenNewAccount_whenInterestRateChanges_shouldHaveOldInterestRate() throws Exception { Bank.currentInterestRate = 3.25; assertMoneyEquals(2.75, account.getInterestRate()); } @Test public void whenInterestRateChanges_newAccountShouldHaveNewInterestRate() throws Exception { Bank.currentInterestRate = 3.25; Account newAccount = new Account(); assertMoneyEquals(3.25, newAccount.getInterestRate()); } private static final double MONEY_DELTA = .00001; private static void assertMoneyEquals(double expected, double actual) { assertEquals(expected, actual, MONEY_DELTA); } }