def test_three_bytes(self): buffer = six.BytesIO() write_varint((1 << (7 * 2)), buffer) self.assertSequenceEqual(bytearray(buffer.getvalue()), bytearray([0x80, 0x80, 0x01])) buffer = six.BytesIO() write_varint((1 << (7 * 3)) - 1, buffer) self.assertSequenceEqual(bytearray(buffer.getvalue()), bytearray([0xFF, 0xFF, 0x7F]))
def _serialize_to_wxf(self, stream, context): stream.write(self.wxf_type) context.add_part() stream.write(self.value_type) write_varint(len(self.dimensions), stream) for dim in self.dimensions: write_varint(dim, stream) if self.data is not None: stream.write(self.data) else: raise WXFSerializerException("Missing array data.")
def varint_round_trip_integer(self, int_value): buffer = six.BytesIO() write_varint(int_value, buffer) buffer.seek(0) self.assertEqual(parse_varint(buffer), int_value)
def _serialize_to_wxf(self, stream, context): stream.write(self.wxf_type) # Function has a head which account for one part element contrary to association context.step_into_new_function(self.length) write_varint(self.length, stream)
def _serialize_to_wxf(self, stream, context): stream.write(self.wxf_type) context.step_into_new_assoc(self.length) write_varint(self.length, stream)
def _serialize_to_wxf(self, stream, context): stream.write(self.wxf_type) context.add_part() write_varint(len(self.data), stream) stream.write(self.data)
def _serialize_to_wxf(self, stream, context): stream.write(self.wxf_type) context.add_part() write_varint(self.length, stream) stream.write(self.value)
def test_one_byte(self): buffer = six.BytesIO() write_varint(127, buffer) self.assertSequenceEqual(bytearray(buffer.getvalue()), bytearray([127]))
def test_zero(self): buffer = six.BytesIO() write_varint(0, buffer) self.assertSequenceEqual(bytearray(buffer.getvalue()), bytearray([0x00]))