Ejemplo n.º 1
0
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')
Ejemplo n.º 4
0
    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')
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
    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))
Ejemplo n.º 7
0
def main():
    account = Account(TransactionRepository(Clock()), StatementPrinter(Console()))
    account.deposit(1000)
    account.withdraw(100)
    account.deposit(500)
    account.print_statement()