(self)
| 422 | self.assertRaises(struct.error, struct.pack, 'P', 1.5) |
| 423 | |
| 424 | def test_unpack_from(self): |
| 425 | test_string = b'abcd01234' |
| 426 | fmt = '4s' |
| 427 | s = struct.Struct(fmt) |
| 428 | for cls in (bytes, bytearray): |
| 429 | data = cls(test_string) |
| 430 | self.assertEqual(s.unpack_from(data), (b'abcd',)) |
| 431 | self.assertEqual(s.unpack_from(data, 2), (b'cd01',)) |
| 432 | self.assertEqual(s.unpack_from(data, 4), (b'0123',)) |
| 433 | for i in range(6): |
| 434 | self.assertEqual(s.unpack_from(data, i), (data[i:i+4],)) |
| 435 | for i in range(6, len(test_string) + 1): |
| 436 | self.assertRaises(struct.error, s.unpack_from, data, i) |
| 437 | for cls in (bytes, bytearray): |
| 438 | data = cls(test_string) |
| 439 | self.assertEqual(struct.unpack_from(fmt, data), (b'abcd',)) |
| 440 | self.assertEqual(struct.unpack_from(fmt, data, 2), (b'cd01',)) |
| 441 | self.assertEqual(struct.unpack_from(fmt, data, 4), (b'0123',)) |
| 442 | for i in range(6): |
| 443 | self.assertEqual(struct.unpack_from(fmt, data, i), (data[i:i+4],)) |
| 444 | for i in range(6, len(test_string) + 1): |
| 445 | self.assertRaises(struct.error, struct.unpack_from, fmt, data, i) |
| 446 | |
| 447 | # keyword arguments |
| 448 | self.assertEqual(s.unpack_from(buffer=test_string, offset=2), |
| 449 | (b'cd01',)) |
| 450 | |
| 451 | def _test_pack_into(self, pack_into): |
| 452 | test_string = b'Reykjavik rocks, eow!' |
nothing calls this directly
no test coverage detected