def main(): account = Account(TransactionRepository(Clock()), StatementPrinter(Console())) account.deposit(1000) account.withdraw(100) account.deposit(500) account.print_statement()
class AccountTest(TestCase): def setUp(self): self.transaction_repository = mock() self.account = Account(self.transaction_repository, None) def test_account_should_store_a_deposit_transaction(self): self.account.deposit(100) verify(self.transaction_repository).store(100) def test_account_should_store_a_withdraw_transaction(self): self.account.withdraw(50) verify(self.transaction_repository).store(-50)
def test_print_statement_containing_all_transactions(self): console = mock() clock = mock() when(clock).date_as_string().thenReturn('01/04/2015').thenReturn('02/04/2015').thenReturn('10/04/2015') account = Account(TransactionRepository(clock), StatementPrinter(console)) account.deposit(1000) account.withdraw(100) account.deposit(500) account.print_statement() inorder.verify(console).print_line('DATE | AMOUNT | BALANCE') inorder.verify(console).print_line('10/04/2015 | 500.00 | 1400.00') inorder.verify(console).print_line('02/04/2015 | -100.00 | 900.00') inorder.verify(console).print_line('01/04/2015 | 1000.00 | 1000.00')
def test_print_statement_containing_all_transactions(self): console = mock() clock = mock() when(clock).date_as_string().thenReturn('01/04/2015').thenReturn( '02/04/2015').thenReturn('10/04/2015') account = Account(TransactionRepository(clock), StatementPrinter(console)) account.deposit(1000) account.withdraw(100) account.deposit(500) account.print_statement() inorder.verify(console).print_line('DATE | AMOUNT | BALANCE') inorder.verify(console).print_line('10/04/2015 | 500.00 | 1400.00') inorder.verify(console).print_line('02/04/2015 | -100.00 | 900.00') inorder.verify(console).print_line('01/04/2015 | 1000.00 | 1000.00')
class TestAccount(unittest.TestCase): def setUp(self): self.account = Account(100) def test_deposit(self): self.account.deposit(10) assert self.account.balance == 10 def test_withdraw_invalid(self): assert self.account.withdraw(1) == False def test_withdraw_success(self): self.account.deposit(1) assert self.account.withdraw(1) == True def test_get_balance(self): assert self.account.get_balance() == 0 self.account.deposit(1) assert self.account.get_balance() == 1
print("1: Create an account") print("2: Log in to your account") print("3: Type \"stop\" to leave the bank") cmd = input() if cmd == "stop": stop = True elif cmd == "1": print("What is your name?") name = input() print("Choose your account number.") account = input() print("Choose your pin number.") pin_number = input() user = create_user(name, account, pin_number) print("Account created! Welcome, {}".format(user.name)) carter = User("Carter", 123, 1) account = Account(123, 1000, "checking") print("{} has account number {} with a pin number {}".format( carter.name, carter.account, carter.pin_number)) print("{} account with account number {} has balance {}".format( account.type, account.account_number, account.balance)) account.deposit(1000) print(account.check_balance()) account.withdraw(500) print(account.check_balance()) print("{} account with account number {} has balance {}".format( account.type, account.account_number, account.balance))