import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; /** * The test class AccountTest. * * @author (your name) * @version (a version number or a date) */ public class AccountTest { /** * Sets up the test fixture. * * Called before every test case method. */ @Before public void setUp() { } @Test public void constructorNoParamsTest() { Account account = new Account(); int expected = 0; int actual = account.balance(); assertEquals(expected, actual); } @Test public void constructorWithParamsTest() { Account account = new Account(10); int expected = 10; int actual = account.balance(); assertEquals(expected, actual); } @Test public void depositTest() { Account account = new Account(); account.deposit(10); int expected = 10; int actual = account.balance(); assertEquals(expected, actual); } @Test public void transferDepositTest() { Account accountA = new Account(); Account accountB = new Account(10); int expectedAccountABalance = 10; accountB.transfer(accountA, 10); int actualAccountBBalance = accountA.balance(); assertEquals(expectedAccountABalance, actualAccountBBalance); } @Test public void transferDepositOriginTest() { Account accountA = new Account(); Account accountB = new Account(10); int expectedAccountBBalance = 0; accountB.transfer(accountA, 10); int actualAccountBBalance = accountB.balance(); assertEquals(expectedAccountBBalance, actualAccountBBalance); } @Test public void openNewAccountTest() { Account accountA = new Account(10); Account accountB = accountA.open(10); int expectedAccountBBalance = 10; int actualAccountBBalance = accountB.balance(); assertEquals(expectedAccountBBalance, actualAccountBBalance); } @Test public void openNewAccountOriginTest() { Account accountA = new Account(10); Account accountB = accountA.open(10); int expectedAccountABalance = 0; int actualAccountABalance = accountA.balance(); assertEquals(expectedAccountABalance, actualAccountABalance); } @Test public void getBalanceTest() { Account account = new Account(10); int expectedAccountBalance = 10; int actualAccountBalance = account.balance(); assertEquals(expectedAccountBalance, actualAccountBalance); } @Test public void withdrawTest() { Account account = new Account(10); int expectedAccountABalance = 5; try { account.withdraw(5); } catch (Exception e) { } int actualAccountABalance = account.balance(); assertEquals(expectedAccountABalance, actualAccountABalance); } @Test public void withdrawErrorTest() { Account account = new Account(10); String expectedThrownMessage = "overdraw"; String actualThrownMessage = "dont pass"; try { account.withdraw(15); } catch (Exception e) { actualThrownMessage = e.getMessage(); } assertEquals(expectedThrownMessage, actualThrownMessage); } /** * Tears down the test fixture. * * Called after every test case method. */ @After public void tearDown() { } }