def test_update_donors_db(): donor_1 = Donor('Adan', 'William', 100.75) donor_1.add_donation_amount(1200) donor_1.add_donation_amount(3200.45) donor_2 = Donor('Peter', 'Chiykowski', 25.25) donor_2.add_donation_amount(4340.25) donor_3 = Donor('Sara', 'Gogo', 650) my_donor_list = DonorCollection() # the donor data base # test adding new donors to the data base my_donor_list.update_donors_db(donor_1) my_donor_list.update_donors_db(donor_2) my_donor_list.update_donors_db(donor_3) assert len(my_donor_list.donorList) == 3 # test total number of donors assert my_donor_list.donorList[0].first_name == 'Adan' assert my_donor_list.donorList[0].last_name == 'William' assert my_donor_list.donorList[0].donation[1] == 1200 assert my_donor_list.donorList[1].first_name == 'Peter' assert my_donor_list.donorList[1].last_name == 'Chiykowski' assert my_donor_list.donorList[1].donation[1] == 4340.25 assert my_donor_list.donorList[2].first_name == 'Sara' assert my_donor_list.donorList[2].last_name == 'Gogo' assert my_donor_list.donorList[2].donation[0] == 650 # test adding donation to existing donor donor_new = Donor('Sara', 'Gogo', 100) my_donor_list.update_donors_db(donor_new) assert len(my_donor_list.donorList) == 3 # still three donors assert my_donor_list.donorList[2].first_name == 'Sara' assert my_donor_list.donorList[2].last_name == 'Gogo' assert my_donor_list.donorList[2].total_gifts == 2 # total gifts changed assert my_donor_list.donorList[2].total_amount == 750 # tot amount changed
# create example donor database. donor_1 = Donor('Adan', 'William', 100.75) donor_1.add_donation_amount(1200) donor_1.add_donation_amount(3200.45) donor_2 = Donor('Peter', 'Chiykowski', 25.25) donor_2.add_donation_amount(4340.25) donor_3 = Donor('Sara', 'Gogo', 650) donor_4 = Donor('Jason', 'Zhang', 150.00) donor_4.add_donation_amount(35.50) donor_4.add_donation_amount(80.75) donor_5 = Donor('Zooe', 'Bezos', 10) donor_5.add_donation_amount(20) donors_db = DonorCollection() # the donor data base donors_db.update_donors_db(donor_1) donors_db.update_donors_db(donor_2) donors_db.update_donors_db(donor_3) donors_db.update_donors_db(donor_4) donors_db.update_donors_db(donor_5) # test send thank you letter to each donor. def test_send_letters(): donor_list = [] sorted_list = donors_db.sort_donors_db() for donor in sorted_list: my_str = donor.send_letters().strip() donor_list.append(my_str) my_str = ''.join(donor_list) assert my_str.startswith('Dear') assert my_str.endswith('Zhen')