(self)
| 1105 | gc.collect() |
| 1106 | |
| 1107 | def test_buffer(self): |
| 1108 | a = array.array(self.typecode, self.example) |
| 1109 | m = memoryview(a) |
| 1110 | expected = m.tobytes() |
| 1111 | self.assertEqual(a.tobytes(), expected) |
| 1112 | self.assertEqual(a.tobytes()[0], expected[0]) |
| 1113 | # Resizing is forbidden when there are buffer exports. |
| 1114 | # For issue 4509, we also check after each error that |
| 1115 | # the array was not modified. |
| 1116 | self.assertRaises(BufferError, a.append, a[0]) |
| 1117 | self.assertEqual(m.tobytes(), expected) |
| 1118 | self.assertRaises(BufferError, a.extend, a[0:1]) |
| 1119 | self.assertEqual(m.tobytes(), expected) |
| 1120 | self.assertRaises(BufferError, a.remove, a[0]) |
| 1121 | self.assertEqual(m.tobytes(), expected) |
| 1122 | self.assertRaises(BufferError, a.pop, 0) |
| 1123 | self.assertEqual(m.tobytes(), expected) |
| 1124 | self.assertRaises(BufferError, a.fromlist, a.tolist()) |
| 1125 | self.assertEqual(m.tobytes(), expected) |
| 1126 | self.assertRaises(BufferError, a.frombytes, a.tobytes()) |
| 1127 | self.assertEqual(m.tobytes(), expected) |
| 1128 | if self.typecode in ('u', 'w'): |
| 1129 | self.assertRaises(BufferError, a.fromunicode, a.tounicode()) |
| 1130 | self.assertEqual(m.tobytes(), expected) |
| 1131 | self.assertRaises(BufferError, operator.imul, a, 2) |
| 1132 | self.assertEqual(m.tobytes(), expected) |
| 1133 | self.assertRaises(BufferError, operator.imul, a, 0) |
| 1134 | self.assertEqual(m.tobytes(), expected) |
| 1135 | self.assertRaises(BufferError, operator.setitem, a, slice(0, 0), a) |
| 1136 | self.assertEqual(m.tobytes(), expected) |
| 1137 | self.assertRaises(BufferError, operator.delitem, a, 0) |
| 1138 | self.assertEqual(m.tobytes(), expected) |
| 1139 | self.assertRaises(BufferError, operator.delitem, a, slice(0, 1)) |
| 1140 | self.assertEqual(m.tobytes(), expected) |
| 1141 | |
| 1142 | def test_weakref(self): |
| 1143 | s = array.array(self.typecode, self.example) |
no test coverage detected