[3.10] bpo-44891: Tests `id` preserving on `* 1` for `str` and `bytes` (GH-27745) by miss-islington · Pull Request #27756 · python/cpython
def test_repeat_id_preserving(self): a = b'123abc1@' b = b'456zyx-+' self.assertEqual(id(a), id(a)) self.assertNotEqual(id(a), id(b)) self.assertNotEqual(id(a), id(a * -4)) self.assertNotEqual(id(a), id(a * 0)) self.assertEqual(id(a), id(a * 1)) self.assertEqual(id(a), id(1 * a)) self.assertNotEqual(id(a), id(a * 2))
class SubBytes(bytes): pass
s = SubBytes(b'qwerty()') self.assertEqual(id(s), id(s)) self.assertNotEqual(id(s), id(s * -4)) self.assertNotEqual(id(s), id(s * 0)) self.assertNotEqual(id(s), id(s * 1)) self.assertNotEqual(id(s), id(1 * s)) self.assertNotEqual(id(s), id(s * 2))
class ByteArrayTest(BaseBytesTest, unittest.TestCase): type2test = bytearray