def setUp(self): # Reset global donation database after each test case mr.donor_db = defaultdict( lambda: mr.init_donor_data(), { 'Test Donor 1': mr.init_donor_data([1000, 5000, 10000]), 'Test Donor 2': mr.init_donor_data([12000, 5000, 27000]), "Test Donor 3": mr.init_donor_data([38734, 6273, 67520]) })
def test_add_donation(self): """Test the add_donation() fxn""" mr.donor_db = defaultdict(lambda: mr.init_donor_data(), { 'Test Donor 1': {}, 'Test Donor 2': {} }) # Test adding new donor test_results = { mr.GIFTS_KEY: [500], mr.NUM_GIFTS_KEY: 1, mr.TOTAL_KEY: 500, mr.AVE_KEY: 500 } mr.add_donation('Test Donor 3', 500) self.assertTrue(mr.donor_db['Test Donor 3'] == test_results, msg=mr.donor_db['Test Donor 3']) # Test adding to existing donor test_results = { mr.GIFTS_KEY: [500, 1000], mr.NUM_GIFTS_KEY: 2, mr.TOTAL_KEY: 1500, mr.AVE_KEY: 750 } mr.add_donation('Test Donor 3', 1000) self.assertTrue(mr.donor_db['Test Donor 3'] == test_results, mr.donor_db['Test Donor 3'])
def test_init_donor_data(self): """Tests the init_donor_data() fxn""" # Test with default parameter ret_dict = mr.init_donor_data() self.assertTrue(ret_dict[mr.GIFTS_KEY] == [], ret_dict[mr.GIFTS_KEY]) self.assertTrue(ret_dict[mr.NUM_GIFTS_KEY] == 0, ret_dict[mr.NUM_GIFTS_KEY]) self.assertTrue(ret_dict[mr.TOTAL_KEY] == 0, ret_dict[mr.TOTAL_KEY]) self.assertTrue(ret_dict[mr.AVE_KEY] == 0, ret_dict[mr.AVE_KEY]) # Test with argument gifts = [5, 10, 20, 15] ret_dict = mr.init_donor_data(gifts=gifts) self.assertTrue(ret_dict[mr.GIFTS_KEY] == gifts, ret_dict[mr.GIFTS_KEY]) self.assertTrue(ret_dict[mr.NUM_GIFTS_KEY] == 4, ret_dict[mr.NUM_GIFTS_KEY]) self.assertTrue(ret_dict[mr.TOTAL_KEY] == 50, ret_dict[mr.TOTAL_KEY]) self.assertTrue(ret_dict[mr.AVE_KEY] == 12.5, ret_dict[mr.AVE_KEY])