Example #1
0
    def test_timer(self):
        def runner(timer):
            self.assertFalse(timer.started)
            self.assertEqual(timer.elapsed, None)

            with self.assertRaises(RuntimeError):
                timer.stop()

            timer.start()
            self.assertEqual(timer.elapsed, None)
            self.assertTrue(timer.started)
            with self.assertRaises(RuntimeError):
                timer.start()

            timer.stop()
            self.assertFalse(timer.started)
            self.assertIsInstance(timer.elapsed, float)

            self.assertEqual(timer.tags, {'foo': 'bar'})

        timer = Timer({"foo": "bar"})

        runner(timer)

        cloned = timer.clone()
        self.assertIsNot(timer, cloned)

        runner(cloned)
Example #2
0
    def test_timer(self):
        def runner(timer):
            self.assertFalse(timer.started)
            self.assertEqual(timer.elapsed, None)

            with self.assertRaises(RuntimeError):
                timer.stop()

            timer.start()
            self.assertEqual(timer.elapsed, None)
            self.assertTrue(timer.started)
            with self.assertRaises(RuntimeError):
                timer.start()

            timer.stop()
            self.assertFalse(timer.started)
            self.assertIsInstance(timer.elapsed, float)

            self.assertEqual(timer.tags, {'foo': 'bar'})

        timer = Timer({"foo": "bar"})

        runner(timer)

        cloned = timer.clone()
        self.assertIsNot(timer, cloned)

        runner(cloned)
Example #3
0
 def test_timer_repr(self):
     timer = Timer({"foo": "bar"})
     assert 'Timer' in repr(timer)
     timer.start()
     assert 'started:' in repr(timer)
     timer.stop()
     assert 'elapsed:' in repr(timer)
Example #4
0
    def test_timer_decorator(self):
        def runner():
            return

        timer = Timer({"foo": "bar"})
        decorated = timer(runner)
        decorated()
Example #5
0
    def test_timer_context(self):
        timer = Timer({"foo": "bar"})
        self.assertFalse(timer.started)
        with timer as t:
            self.assertIs(timer, t)
            self.assertTrue(t.started)

        self.assertIs(timer, t)
        self.assertFalse(t.started)
Example #6
0
 def test_timer_repr(self):
     timer = Timer({"foo": "bar"})
     assert 'Timer' in repr(timer)
     timer.start()
     assert 'started:' in repr(timer)
     timer.stop()
     assert 'elapsed:' in repr(timer)