def test_ex_compute_all_probabilities_for_5_and_2(self): """Test ex compute all probabilities for 5 and 2.""" result = list(examples.compute_all_probabilities(5, 2)) expected = [{'n': 5, 'm': 2, 'count': 3, 'p': Decimal('1')}, {'n': 5, 'm': 2, 'count': 4, 'p': Decimal('0.375')}, {'n': 5, 'm': 2, 'count': 5, 'p': Decimal('0.0625')}] for stats in result: stats['p'] = Decimal('%g' % stats['p']) self.assertEqual(result, expected)
def test_ex_compute_all_probabilities_for_3_real_cases(self): """Test ex compute all probabilities for 3 real cases.""" pairs = [({'n': 40, 'm': 4, 'count': 20}, float('2.2897244280e-03')), ({'n': 40, 'm': 8, 'count': 10}, float('1.7789512134e-01')), ({'n': 80, 'm': 4, 'count': 35}, float('7.8544408865e-04'))] for (param, expected) in pairs: n, m = param['n'], param['m'] for stats in examples.compute_all_probabilities(n, m): if stats['count'] == param['count']: break self.assertAlmostEqual(stats['p'], expected, 10)
def test_ex_compute_all_probabilities_for_5_and_2(self): """Test ex compute all probabilities for 5 and 2.""" result = list(examples.compute_all_probabilities(5, 2)) expected = [{ 'n': 5, 'm': 2, 'count': 3, 'p': Decimal('1') }, { 'n': 5, 'm': 2, 'count': 4, 'p': Decimal('0.375') }, { 'n': 5, 'm': 2, 'count': 5, 'p': Decimal('0.0625') }] for stats in result: stats['p'] = Decimal('%g' % stats['p']) self.assertEqual(result, expected)
def test_ex_compute_all_probabilities_for_3_real_cases(self): """Test ex compute all probabilities for 3 real cases.""" pairs = [({ 'n': 40, 'm': 4, 'count': 20 }, float('2.2897244280e-03')), ({ 'n': 40, 'm': 8, 'count': 10 }, float('1.7789512134e-01')), ({ 'n': 80, 'm': 4, 'count': 35 }, float('7.8544408865e-04'))] for (param, expected) in pairs: n, m = param['n'], param['m'] for stats in examples.compute_all_probabilities(n, m): if stats['count'] == param['count']: break self.assertAlmostEqual(stats['p'], expected, 10)