| OLD | NEW |
| 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] = range(5, 10) | 23 a[0:5] = list(range(5, 10)) |
| 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))) |
| 34 a[32:47] = range(132, 147) | 34 a[32:47] = list(range(132, 147)) |
| 35 self.failUnlessEqual(a[32:47:], list(range(132, 147))) | 35 self.failUnlessEqual(a[32:47:], list(range(132, 147))) |
| 36 a[46:31:-1] = range(232, 247) | 36 a[46:31:-1] = list(range(232, 247)) |
| 37 self.failUnlessEqual(a[32:47:1], list(range(246, 231, -1))) | 37 self.failUnlessEqual(a[32:47:1], list(range(246, 231, -1))) |
| 38 | 38 |
| 39 a[32:47] = range(1132, 1147) | 39 a[32:47] = list(range(1132, 1147)) |
| 40 self.failUnlessEqual(a[:], b) | 40 self.failUnlessEqual(a[:], b) |
| 41 a[32:47:7] = range(3) | 41 a[32:47:7] = list(range(3)) |
| 42 b[32:47:7] = range(3) | 42 b[32:47:7] = list(range(3)) |
| 43 self.failUnlessEqual(a[:], b) | 43 self.failUnlessEqual(a[:], b) |
| 44 a[33::-3] = range(12) | 44 a[33::-3] = list(range(12)) |
| 45 b[33::-3] = range(12) | 45 b[33::-3] = list(range(12)) |
| 46 self.failUnlessEqual(a[:], b) | 46 self.failUnlessEqual(a[:], b) |
| 47 | 47 |
| 48 from operator import setitem | 48 from operator import setitem |
| 49 | 49 |
| 50 # TypeError: int expected instead of str instance | 50 # TypeError: int expected instead of str instance |
| 51 self.assertRaises(TypeError, setitem, a, slice(0, 5), "abcde") | 51 self.assertRaises(TypeError, setitem, a, slice(0, 5), "abcde") |
| 52 # TypeError: int expected instead of str instance | 52 # TypeError: int expected instead of str instance |
| 53 self.assertRaises(TypeError, setitem, a, slice(0, 5), | 53 self.assertRaises(TypeError, setitem, a, slice(0, 5), |
| 54 ["a", "b", "c", "d", "e"]) | 54 ["a", "b", "c", "d", "e"]) |
| 55 # TypeError: int expected instead of float instance | 55 # TypeError: int expected instead of float instance |
| (...skipping 105 matching lines...) Show 10 above Show 10 below |
| 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() |
| OLD | NEW |