(tests, byteorder, signed=False)
| 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 = { |
nothing calls this directly
no test coverage detected