static void kaa_movement_class_movement_direction_serialize(avro_writer_t writer, void *data)
{
    if (data) {
        kaa_movement_class_movement_direction_t *record = (kaa_movement_class_movement_direction_t *)data;

        kaa_enum_serialize(writer, &record->direction);
    }
}
Пример #2
0
static void test_enum_serialize(void **state)
{
    (void)state;

    test_enum_t enum_value = (test_enum_t)rand() % TEST_VAL_5;
    size_t expected_size = kaa_enum_get_size(&enum_value);
    char auto_buffer[expected_size];
    avro_writer_t auto_avro_writer = avro_writer_memory(auto_buffer, expected_size);
    char manual_buffer[expected_size];
    avro_writer_t manual_avro_writer = avro_writer_memory(manual_buffer, expected_size);

    kaa_enum_serialize(auto_avro_writer, &enum_value);
    avro_binary_encoding.write_long(manual_avro_writer, (int)enum_value);

    ASSERT_EQUAL(memcmp(auto_buffer, manual_buffer, expected_size), 0);

    avro_writer_free(manual_avro_writer);
    avro_writer_free(auto_avro_writer);
}
Пример #3
0
static void test_enum_deserialize(void **state)
{
    (void)state;

    test_enum_t enum_value1 = (test_enum_t)rand() % TEST_VAL_5;
    size_t expected_size = kaa_enum_get_size(&enum_value1);
    char buffer[expected_size];
    avro_writer_t avro_writer = avro_writer_memory(buffer, expected_size);

    kaa_enum_serialize(avro_writer, &enum_value1);

    avro_reader_t avro_reader = avro_reader_memory(buffer, expected_size);

    test_enum_t *enum_value2 = (test_enum_t *)kaa_enum_deserialize(avro_reader);

    ASSERT_EQUAL(*enum_value2, enum_value1);

    kaa_data_destroy(enum_value2);
    avro_reader_free(avro_reader);
    avro_writer_free(avro_writer);
}