def test_generate_thankyou_letter():
    donor = Donor('Zhen', 'Yang', 230)
    donor.add_donation_amount(100)
    my_str = donor.generate_thankyou_letter().strip()
    assert my_str.startswith('Dear')
    assert my_str.endswith('Zhen')
    assert 'Yang' in my_str # test last name
    assert '100' in my_str # test total donation
def test_add_donation_amount():
    donor = Donor('Zhen', 'Yang', 230)
    donor.add_donation_amount(100)
    assert donor._first_name == 'Zhen'
    assert donor._last_name == 'Yang'
    assert donor.donation[1] == 100
    assert donor.total_amount == 330
    assert donor.total_gifts == 2
def test_update_donors_db():
    donor_1 = Donor('Adan', 'William', 100.75)
    donor_1.add_donation_amount(1200)
    donor_1.add_donation_amount(3200.45)
    donor_2 = Donor('Peter', 'Chiykowski', 25.25)
    donor_2.add_donation_amount(4340.25)
    donor_3 = Donor('Sara', 'Gogo', 650)
    my_donor_list = DonorCollection() # the donor data base
    # test adding new donors to the data base
    my_donor_list.update_donors_db(donor_1)
    my_donor_list.update_donors_db(donor_2)
    my_donor_list.update_donors_db(donor_3)
    assert len(my_donor_list.donorList) == 3 # test total number of donors
    assert my_donor_list.donorList[0].first_name == 'Adan'
    assert my_donor_list.donorList[0].last_name == 'William'
    assert my_donor_list.donorList[0].donation[1] == 1200
    assert my_donor_list.donorList[1].first_name == 'Peter'
    assert my_donor_list.donorList[1].last_name == 'Chiykowski'
    assert my_donor_list.donorList[1].donation[1] == 4340.25
    assert my_donor_list.donorList[2].first_name == 'Sara'
    assert my_donor_list.donorList[2].last_name == 'Gogo'
    assert my_donor_list.donorList[2].donation[0] == 650
    # test adding donation to existing donor
    donor_new = Donor('Sara', 'Gogo', 100)
    my_donor_list.update_donors_db(donor_new)
    assert len(my_donor_list.donorList) == 3 # still three donors
    assert my_donor_list.donorList[2].first_name == 'Sara'
    assert my_donor_list.donorList[2].last_name == 'Gogo'
    assert my_donor_list.donorList[2].total_gifts == 2 # total gifts changed
    assert my_donor_list.donorList[2].total_amount == 750 # tot amount changed
Beispiel #4
0
def create_initial_donor_database():
    donor_1 = Donor('Adan', 'William', 100.75)
    donor_1.add_donation_amount(1200)
    donor_1.add_donation_amount(3200.45)

    donor_2 = Donor('Peter', 'Chiykowski', 25.25)
    donor_2.add_donation_amount(4340.25)

    donor_3 = Donor('Sara', 'Gogo', 650)

    donor_4 = Donor('Jason', 'Zhang', 150.00)
    donor_4.add_donation_amount(35.50)
    donor_4.add_donation_amount(80.75)

    donor_5 = Donor('Zooe', 'Bezos', 10)
    donor_5.add_donation_amount(20)

    #donors_db = DonorCollection()
    donors_db.update_donors_db(donor_1)
    donors_db.update_donors_db(donor_2)
    donors_db.update_donors_db(donor_3)
    donors_db.update_donors_db(donor_4)
    donors_db.update_donors_db(donor_5)
    assert donor.total_amount == 330
    assert donor.total_gifts == 2

# generate_thankyou_letter() return an output string
def test_generate_thankyou_letter():
    donor = Donor('Zhen', 'Yang', 230)
    donor.add_donation_amount(100)
    my_str = donor.generate_thankyou_letter().strip()
    assert my_str.startswith('Dear')
    assert my_str.endswith('Zhen')
    assert 'Yang' in my_str # test last name
    assert '100' in my_str # test total donation

# create example donor database.
donor_1 = Donor('Adan', 'William', 100.75)
donor_1.add_donation_amount(1200)
donor_1.add_donation_amount(3200.45)
donor_2 = Donor('Peter', 'Chiykowski', 25.25)
donor_2.add_donation_amount(4340.25)
donor_3 = Donor('Sara', 'Gogo', 650)
donor_4 = Donor('Jason', 'Zhang', 150.00)
donor_4.add_donation_amount(35.50)
donor_4.add_donation_amount(80.75)
donor_5 = Donor('Zooe', 'Bezos', 10)
donor_5.add_donation_amount(20)

donors_db = DonorCollection() # the donor data base
donors_db.update_donors_db(donor_1)
donors_db.update_donors_db(donor_2)
donors_db.update_donors_db(donor_3)
donors_db.update_donors_db(donor_4)