def report_action(donors: DonorCollection) -> None: """Create and print a report of donations. Parameters ---------- donors : DonorCollection DonorCollection to operate on """ print('\n') print(donors.get_report()) print('\n')
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