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

Method check

Lib/test/test_long.py:1265–1302  ·  view source on GitHub ↗
(tests, byteorder, signed=False)

Source from the content-addressed store, hash-verified

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 = {

Callers

nothing calls this directly

Calls 6

lenFunction · 0.85
to_bytesMethod · 0.80
itemsMethod · 0.45
assertEqualMethod · 0.45
formatMethod · 0.45
from_bytesMethod · 0.45

Tested by

no test coverage detected