예제 #1
0
def test_challenge():
    d = Donor('Paul Allen')
    d.add_donation(100)
    db = DonorDB()
    db.add_donor(d)
    db.challenge(3, mn=10)
    assert db.projection[d.name][0] == 300
예제 #2
0
def test_donor_init():
    d = Donor('William Gates III')
    assert d.name == 'William Gates III'
    assert d.donations == []
    d.add_donation(100)
    d.add_donation(200)
    assert d.total_donations == 300
def test_add_donation():
    d = Donor("John Adam", [307.9])
    d.add_donation(200)
    assert d.donations[-1] == 200
    args = [200, 300, 400, 100]
    d = Donor("Ashley Wiggins", args)
    d.add_donation(500)
    assert d.donations[-1] == 500
    assert d.total_donations == 5
    assert d.total_donations_amount == 1500
예제 #4
0
def test_email():
    """
    For Donor Class Object:
    Tests class function "average" for correct output.
    """
    d = Donor("Horse Malone")
    d.add_donation(50)
    assert (d.email(50) == ('\nDear Horse Malone, '
                            '\n\tThank you for your generous $50.00 donation.'
                            '\n\tYou are an amazing person. Good job!'))
def test_challenge():
    d = Donor('Paul Allen')
    d.add_donation(1000)

    db = DonorDB()
    db.add_donor(d)
    db.challenge(2, mn=100)
    
    assert db.projection[d.name][0] == 2000
    # assert print(db.projection) and False
예제 #6
0
def test_add_donation():
    """
    For Donor Class Object:
    Tests that a new donation gets added to donors donation list.
    """
    d = Donor("Horse")
    assert (d.donationlist == [])
    d.add_donation(50)
    assert (d.donationlist == [50])
    d.add_donation(100.78)
    assert (d.donationlist == [50.00, 100.78])
예제 #7
0
def test_donors():
    d = Donor('Paul Allen')
    d.add_donation(600)
    db = DonorDB()
    db.add_donor(d)
    assert db.get_total_from_donor('Paul Allen') == 600
    e = Donor('Jeff Bezos')
    e.add_donation(100)
    e.add_donation(200)
    db.add_donor(e)
    assert db.get_total_from_donor('Jeff Bezos') == 300
    assert db.count_donors == 2
    assert db.count_donations == 3
    assert db.total_donations == 900
    assert db.average_total_donation == 450
    assert db.average_single_donation == 300
    test_list = db.donor_list()
    assert test_list.startswith('Paul Allen')
    assert test_list.endswith('Jeff Bezos')
예제 #8
0
def test_average():
    """
    For Donor Class Object:
    Tests class function "average" for correct output.
    """
    d = Donor("Horse Malone")
    d.add_donation(50)
    d.add_donation(100.78)
    d.add_donation(99.99)
    assert (d.average == 83.59)
예제 #9
0
def test_total():
    """
    For Donor Class Object:
    Tests how many donations were given by donor.
    """
    d = Donor("Horse Malone")
    d.add_donation(50)
    d.add_donation(100.78)
    d.add_donation(99.99)
    assert (d.total == 3)
예제 #10
0
def test_donationlist():
    """
    For Donor Class Object:
    Tests historical donation list outputs correct data.
    """
    d = Donor("Horse Malone")
    d.add_donation(50)
    d.add_donation(100.78)
    d.add_donation(99.99)
    assert (d.donationlist == [50.00, 100.78, 99.99])
예제 #11
0
def test_amount():
    """
    For Donor Class Object:
    Tests sum total of donationlist is correct based on previous
    donations.
    """
    d = Donor("Horse Malone")
    d.add_donation(50)
    d.add_donation(100.78)
    d.add_donation(99.99)
    assert (d.amount == 250.77)