from decimal import Decimal class Account: """ Account class for demonstrating doctest. """ def __init__(self, name, balance): """ >>> account1 = Account('John Green', Decimal('50.00')) >>> account1.name 'John Green' >>> account1.balance Decimal('50.00') The balance argument must be greater than or equal to 0. >>> account2 = Account('John Green', Decimal('-50.00')) Traceback (most recent call last): ... ValueError: Initial balance must be >= to 0.00. """ if balance < Decimal('0.00'): raise ValueError('Initial balance must be >= to 0.00.') self.name = name self.balance = balance def deposit(self, amount): """ >>> account1 = Account('John Green', Decimal('50.00')) >>> account1.deposit(Decimal('10.55')) >>> account1.balance Decimal('60.55') >>> account1.deposit(Decimal('-100.00')) Traceback (most recent call last): ... ValueError: amount must be positive. """ self.balance += amount if __name__ == '__main__': import doctest doctest.testmod(verbose=True) ########################################################################## # (C) Copyright 2019 by Deitel & Associates, Inc. and # # Pearson Education, Inc. All Rights Reserved. # # # # DISCLAIMER: The authors and publisher of this book have used their # # best efforts in preparing the book. These efforts include the # # development, research, and testing of the theories and programs # # to determine their effectiveness. The authors and publisher make # # no warranty of any kind, expressed or implied, with regard to these # # programs or to the documentation contained in these books. The authors # # and publisher shall not be liable in any event for incidental or # # consequential damages in connection with, or arising out of, the # # furnishing, performance, or use of these programs. # ##########################################################################