import unittest from psyco.builtin import _xrange class TestXrange (unittest.TestCase): def test_xrange(self,n=1): xrange = _xrange def gen_args(n): inputs = range(-n, n) for low in inputs: for high in inputs: for step in inputs: yield (low, high, step) if low == 0 and step == 1: yield (high,) if step == 1: yield (low, high) for args in gen_args(n): try: bxro = __builtins__.xrange(*args) except ValueError: try: xrange(*args) except ValueError: pass else: assert 0 else: mxro = xrange(*args) assert len(bxro) == len(mxro) assert list(bxro) == list(mxro) assert repr(bxro) == repr(mxro) for i in range(1-len(bxro), len(bxro)): assert bxro[i] == mxro[i] unittest.main()