def _encode_value(self, value, message, little_endian=False): self._raise_error_if_no_value(value, message) minimum_binary = to_bin(value) length, aligned = self.length.decode_lengths(message, len(minimum_binary)) binary = to_bin_of_length(self._byte_length(length), value) return binary, self._byte_length(aligned)
def test_encode_to_bytes(self): msg = self.tmp.encode({}, {}) self.assertEquals(msg._header.msgId.int, 5) self.assertEquals(msg._raw, to_bin_of_length(8, '0x0005 0008 0001 0002'))
def _encode_value(self, value, message, little_endian=False): self._raise_error_if_no_value(value, message) length, aligned_length = self.length.decode_lengths(message) binary = to_bin_of_length(length, value) binary = binary[::-1] if little_endian else binary return binary, aligned_length
def test_to_bin_of_length(self): self.assertEquals(to_bin_of_length(1, 0), "\x00") self.assertEquals(to_bin_of_length(2, 0), "\x00\x00") self.assertEquals(to_bin_of_length(3, 256), "\x00\x01\x00") self.assertRaises(AssertionError, to_bin_of_length, 1, 256)
def test_to_bin_of_length(self): self.assertEquals(to_bin_of_length(1, 0), '\x00') self.assertEquals(to_bin_of_length(2, 0), '\x00\x00') self.assertEquals(to_bin_of_length(3, 256), '\x00\x01\x00') self.assertRaises(AssertionError, to_bin_of_length, 1, 256)