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

Delta Between Two Patch Sets: Lib/ctypes/test/test_slicing.py

Issue 602: range: lean and mean (Closed) SVN Base: http://svn.python.org/view/*checkout*/python/branches/py3k/
Left Patch Set: __len__ is back! Created 1 year, 6 months ago
Right Patch Set: address more concerns Created 1 year, 6 months ago , Downloaded from: http://bugs.python.org/file10183/range_lean_and_mean5.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 import unittest 1 import unittest
2 from ctypes import * 2 from ctypes import *
3 3
4 import _ctypes_test 4 import _ctypes_test
5 5
6 class SlicesTestCase(unittest.TestCase): 6 class SlicesTestCase(unittest.TestCase):
7 def test_getslice_cint(self): 7 def test_getslice_cint(self):
8 a = (c_int * 100)(*range(1100, 1200)) 8 a = (c_int * 100)(*range(1100, 1200))
9 b = list(range(1100, 1200)) 9 b = list(range(1100, 1200))
10 self.failUnlessEqual(a[0:2], b[0:2]) 10 self.failUnlessEqual(a[0:2], b[0:2])
11 self.failUnlessEqual(a[0:2:], b[0:2:]) 11 self.failUnlessEqual(a[0:2:], b[0:2:])
12 self.failUnlessEqual(len(a), len(b)) 12 self.failUnlessEqual(len(a), len(b))
13 self.failUnlessEqual(a[5:7], b[5:7]) 13 self.failUnlessEqual(a[5:7], b[5:7])
14 self.failUnlessEqual(a[5:7:], b[5:7:]) 14 self.failUnlessEqual(a[5:7:], b[5:7:])
15 self.failUnlessEqual(a[-1], b[-1]) 15 self.failUnlessEqual(a[-1], b[-1])
16 self.failUnlessEqual(a[:], b[:]) 16 self.failUnlessEqual(a[:], b[:])
17 self.failUnlessEqual(a[::], b[::]) 17 self.failUnlessEqual(a[::], b[::])
18 self.failUnlessEqual(a[10::-1], b[10::-1]) 18 self.failUnlessEqual(a[10::-1], b[10::-1])
19 self.failUnlessEqual(a[30:20:-1], b[30:20:-1]) 19 self.failUnlessEqual(a[30:20:-1], b[30:20:-1])
20 self.failUnlessEqual(a[:12:6], b[:12:6]) 20 self.failUnlessEqual(a[:12:6], b[:12:6])
21 self.failUnlessEqual(a[2:6:4], b[2:6:4]) 21 self.failUnlessEqual(a[2:6:4], b[2:6:4])
22 22
23 a[0:5] = list(range(5, 10)) 23 a[0:5] = list(range(5, 10))
GvR 2008/05/03 05:04:35 Hm... Why can't you assign a range() to a c_int ar
Benjamin 2008/05/03 17:18:39 On 2008/05/03 05:04:35, gvanrossum wrote: > Hm...
24 self.failUnlessEqual(a[0:5], list(range(5, 10))) 24 self.failUnlessEqual(a[0:5], list(range(5, 10)))
25 self.failUnlessEqual(a[0:5:], list(range(5, 10))) 25 self.failUnlessEqual(a[0:5:], list(range(5, 10)))
26 self.failUnlessEqual(a[4::-1], list(range(9, 4, -1))) 26 self.failUnlessEqual(a[4::-1], list(range(9, 4, -1)))
27 27
28 def test_setslice_cint(self): 28 def test_setslice_cint(self):
29 a = (c_int * 100)(*range(1100, 1200)) 29 a = (c_int * 100)(*range(1100, 1200))
30 b = list(range(1100, 1200)) 30 b = list(range(1100, 1200))
31 31
32 a[32:47] = list(range(32, 47)) 32 a[32:47] = list(range(32, 47))
33 self.failUnlessEqual(a[32:47], list(range(32, 47))) 33 self.failUnlessEqual(a[32:47], list(range(32, 47)))
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 self.failUnlessEqual(res[:len(s)-1], tmpl) 161 self.failUnlessEqual(res[:len(s)-1], tmpl)
162 self.failUnlessEqual(res[:len(s)-1:], tmpl) 162 self.failUnlessEqual(res[:len(s)-1:], tmpl)
163 self.failUnlessEqual(res[len(s)-2:-1:-1], tmpl[::-1]) 163 self.failUnlessEqual(res[len(s)-2:-1:-1], tmpl[::-1])
164 self.failUnlessEqual(res[len(s)-2:5:-7], tmpl[:5:-7]) 164 self.failUnlessEqual(res[len(s)-2:5:-7], tmpl[:5:-7])
165 dll.my_free(res) 165 dll.my_free(res)
166 166
167 ################################################################ 167 ################################################################
168 168
169 if __name__ == "__main__": 169 if __name__ == "__main__":
170 unittest.main() 170 unittest.main()
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld r483