def test_get_donor(): # Test that donors can be retrieved from collection dc = DonorCollection() dc.update_donor('Meghanr Tainor', 100.0) d = dc.get_donor('Meghanr Tainor') assert d.name == 'Meghanr Tainor' assert d.last_donation() == 100.0
def test_update_donor(): # Tests that new donor can be added and updated dc = DonorCollection() dc.update_donor('Jason Mendoza',100.) dc.update_donor('Jason Mendoza',200.) d = dc.get_donor('Jason Mendoza') assert d.last_donation() == 200. assert d.total_donations() == 300. assert d.num_donations() == 2 assert d.average_donation() == 150.
def test_update_donor(): # Tests that new donor can be added and updated dc = DonorCollection() dc.update_donor('Meghanr Tainor', 100.00) dc.update_donor('Meghanr Tainor', 200.00) d = dc.get_donor('Meghanr Tainor') assert d.last_donation() == 200.00 assert d.total_donations() == 300.00 assert d.num_donations() == 2 assert d.average_donation() == 150.00
def test_report_generation(): # Test report generation dc = DonorCollection() donors = ['Eleanor Shellstrop', 'Jason Mendoza', 'Chidi Anagonye'] amounts = [[50.,25.,75.], [100.,50.,80.], [200.,100.,300.]] for donor, amount in zip(donors,amounts): for donation in amount: dc.update_donor(donor, donation) report = dc.generate_report_data() assert len(report) == len(donors) assert report[-1] == ('Eleanor Shellstrop', 150., 3, 50.)
def test_get_donor(): # Test that donors can be retrieved from collection dc = DonorCollection() dc.update_donor('Jason Mendoza',100.) d = dc.get_donor('Jason Mendoza') assert isinstance(d,Donor) assert d.name == 'Jason Mendoza' assert d.last_donation() == 100. # Should return new donor if donor does not exist d = dc.get_donor('New Donor') assert isinstance(d,Donor) assert d.name == 'New Donor'
def test_report_generation(): # Test report generation dc = DonorCollection() donors = ['Meghanr Tainor', 'Jason Mendoza', 'Chidi Anagonye'] amounts = [[50.00, 25.00, 75.00], [100.00, 50.00, 80.00], [200.00, 100.00, 300.00]] for donor, amount in zip(donors, amounts): for donation in amount: dc.update_donor(donor, donation) report = dc.generate_report_data() assert len(report) == len(donors) assert report[-1] == ('Meghanr Tainor', 150.00, 3, 50.00)
def test_get_donor_names(): # Test that list of donor names can be retrieved dc = DonorCollection() dc.update_donor('Eleanor Shellstrop',50.) dc.update_donor('Jason Mendoza',25.) dc.update_donor('Chidi Anagonye',100.) donors = dc.donor_names donors.sort() assert donors == ['Chidi Anagonye', 'Eleanor Shellstrop', 'Jason Mendoza']
def test_get_donor_names(): # Test that list of donor names can be retrieved dc = DonorCollection() dc.update_donor('Meghanr Tainor', 50.00) dc.update_donor('Demi Lovato', 25.00) dc.update_donor('Charlie Puth', 100.00) donors = dc.donor_names donors.sort() assert donors == ['Charlie Puth', 'Demi Lovato', 'Meghanr Tainor']
def test_add_donor(): # Test that donors can be added to collection dc = DonorCollection() dc.update_donor('Jason Mendoza',25.) donors = dc.donors assert 'Jason Mendoza' in donors
def send_letters(): # Prompt for directory to write to target = input('Enter directory to put letters > ') if create_directory(target): write_letters(target) def exit_program(): print('Exiting program...') sys.exit() def main(): response_dict = {'1':write_thank_you,'2':create_report,'3':send_letters,'4':exit_program} # Main function, repeatedly display prompt and react based on user input while True: try: response_dict[input(prompt)]() except KeyError: print('Not a valid option! Please try again.') if __name__ == "__main__": # Create some donor data for running the program from the command line dc = DonorCollection() donors = ['Eleanor Shellstrop', 'Jason Mendoza', 'Chidi Anagonye'] amounts = [[50.,25.,75.], [100.,50.,80.], [200.,100.,300.]] for donor, amount in zip(donors,amounts): for donation in amount: dc.update_donor(donor, donation) # Driver for main function main()
def test_DonorCollect_update(): """ tests whether an existing donor's information can be updated """ donors = Donors() donor = donors.update_donor("Smeagol", 500) n = donor.donation_number assert n == 2
def test_add_donor(): # Test that donors can be added to collection dc = DonorCollection() dc.update_donor('Meghanr Tainor', 25.) donors = dc.donors assert 'Meghanr Tainor' in donors