File: test_timeit.py

package info (click to toggle)
jython 2.7.3%2Brepack1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 62,820 kB
  • sloc: python: 641,384; java: 306,981; xml: 2,066; sh: 514; ansic: 126; makefile: 77
file content (37 lines) | stat: -rw-r--r-- 1,113 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import timeit
import unittest
import test.test_support

# some uninspired unit tests extracted from the docs for timeit;
# changed number=10000 so we don't spend too much time testing this
# module in the regrtest

class TestTimeit(unittest.TestCase):

    def test_oct(self):
        timing = timeit.Timer('for i in xrange(10): oct(i)', 'gc.enable()').timeit(number=10000)
        self.assertTrue(timing > 0.)
        timing_vector = timeit.Timer('for i in xrange(10): oct(i)').repeat(number=10000)
        self.assertEqual(len(timing_vector), 3)
        self.assertTrue(min(timing_vector) > 0.)

    def test_str(self):
        s = """\
            try:
                str.__nonzero__
            except AttributeError:
                pass
            """
        t = timeit.Timer(stmt=s)
        self.assertTrue(t.timeit(number=10000) > 0.)

        timing_vector = t.repeat(number=10000, repeat=10)
        self.assertEqual(len(timing_vector), 10)
        self.assertTrue(min(timing_vector) > 0.)


def test_main():
    test.test_support.run_unittest(TestTimeit)

if __name__ == "__main__":
    test_main()