def main(): savings_account_01 = SavingsAccount(100) print("Saving account balance: $", savings_account_01.get_balance(), sep="") checking_account_01 = CheckingAccount(500) print("Checking account balance: $", checking_account_01.get_balance(), sep="") print("") print("Making deposit into checking account for 75$...") checking_account_01.deposit_funds(75) print("New checking account balance: $", checking_account_01.get_balance(), sep="") print("") print("Making deposit into savings account for 300$...") savings_account_01.deposit_funds(300) print("New savings account balance: $", savings_account_01.get_balance(), sep="") print("") transfer_funds(checking_account_01, savings_account_01, 300) print("New checking account balance: $", checking_account_01.get_balance(), sep="") print("New savings account balance: $", savings_account_01.get_balance(), sep="") print("")
class SavingsAccountTestCase(TestCase): def setUp(self): self.holder = 'John' self.account_number = 12345 self.starting_balance = 1500 self.interest_rate = 0.01 self.account = SavingsAccount(self.holder, self.account_number, self.starting_balance, self.interest_rate) def test_create_account(self): self.assertEqual(self.holder, self.account.get_holder()) self.assertEqual(self.account_number, self.account.get_account_number()) self.assertEqual(self.starting_balance, self.account.get_balance()) self.assertEqual(self.interest_rate, self.account.get_interest_rate()) @unittest.skipIf(not sys.platform.startswith('darwin'), 'Only run on mac') def test_001_mac(self): self.fail('You are on a mac') pass @unittest.skipIf(not sys.platform.startswith('linux'), 'Only run on linux') def test_001_linux(self): pass def test_interest_rate_works(self): a = self.account m_rate = self.interest_rate / 12 added = self.starting_balance * m_rate self.assertEqual(self.starting_balance, a.get_balance()) self.assertEqual(added, a.add_monthly_interest()) self.assertEqual(self.starting_balance + added, a.get_balance())
def test_compound_interest(self): name = 'Jaime' number = 6732 balance = 10000 interest = 0.01 a = SavingsAccount(name, number, balance, interest) m_rate = interest / 12 added = balance * m_rate new_balance = added + balance self.assertEqual(added, a.compound_interest()) self.assertEqual(new_balance, a.get_balance())
print("-" * 30) # Savings account account3 = SavingsAccount("Sally", 500000, 2.50, 3.25, 5) print(account3) print("-" * 30) account4 = SavingsAccount("Jonny Cash", 50, 0.5, 5, 4) print(account4) try: account4.make_withdrawal(15) except MaxNumberOfWithdrawals as max_error: print(str(max_error)) except InsufficientFunds as my_error: print(str(my_error)) print(account4.get_balance()) try: account4.make_withdrawal(60) except MaxNumberOfWithdrawals as max_error: print(str(max_error)) except InsufficientFunds as my_error: print(str(my_error)) print(account4.get_balance()) try: account4.make_withdrawal(30) except MaxNumberOfWithdrawals as max_error: print(str(max_error)) except InsufficientFunds as my_error: print(str(my_error))