def test_donor_thank_you_letter(): d = Donor("Bill", 100) d.add_donation(200) d.add_donation(300) expected = f"Dear Bill,\n" \ f"Thank you very much for your generous donation of $300.00.\n" \ f"Sincerely,\n" \ f"PYTHON210 Class of 2018" assert d.thank_you_letter() == expected
def donor_actions(data): """ Sub-menu of user options data: Current user data base :return: None """ while True: print() print('Please choose from the following donor options:') print('1 = Return to main menu') print('2 = See a list of current donors') print('3 = Become a new donor') cmd = input('>>> ') if cmd == '1': break elif cmd == '2': print() print('We currently have the following donors on file: ') for i in data.donor_names(): print(i) elif cmd == '3': # TODO: check database if name already exists first = input('Please enter your first name: ') last = input('Please enter your last name: ') amount = float(input('Amount to donate today: ')) new_donor = Donor(first.capitalize(), last.capitalize(), amount) data.add_donor(new_donor) print() print(f'{new_donor.full_name} has been added as a donor.') else: print('-' * 40) print('Sorry, need a number between 1 and 3') print('-' * 40)
def test_donor_donation_calculations(): d = Donor("Bill", 100) d.add_donation(200) d.add_donation(300) assert d.num_donations() == 3 assert d.sum_donations() == 600 assert d.avg_donation() == 200
def test_donors_add_donor_w_multiple_donations(): db = Donors() db.add_donor(Donor("Bill", [1, 2, 3])) assert db["Bill"].name == "Bill" assert db["Bill"].donations == [1, 2, 3]
def test_donors_add_donor(): db = Donors() db.add_donor(Donor("Bill", 100)) assert db["Bill"].name == "Bill" assert db["Bill"].donations == [100]
def test_donor_init(): d = Donor("Bill", 100) assert d.name == "Bill" assert d.donations == [100]
def test_donor_add_donation(): d = Donor("Bill", 100) d.add_donation(200) d.add_donation(300) assert d.donations == [100, 200, 300]
def test_donor_init_w_multiple_donations(): d = Donor("Bill", [1, 2, 3]) assert d.name == "Bill" assert d.donations == [1, 2, 3]
data.add_donor(new_donor) print() print(f'{new_donor.full_name} has been added as a donor.') else: print('-' * 40) print('Sorry, need a number between 1 and 3') print('-' * 40) if __name__ == '__main__': """ Create a database with a few donors and execute main user prompt """ donor_db = DonorDataBase() d1 = Donor('John', 'Randal', [12.32, 34.53, 532.32]) d2 = Donor('Sarah', 'Samson', [1.32, 324.53, 2345.33, 6602.12]) d3 = Donor('Alex', 'Rez', [122.32, 2334.53]) d4 = Donor('Billy', 'Durst', [15.32, 34.00]) donor_db.add_donor(d1) donor_db.add_donor(d2) donor_db.add_donor(d3) donor_db.add_donor(d4) main_prompt = ("\nWelcome to the main menu!\n" "Please pick a number from the following:\n" "1: exit the program\n" "2: check donor list and become a donor\n" "3: display a summary of current donor activity\n" "4: print out a thank you for each donor\n"