Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(21)

Delta Between Two Patch Sets: Lib/test/test_range.py

Issue 602: range: lean and mean (Closed) SVN Base: http://svn.python.org/view/*checkout*/python/branches/py3k/
Left Patch Set: use PyMemberDef Created 4 months, 1 week ago , Downloaded from: http://bugs.python.org/file10155/range_lean_and_mean2.patch
Right Patch Set: in response to reviews Created 4 months, 1 week ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
LEFTRIGHT
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)
55
56 r = range(-sys.maxsize, sys.maxsize, 2)
57 self.assertEqual(len(r), sys.maxsize)
58
59 def test_repr(self): 54 def test_repr(self):
60 self.assertEqual(repr(range(1)), 'range(0, 1)') 55 self.assertEqual(repr(range(1)), 'range(0, 1)')
61 self.assertEqual(repr(range(1, 2)), 'range(1, 2)') 56 self.assertEqual(repr(range(1, 2)), 'range(1, 2)')
62 self.assertEqual(repr(range(1, 2, 3)), 'range(1, 2, 3)') 57 self.assertEqual(repr(range(1, 2, 3)), 'range(1, 2, 3)')
63 58
64 def test_attributes(self): 59 def test_attributes(self):
65 r = range(0, 10, 2) 60 r = range(0, 10, 2)
66 self.assertEqual(r.start, 0) 61 self.assertEqual(r.start, 0)
67 self.assertEqual(r.stop, 10) 62 self.assertEqual(r.stop, 10)
68 self.assertEqual(r.step, 2) 63 self.assertEqual(r.step, 2)
69 r = range(10) 64 r = range(10)
70 self.assertEqual(r.start, 0) 65 self.assertEqual(r.start, 0)
71 self.assertEqual(r.stop, 10) 66 self.assertEqual(r.stop, 10)
72 self.assertEqual(r.step, 1) 67 self.assertEqual(r.step, 1)
68 r = range(10, 0, 4)
69 self.assertEqual(r.start, 10)
70 self.assertEqual(r.stop, 0)
71 self.assertEqual(r.step, 4)
GvR 2008/05/03 05:04:35 Well how about r = range(1, 10, 2) # start=1, sto
73 72
74 def test_main(): 73 def test_main():
75 test.test_support.run_unittest(RangeTest) 74 test.test_support.run_unittest(RangeTest)
76 75
77 if __name__ == "__main__": 76 if __name__ == "__main__":
78 test_main() 77 test_main()
LEFTRIGHT

Powered by Google App Engine
This is Rietveld r305