def test_donor_init():
    d1 = Donor("Jason Jenkins", 124.2456)

    assert d1.full_name == "Jason Jenkins"
    assert d1.total_given == 124.25
    assert d1.num_gifts == 1
    assert d1.average == 124.25

    d2 = Donor("Test", 0)
    d2.give(4)
    d2.give(2)
    d2.give(1)

    assert d2.full_name == "Test"
    assert d2.total_given == 7
    assert d2.num_gifts == 3
    assert d2.average == 2.33
Beispiel #2
0
        try:
            menu_dict[response]()
        except KeyError:
            print(f"{response} is not a valid input.")


# Global Variables
donors = DonorCollection()
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)
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