예제 #1
0
class TestBinomialClass(unittest.TestCase):
    def setUp(self):
        self.binomial = Binomial('numbers_binomial.txt')

    def test_readdata(self):
        self.assertEqual(self.binomial.data,\
         [0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0], 'data not read in correctly')

    def test_meancalculation(self):
        mean = self.binomial.calculate_mean()
        self.assertEqual(round(mean, 2), 8.00,
                         'calculated mean not as expected')

    def test_stdevcalculation(self):
        stdev = self.binomial.calculate_stdev()
        self.assertEqual(
            round(stdev, 2), 1.75, 'calculated standard deviation\
                         not as expected')

    def test_pmf(self):
        self.assertEqual(
            round(self.binomial.pmf(5), 3), 0.054, 'propability \
        mass function does not give the expected result ')
        self.assertEqual(round(self.binomial.pmf(3), 3), 0.005)

    def test_def(self):
        self.assertEqual(str(self.binomial),
        """Number of trials {}, success propability for each trial {} """ .\
        format(13, 0.62),'Parameters of the Binomial not as expected')
class TestBinomialClass(unittest.TestCase):
    def setUp(self):
        self.binomial = Binomial(0.4, 20)
        self.binomial.read_data_file("numbers_binomial.txt")

    def test_initialization(self):
        self.assertEqual(self.binomial.p, 0.4, "p value incorrect")
        self.assertEqual(self.binomial.n, 20, "n value incorrect")

    def test_readdata(self):
        self.assertEqual(
            self.binomial.data,
            [0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0],
            "data not read in correctly",
        )

    def test_calculatemean(self):
        mean = self.binomial.calculate_mean()
        self.assertEqual(mean, 8)

    def test_calculatestdev(self):
        stdev = self.binomial.calculate_stdev()
        self.assertEqual(round(stdev, 2), 2.19)

    def test_replace_stats_with_data(self):
        p, n = self.binomial.replace_stats_with_data()
        self.assertEqual(round(p, 3), 0.615)
        self.assertEqual(n, 13)

    def test_pdf(self):
        self.assertEqual(round(self.binomial.pdf(5), 5), 0.07465)
        self.assertEqual(round(self.binomial.pdf(3), 5), 0.01235)

        self.binomial.replace_stats_with_data()
        self.assertEqual(round(self.binomial.pdf(5), 5), 0.05439)
        self.assertEqual(round(self.binomial.pdf(3), 5), 0.00472)

    def test_add(self):
        binomial_one = Binomial(0.4, 20)
        binomial_two = Binomial(0.4, 60)
        binomial_sum = binomial_one + binomial_two

        self.assertEqual(binomial_sum.p, 0.4)
        self.assertEqual(binomial_sum.n, 80)