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

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: Created 4 months, 1 week ago , Downloaded from: http://bugs.python.org/file10152/range_lean_and_mean.patch
Right Patch Set: use PyMemberDef Created 4 months, 1 week ago , Downloaded from: http://bugs.python.org/file10155/range_lean_and_mean2.patch
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) 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 63
64 def test_attributes(self): 64 def test_attributes(self):
65 r = range(0, 10, 2) 65 r = range(0, 10, 2)
66 self.assertEqual(r.start, 0) 66 self.assertEqual(r.start, 0)
67 self.assertEqual(r.stop, 10) 67 self.assertEqual(r.stop, 10)
68 self.assertEqual(r.step, 2) 68 self.assertEqual(r.step, 2)
69 r = range(10) 69 r = range(10)
70 self.assertEqual(r.start, 0) 70 self.assertEqual(r.start, 0)
71 self.assertEqual(r.stop, 10) 71 self.assertEqual(r.stop, 10)
72 self.assertEqual(r.step, 1) 72 self.assertEqual(r.step, 1)
GvR 2008/05/02 13:52:47 I'd like the test to be explicit about what happen
73 73
74 def test_main(): 74 def test_main():
75 test.test_support.run_unittest(RangeTest) 75 test.test_support.run_unittest(RangeTest)
76 76
77 if __name__ == "__main__": 77 if __name__ == "__main__":
78 test_main() 78 test_main()
LEFTRIGHT

Powered by Google App Engine
This is Rietveld r305