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)