def test_donors_add_donations_empty_db(): db = Donors() db.add_donation("A Name", 1) expected = " A Name" assert db.list_donors() == expected assert db["A Name"].name == "A Name" assert db["A Name"].donations == [1]
def test_donors_add_donations_empty_value_list(): db = Donors({"A Name": [], "B Name": []}) db.add_donation("A Name", 3) expected = " A Name\n B Name" assert db.list_donors() == expected assert db["A Name"].donations == [3] assert db["B Name"].donations == []
def test_donors_add_donations_name_in_db(): db = Donors({"A Name": [1], "B Name": [2]}) db.add_donation("A Name", 3) expected = " A Name\n B Name" assert db.list_donors() == expected assert db["A Name"].donations == [1, 3] assert db["B Name"].donations == [2]
def test_add_donation(): donors = Donors() donors.add_donation("Mark", 10) assert donors.get_donor("Mark") == Donor("Mark", 10) donors.add_donation("Mark", 20) assert donors.get_donor("Mark").donations == (10, 20) donors.add_donation("Mary", 30) assert donors.get_donor("Mary") == Donor("Mary", 30) assert set(donors.names) == set(["Mark", "Mary"])
except ValueError: display("Error: Could not parse float. Please try again.") return _input ty_dict = {'list': [display_donors, do_ty_menu], 'q': [lambda: display("Returning to Main Menu."), do_main_menu]} main_dict = {'s': [do_ty_menu], 'c': [display_report, do_main_menu], 'm': [mail_all_donors, do_main_menu], 'p': [do_projection, do_main_menu], 'q': [lambda: display("Exiting...")]} if __name__ == "__main__": donors.add_donation("William Gates, III", 456456.22) donors.add_donation("William Gates, III", 197328.27) donors.add_donation("Mark Zuckerberg", 4567.97) donors.add_donation("Mark Zuckerberg", 7521.42) donors.add_donation("Mark Zuckerberg", 4306.71) donors.add_donation("Jeff Bezos", 877.33) donors.add_donation("Paul Allen", 150.00) donors.add_donation("Paul Allen", 450.00) donors.add_donation("Paul Allen", 108.42) donors.add_donation("Sergey Brin", 956755.89) donors.add_donation("Sergey Brin", 123.89) donors.add_donation("Sergey Brin", 34732.22) do_main_menu()
def test_donors_add_donations_name_not_in_db(): db = Donors({"A Name": [1]}) db.add_donation("B Name", 2) expected = " A Name\n B Name" assert db.list_donors() == expected