Ejemplo n.º 1
0
class TestDonor(unittest.TestCase):
    """Unit tests for the Donor class"""
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.test_name = 'Test Donor'
        self.test_dons = [100, 500, 50.05]
        self.test_total = sum(self.test_dons)
        self.test_ave = self.test_total / len(self.test_dons)

    def setUp(self):
        self.donor = Donor(self.test_name, self.test_dons)

    def tearDown(self):
        pass

    def test_get_donations(self):
        """Test donations attribute"""
        self.assertTrue(self.donor.donations == self.test_dons)

    def test_set_donations(self):
        """Test setting donations attribute"""
        with self.assertRaises(AttributeError):
            self.donor.donations = [100, 20]

    def test_get_num_donations(self):
        """Test num_donations attribute"""
        self.assertTrue(self.donor.num_donations == len(self.test_dons))

    def test_set_num_donations(self):
        """Test setting num_donations attribute"""
        with self.assertRaises(AttributeError):
            self.donor.num_donations = 4

    def test_get_total_donations(self):
        """Test total_donations attribute"""
        self.assertTrue(self.donor.total_donations == self.test_total)

    def test_set_total_donations(self):
        """Test setting total_donations attribute"""
        with self.assertRaises(AttributeError):
            self.donor.total_donations = 100

    def test_get_ave_donations(self):
        """Test average_donations attribute"""
        self.assertTrue(self.donor.average_donations == self.test_ave)

    def test_set_ave_donations(self):
        """Test setting average_donations attribute"""
        with self.assertRaises(AttributeError):
            self.donor.average_donations = 100

    def test_add_donation(self):
        """Test add_donation method"""
        donation = random.randint(0, 10000.0)
        self.donor.add_donation(donation)
        self.assertTrue(self.donor.donations == self.test_dons + [donation])
        self.assertTrue(self.donor.num_donations == len(self.test_dons) + 1)
        self.assertTrue(self.donor.total_donations == self.test_total + donation)
        self.assertTrue(self.donor.average_donations ==
                        (self.test_total + donation) / (len(self.test_dons) + 1))
Ejemplo n.º 2
0
def test_add_donation():
    donor = Donor("Fred Flintstone")

    donor.add_donation(500)
    assert int(donor.donation) is True
    assert donor.num_donation == 1