def test_donorcollection_append(): """Test DonorCollection append instance method.""" donor1 = Donor("Alexander Boone", 500, 2) donor2 = Donor("Alexander", 500, 2) collection = DonorCollection(donor1, donor2) donor3 = Donor("New Guy", 1000, 5) collection.append(donor3) assert len(collection.names) == 3 assert "New Guy" in collection.names assert repr(donor3) in collection.data assert donor3 in collection.donors
def load_donors(): """Load initial donor data into DonorCollection.""" donors = [ 'Arnold Schwarzenegger', 'Lebron James', 'Elon Musk', 'Walter White', 'Gordon Ramsay' ] donations = [100000, 1000000, 2000000, 500000, 1280000] donation_count = [1, 1, 1, 1, 1] collection = DonorCollection() for i in range(len(donors)): collection.append(Donor(donors[i], donations[i], donation_count[i])) return collection
def test_donor_collection_init(): donors = DonorCollection() d1 = Donor("Jason Jenkins", 124.123) d2 = Donor("Test", 0) donors.append(d1) donors.append(d2) assert donors[0].full_name == "Jason Jenkins" assert donors[0].total_given == 124.12 assert donors[0].num_gifts == 1 assert donors[0].average == 124.12 assert donors[1].full_name == "Test" assert donors[1].total_given == 0 assert donors[1].num_gifts == 0 assert donors[1].average == 0
def test_donor_collection_get_report(): donors = DonorCollection() will_gates = Donor("William Gates", 1345.462) mark_zuck = Donor("Mark Zuckerberg", 12546.124) mark_zuck.give(13445.124) jeff_bezo = Donor("Jeff Bezos", 1234.123) jeff_bezo.give(12341431.12) paul_allen = Donor("Paul Allen", 734.12) paul_allen.give(124.41) paul_allen.give(10000) jason_jenkins = Donor("Jason Jenkins", 10) jason_jenkins.give(20) jason_jenkins.give(30) jason_jenkins.give(40) jason_jenkins.give(50) jason_jenkins.give(60) donors.append(will_gates) donors.append(mark_zuck) donors.append(jeff_bezo) donors.append(paul_allen) donors.append(jason_jenkins) expected = [] expected.append(["Jeff Bezos", 12342665.24, 2, 6171332.62]) expected.append(["Mark Zuckerberg", 25991.25, 2, 12995.62]) expected.append(["Paul Allen", 10858.53, 3, 3619.51]) expected.append(["William Gates", 1345.46, 1, 1345.46]) expected.append(["Jason Jenkins", 210.00, 6, 35.00]) assert donors.get_report() == expected
def test_donor_collection_append(): donor = Donor("Peter Pan", [5.00, 10.00, 15.00, 20.00, 25.00]) donor_collection = DonorCollection(donors_data) donor_collection.append(donor) assert "Peter Pan" in donor_collection.donors
def test_donor_collection_append_error(self, test_input, expected, donors): donor_collection = DonorCollection(donors) with raises(expected): donor_collection.append(test_input)
def test_donor_collection_append_multiple(self, test_input, expected, donors): donor_collection = DonorCollection(donors) donor_collection.append(test_input) for donor in expected: assert donor in donor_collection.donors
def test_donor_collection_append(self, test_input, expected, donors): donor_collection = DonorCollection(donors) donor_collection.append(test_input) assert expected in donor_collection.donors
menu_dict = {"1": send_thanks, "2": display_report, "3": quit_program} if __name__ == "__main__": # Initial Setup will_gates = Donor("William Gates", 1345.462) mark_zuck = Donor("Mark Zuckerberg", 12546.124) mark_zuck.give(13445.124) jeff_bezo = Donor("Jeff Bezos", 1234.123) jeff_bezo.give(12341431.12) paul_allen = Donor("Paul Allen", 734.12) paul_allen.give(124.41) paul_allen.give(10000) jason_jenkins = Donor("Jason Jenkins", 10) jason_jenkins.give(20) jason_jenkins.give(30) jason_jenkins.give(40) jason_jenkins.give(50) jason_jenkins.give(60) donors.append(will_gates) donors.append(mark_zuck) donors.append(jeff_bezo) donors.append(paul_allen) donors.append(jason_jenkins) startup_prompt()