| OLD | NEW |
| 1 # Python test set -- built-in functions | 1 # Python test set -- built-in functions |
| 2 | 2 |
| 3 import test.test_support, unittest | 3 import test.test_support, unittest |
| 4 import sys | 4 import sys |
| 5 | 5 |
| 6 import warnings | 6 import warnings |
| 7 warnings.filterwarnings("ignore", "integer argument expected", | 7 warnings.filterwarnings("ignore", "integer argument expected", |
| 8 DeprecationWarning, "unittest") | 8 DeprecationWarning, "unittest") |
| 9 | 9 |
| 10 class RangeTest(unittest.TestCase): | 10 class RangeTest(unittest.TestCase): |
| 11 def test_range(self): | 11 def test_range(self): |
| 12 self.assertEqual(list(range(3)), [0, 1, 2]) | 12 self.assertEqual(list(range(3)), [0, 1, 2]) |
| 13 self.assertEqual(list(range(1, 5)), [1, 2, 3, 4]) | 13 self.assertEqual(list(range(1, 5)), [1, 2, 3, 4]) |
| 14 self.assertEqual(list(range(0)), []) | 14 self.assertEqual(list(range(0)), []) |
| 15 self.assertEqual(list(range(-3)), []) | 15 self.assertEqual(list(range(-3)), []) |
| 16 self.assertEqual(list(range(1, 10, 3)), [1, 4, 7]) | 16 self.assertEqual(list(range(1, 10, 3)), [1, 4, 7]) |
| 17 self.assertEqual(list(range(5, -5, -3)), [5, 2, -1, -4]) | 17 self.assertEqual(list(range(5, -5, -3)), [5, 2, -1, -4]) |
| 18 | 18 |
| 19 a = 10 | 19 a = 10 |
| 20 b = 100 | 20 b = 100 |
| 21 c = 50 | 21 c = 50 |
| 22 | 22 |
| 23 self.assertEqual(list(range(a, a+2)), [a, a+1]) | 23 self.assertEqual(list(range(a, a+2)), [a, a+1]) |
| 24 self.assertEqual(list(range(a+2, a, -1)), [a+2, a+1]) | 24 self.assertEqual(list(range(a+2, a, -1)), [a+2, a+1]) |
| 25 self.assertEqual(list(range(a+4, a, -2)), [a+4, a+2]) | 25 self.assertEqual(list(range(a+4, a, -2)), [a+4, a+2]) |
| 26 | 26 |
| 27 seq = list(range(a, b, c)) | 27 seq = list(range(a, b, c)) |
| 28 self.assert_(a in seq) | 28 self.assert_(a in seq) |
| 29 self.assert_(b not in seq) | 29 self.assert_(b not in seq) |
| 30 self.assertEqual(len(seq), 2) | 30 self.assertEqual(len(seq), 2) |
| 31 | 31 |
| 32 seq = list(range(b, a, -c)) | 32 seq = list(range(b, a, -c)) |
| 33 self.assert_(b in seq) | 33 self.assert_(b in seq) |
| 34 self.assert_(a not in seq) | 34 self.assert_(a not in seq) |
| 35 self.assertEqual(len(seq), 2) | 35 self.assertEqual(len(seq), 2) |
| 36 | 36 |
| 37 seq = list(range(-a, -b, -c)) | 37 seq = list(range(-a, -b, -c)) |
| 38 self.assert_(-a in seq) | 38 self.assert_(-a in seq) |
| 39 self.assert_(-b not in seq) | 39 self.assert_(-b not in seq) |
| 40 self.assertEqual(len(seq), 2) | 40 self.assertEqual(len(seq), 2) |
| 41 | 41 |
| 42 self.assertRaises(TypeError, range) | 42 self.assertRaises(TypeError, range) |
| 43 self.assertRaises(TypeError, range, 1, 2, 3, 4) | 43 self.assertRaises(TypeError, range, 1, 2, 3, 4) |
| 44 self.assertRaises(ValueError, range, 1, 2, 0) | 44 self.assertRaises(ValueError, range, 1, 2, 0) |
| 45 | 45 |
| 46 self.assertRaises(TypeError, range, 0.0, 2, 1) | 46 self.assertRaises(TypeError, range, 0.0, 2, 1) |
| 47 self.assertRaises(TypeError, range, 1, 2.0, 1) | 47 self.assertRaises(TypeError, range, 1, 2.0, 1) |
| 48 self.assertRaises(TypeError, range, 1, 2, 1.0) | 48 self.assertRaises(TypeError, range, 1, 2, 1.0) |
| 49 self.assertRaises(TypeError, range, 1e100, 1e101, 1e101) | 49 self.assertRaises(TypeError, range, 1e100, 1e101, 1e101) |
| 50 | 50 |
| 51 self.assertRaises(TypeError, range, 0, "spam") | 51 self.assertRaises(TypeError, range, 0, "spam") |
| 52 self.assertRaises(TypeError, range, 0, 42, "spam") | 52 self.assertRaises(TypeError, range, 0, 42, "spam") |
| 53 | 53 |
| 54 self.assertEqual(len(range(0, sys.maxsize, sys.maxsize-1)), 2) | 54 self.assertEqual(len(range(0, sys.maxsize, sys.maxsize-1)), 2) |
| 55 | 55 |
| 56 r = range(-sys.maxsize, sys.maxsize, 2) | 56 r = range(-sys.maxsize, sys.maxsize, 2) |
| 57 self.assertEqual(len(r), sys.maxsize) | 57 self.assertEqual(len(r), sys.maxsize) |
| 58 | 58 |
| 59 def test_repr(self): | 59 def test_repr(self): |
| 60 self.assertEqual(repr(range(1)), 'range(0, 1)') | 60 self.assertEqual(repr(range(1)), 'range(0, 1)') |
| 61 self.assertEqual(repr(range(1, 2)), 'range(1, 2)') | 61 self.assertEqual(repr(range(1, 2)), 'range(1, 2)') |
| 62 self.assertEqual(repr(range(1, 2, 3)), 'range(1, 2, 3)') | 62 self.assertEqual(repr(range(1, 2, 3)), 'range(1, 2, 3)') |
| 63 |
| 64 def test_attributes(self): |
| 65 r = range(0, 10, 2) |
| 66 self.assertEqual(r.start, 0) |
| 67 self.assertEqual(r.stop, 10) |
| 68 self.assertEqual(r.step, 2) |
| 69 r = range(10) |
| 70 self.assertEqual(r.start, 0) |
| 71 self.assertEqual(r.stop, 10) |
| 72 self.assertEqual(r.step, 1) |
| 63 | 73 |
| 64 def test_main(): | 74 def test_main(): |
| 65 test.test_support.run_unittest(RangeTest) | 75 test.test_support.run_unittest(RangeTest) |
| 66 | 76 |
| 67 if __name__ == "__main__": | 77 if __name__ == "__main__": |
| 68 test_main() | 78 test_main() |
| OLD | NEW |