Esempio n. 1
0
class DurationTrackerTestCase(unittest.TestCase):
    def setUp(self):
        paths.build('_dt')
        self.dt = AutomatedRunDurationTracker()

    def tearDown(self):
        os.remove(paths.duration_tracker)
        os.remove(paths.duration_tracker_frequencies)

    def test_prob(self):
        run = MockRun('1000-01', 'a', 'a')
        self.dt.update(run, 10)
        run = MockRun('1000-01', 'a', 'b')
        self.dt.update(run, 1)
        self.dt.update(run, 1)

        prob = self.dt._frequencies['a']
        self.assertEqual(prob, 2 / 3.)

    def test_prob2(self):
        run = MockRun('1000-01', 'a', 'a')
        self.dt.update(run, 10)
        run = MockRun('1000-01', 'a', 'b')
        self.dt.update(run, 1)
        self.dt.update(run, 1)
        self.dt.update(run, 1)

        prob = self.dt._frequencies['a']
        self.assertEqual(prob, 3 / 4.)
Esempio n. 2
0
 def setUp(self):
     paths.build('_dt')
     self.dt = AutomatedRunDurationTracker()
Esempio n. 3
0
class DurationTrackerTestCase(unittest.TestCase):
    def setUp(self):
        paths.build('_dt')
        self.dt = AutomatedRunDurationTracker()

    def tearDown(self):
        os.remove(paths.duration_tracker)
        os.remove(paths.duration_tracker_frequencies)

    def test_prob(self):
        run = MockRun('1000-01', 'a', 'a')
        self.dt.update(run, 10)
        run = MockRun('1000-01', 'a', 'b')
        self.dt.update(run, 1)
        self.dt.update(run, 1)

        prob = self.dt._frequencies['a']
        self.assertEqual(prob, 2 / 3.)

    def test_prob2(self):
        run = MockRun('1000-01', 'a', 'a')
        self.dt.update(run, 10)
        run = MockRun('1000-01', 'a', 'b')
        self.dt.update(run, 1)
        self.dt.update(run, 1)
        self.dt.update(run, 1)

        prob = self.dt._frequencies['a']
        self.assertEqual(prob, 3 / 4.)

    def test_pm(self):
        run = MockRun('1000-01', 'a', 'a')
        self.dt.update(run, 10)
        run = MockRun('1000-01', 'a', 'b')
        self.dt.update(run, 1)
        self.dt.update(run, 1)
        self.dt.update(run, 1)
        n = 2e4
        ds = [self.dt.probability_model('a', 'b') for i in xrange(int(n))]
        nt = ds.count(1)

        self.assertAlmostEqual(nt / float(n), 0.75, 1)