Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
 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)
Пример #4
0
 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)