Index: Lib/test/test_range.py =================================================================== --- Lib/test/test_range.py (revision 62635) +++ Lib/test/test_range.py (working copy) @@ -51,16 +51,35 @@ self.assertRaises(TypeError, range, 0, "spam") self.assertRaises(TypeError, range, 0, 42, "spam") + def test_repr(self): + self.assertEqual(repr(range(1)), 'range(0, 1)') + self.assertEqual(repr(range(1, 2)), 'range(1, 2)') + self.assertEqual(repr(range(1, 2, 3)), 'range(1, 2, 3)') + + def test_attributes(self): + r = range(0, 10, 2) + self.assertEqual(r.start, 0) + self.assertEqual(r.stop, 10) + self.assertEqual(r.step, 2) + r = range(10) + self.assertEqual(r.start, 0) + self.assertEqual(r.stop, 10) + self.assertEqual(r.step, 1) + r = range(10, 0, 4) + self.assertEqual(r.start, 10) + self.assertEqual(r.stop, 0) + self.assertEqual(r.step, 4) + + def test_len(self): + self.assertEqual(len(range(10)), 10) + self.assertEqual(len(range(10, 0)), 0) + self.assertEqual(len(range(0, 10, 2)), 5) + self.assertEqual(len(range(0, sys.maxsize, sys.maxsize-1)), 2) r = range(-sys.maxsize, sys.maxsize, 2) self.assertEqual(len(r), sys.maxsize) - def test_repr(self): - self.assertEqual(repr(range(1)), 'range(0, 1)') - self.assertEqual(repr(range(1, 2)), 'range(1, 2)') - self.assertEqual(repr(range(1, 2, 3)), 'range(1, 2, 3)') - def test_main(): test.test_support.run_unittest(RangeTest)