MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_to_bytes

Method test_to_bytes

Lib/test/test_long.py:1264–1400  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1262 self.assertRaises(TypeError, round, 3, e)
1263
1264 def test_to_bytes(self):
1265 def check(tests, byteorder, signed=False):
1266 def equivalent_python(n, length, byteorder, signed=False):
1267 if byteorder == 'little':
1268 order = range(length)
1269 elif byteorder == 'big':
1270 order = reversed(range(length))
1271 return bytes((n >> i*8) & 0xff for i in order)
1272
1273 for test, expected in tests.items():
1274 try:
1275 self.assertEqual(
1276 test.to_bytes(len(expected), byteorder, signed=signed),
1277 expected)
1278 except Exception as err:
1279 raise AssertionError(
1280 "failed to convert {} with byteorder={} and signed={}"
1281 .format(test, byteorder, signed)) from err
1282
1283 # Test for all default arguments.
1284 if len(expected) == 1 and byteorder == 'big' and not signed:
1285 try:
1286 self.assertEqual(test.to_bytes(), expected)
1287 except Exception as err:
1288 raise AssertionError(
1289 "failed to convert {} with default arguments"
1290 .format(test)) from err
1291
1292 try:
1293 self.assertEqual(
1294 equivalent_python(
1295 test, len(expected), byteorder, signed=signed),
1296 expected
1297 )
1298 except Exception as err:
1299 raise AssertionError(
1300 "Code equivalent from docs is not equivalent for "
1301 "conversion of {0} with byteorder byteorder={1} and "
1302 "signed={2}".format(test, byteorder, signed)) from err
1303
1304 # Convert integers to signed big-endian byte arrays.
1305 tests1 = {
1306 0: b'\x00',
1307 1: b'\x01',
1308 -1: b'\xff',
1309 -127: b'\x81',
1310 -128: b'\x80',
1311 -129: b'\xff\x7f',
1312 127: b'\x7f',
1313 129: b'\x00\x81',
1314 -255: b'\xff\x01',
1315 -256: b'\xff\x00',
1316 255: b'\x00\xff',
1317 256: b'\x01\x00',
1318 32767: b'\x7f\xff',
1319 -32768: b'\xff\x80\x00',
1320 65535: b'\x00\xff\xff',
1321 -65536: b'\xff\x00\x00',

Callers

nothing calls this directly

Calls 5

to_bytesMethod · 0.80
checkFunction · 0.70
SubStrClass · 0.70
assertRaisesMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected