Using the attached Python class, write a unit test program to test it's complete functionality, which means
Question:
Using the attached Python class, write a unit test program to test it's complete functionality, which means you test every method for correctness. There are errors, your job is not to fix them, but to find them with unit testing. Don't forget, documentation and commenting are a MUST! If the code does not run properly I will downvote. Here is the class program:
class BankAccount :
## Constructs a bank account with a given balance.
# @param initialBalance the initial account balance (default = 0.0)
#
def __init__(self, initialBalance = 0.0) :
self._balance = initialBalance
## Deposits money into this account.
# @param amount the amount to deposit
#
def deposit(self, amount) :
self._balance = self._balance + amount
## Makes a withdrawal from this account, or charges a penalty if
# sufficient funds are not available.
# @param amount the amount of the withdrawal
#
def withdraw(self, amount) :
PENALTY = 10.0
if amount > self._balance :
self._balance = self._balance - PENALTY
else :
self._balance = self._balance - amount
## Adds interest to this account.
# @param rate the interest rate in percent
#
def addInterest(self, rate) :
amount = self._balance * rate / 100.0
self._balance = self._balance + amount
## Gets the current balance of this account.
# @return the current balance
#
def getBalance(self) :
return self._balance