def test_index_encoder(msg_idx, zigzag, expected_hex): buf = BytesIO() ProtobufSerializer._encode_varints(buf, msg_idx, zigzag=zigzag) buf.flush() buf.seek(0) assert binascii.b2a_hex(buf.read()) == expected_hex # reset reader and test decoder buf.seek(0) decoded_msg_idx = ProtobufDeserializer._decode_index(buf, zigzag=zigzag) assert decoded_msg_idx == msg_idx
def test_index_serialization(pb2, zigzag): msg_idx = _create_msg_index(pb2.DESCRIPTOR) buf = BytesIO() ProtobufSerializer._encode_varints(buf, msg_idx, zigzag=zigzag) buf.flush() # reset buffer cursor buf.seek(0) decoded_msg_idx = ProtobufDeserializer._decode_index(buf, zigzag=zigzag) buf.close() assert decoded_msg_idx == msg_idx