def test_to_byte_array_list_fail_neg(self, list_val): """ to_byte_array() with incompatible param: :param list_val: random list of negative integers. -ValueError """ with pytest.raises(ValueError): pointer, leng = to_byte_array(list_val)
def test_to_byte_array_int(self, int_val): """ to_byte_array() with param: :param int_val: random positive integer """ pointer, leng = to_byte_array(int_val) self.verify_c_type(pointer, leng) py_bytes = self.reverse_case(pointer, leng, to_byte_array) assert int(py_bytes, 16) == int_val
def test_to_byte_array_from_hex(self, test_val): """ to_byte_array() with param: :param list_val: list of ints in range (0-255), convert to bytearray """ pointer, leng = to_byte_array(test_val) self.verify_c_type(pointer, leng) py_bytes = self.reverse_case(pointer, leng, to_byte_array) assert py_bytes == b"deadbeef"
def test_to_byte_array_hexstring(self, int_val): """ to_byte_array() with param: :param int_val: random integer to be converted to hex string. """ hex_string = b(hex(int_val).replace("0x", "").replace("L", "")) pointer, leng = to_byte_array(hex_string) self.verify_c_type(pointer, leng) py_bytes = self.reverse_case(pointer, leng, to_byte_array) assert int(py_bytes, 16) == int(hex_string, 16)
def test_to_byte_array_int_neg_overflow(self, int_val): """ to_byte_array() with param: :param int_val: random int value. Will result in data loss """ pointer, leng = to_byte_array(int_val) self.verify_c_type(pointer, leng) py_bytes = self.reverse_case(pointer, leng, to_byte_array) LOG.debug("to_byte_array() data loss: %s => %s", b(hex(int_val)), py_bytes) assert int(py_bytes, 16) != int_val
def test_to_byte_array(self, list_val): """ to_byte_array() with param: :param list_val: list of ints in range (0-255), convert to bytearray """ b_array = bytearray(list_val) pointer, leng = to_byte_array(b_array) self.verify_c_type(pointer, leng) py_bytes = self.reverse_case(pointer, leng, to_byte_array) assert py_bytes == hexlify(b_array)
def test_to_byte_array_list(self, list_val): """ to_byte_array() with param: :param list_val: randomly list of postive integers (within byte range). """ pointer, leng = to_byte_array(list_val) self.verify_c_type(pointer, leng) py_bytes = self.reverse_case(pointer, leng, to_byte_array) # Create list from returned byte-string py_list = [] for i in range(0, len(py_bytes), 2): py_list.append(int(py_bytes[i:i + 2], 16)) assert py_list == list_val