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]))
예제 #2
0
 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.")
예제 #3
0
 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)
예제 #4
0
 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)
예제 #5
0
 def _serialize_to_wxf(self, stream, context):
     stream.write(self.wxf_type)
     context.step_into_new_assoc(self.length)
     write_varint(self.length, stream)
예제 #6
0
 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)
예제 #7
0
 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]))