def test_collection_list_donors(): donors = DonorCollection() donors.add(Donor('A. Tester', [1.23])) donors.add(Donor('B. Developer', [4.56])) print(donors.list_donors()) assert 'A. Tester' in donors.list_donors() assert 'B. Developer' in donors.list_donors() assert 'A. Tester\nB. Developer' in donors.list_donors()
def test_collection_add(): donor = Donor('A. Tester', [1.23]) donors = DonorCollection() donors.add(donor) assert 'A. Tester' in donors.donors.keys() donor2 = Donor('B. Developer', [1.23, 2.34]) donors.add(donor2) assert 'B. Developer' in donors.donors.keys()
def test_collection_print_report(): cur_dir = os.getcwd() donors = DonorCollection() donors.add(Donor('Test1', [10])) donors.add(Donor('Test2', [27])) donor_count = len(donors.donors) donors.print_report() donor_file_count = len([x for x in os.listdir(cur_dir) if x.endswith('.txt')]) assert donor_file_count == donor_count
def test_create_report(): donors = DonorCollection() donors.add(Donor('Tester 01', [1.00, 2.00])) expected = ("\nDonor Name | Total Given | Num Gifts | Average Gift\n" "------------------------------------------------------------------\n" "Tester 01 $ 3.00 2 $ 1.50\n") actual = donors.create_report() print(actual) assert actual == expected
def main(): prompt_action = { "1": enter_a_donation, "2": create_report, "3": print_report, "4": exit_program } donors = DonorCollection() donors.add(Donor('Bill Gates', [1, 2])) donors.add(Donor('Warren Buffet', [12, 22])) donors.add(Donor('Jeff Bezos', [199])) donors.add(Donor('Mark Zuckerberg', [10.12, 20.30, 40.44])) donors.add(Donor('Melinda Gates', [99.00])) while True: response = input(prompt) # continuously collect user selection # now redirect to feature functions based on the user selection try: prompt_action[response](donors) except KeyError: print("try again")
def main(): prompt_action = { "1": enter_a_donation, "2": create_report, "3": print_report, "4": exit_program } donors = DonorCollection() donors.add(Donor('Jimmy Hendrix', [23.23, 24.48])) donors.add(Donor('Jack White', [32.84, 48])) donors.add(Donor('Keith Richards', [68])) donors.add(Donor('Jimmy Page', [34, 89])) donors.add(Donor('Albert Hamond', [34, 64, 49])) while True: response = input(prompt) # continuously collect user selection # now redirect to feature functions based on the user selection try: prompt_action[response](donors) except KeyError: print("try again")
def test_collection_donor_exists(): donors = DonorCollection() donors.add(Donor('Test1', [10])) donors.add(Donor('Test2', [27])) assert donors.donor_exists('Test1') assert donors.donor_exists('Test2')