Exemple #1
0
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