()
| 16 | import ccxt.async_support as ccxt # noqa: F402 |
| 17 | |
| 18 | def test_binary_to_base16(): |
| 19 | exchange = ccxt.Exchange({ |
| 20 | 'id': 'sampleexchange', |
| 21 | }) |
| 22 | assert exchange.parse_number(None) is None, 'GO_WORKAROUND' |
| 23 | # @SKIP_START_GO |
| 24 | # Test 1: simple known bytes |
| 25 | # 'ff' => [255] |
| 26 | binary1 = exchange.base16_to_binary('ff') |
| 27 | assert exchange.binary_to_base16(binary1) == 'ff' |
| 28 | # Test 2: all zeros |
| 29 | # '0000' => [0, 0] |
| 30 | binary2 = exchange.base16_to_binary('0000') |
| 31 | assert exchange.binary_to_base16(binary2) == '0000' |
| 32 | # Test 3: ascending bytes 01 02 03 04 |
| 33 | binary3 = exchange.base16_to_binary('01020304') |
| 34 | assert exchange.binary_to_base16(binary3) == '01020304' |
| 35 | # Test 4: single byte zero |
| 36 | binary4 = exchange.base16_to_binary('00') |
| 37 | assert exchange.binary_to_base16(binary4) == '00' |
| 38 | # Test 5: single byte max |
| 39 | binary5 = exchange.base16_to_binary('ff') |
| 40 | assert exchange.binary_length(binary5) == 1 |
| 41 | assert exchange.is_binary_message(binary5) |
| 42 | # Test 6: 8 bytes (like a timestamp encoding) |
| 43 | # 00 00 00 00 49 96 02 d2 = 1234567890 |
| 44 | binary6 = exchange.base16_to_binary('00000000499602d2') |
| 45 | assert exchange.binary_to_base16(binary6) == '00000000499602d2' |
| 46 | assert exchange.binary_length(binary6) == 8 |
| 47 | # Test 7: roundtrip with deadbeef |
| 48 | binary7 = exchange.base16_to_binary('deadbeef') |
| 49 | assert exchange.binary_to_base16(binary7) == 'deadbeef' |
| 50 | assert exchange.binary_length(binary7) == 4 |
| 51 | # Test 8: roundtrip binaryToBase16 -> base16ToBinary |
| 52 | hex8 = 'cafebabe' |
| 53 | binary8 = exchange.base16_to_binary(hex8) |
| 54 | assert exchange.binary_to_base16(binary8) == hex8 |
no test coverage detected
searching dependent graphs…