static void test_nested_struct(gconstpointer opaque)

{

    TestArgs *args = (TestArgs *) opaque;

    const SerializeOps *ops = args->ops;

    UserDefNested *udnp = nested_struct_create();

    UserDefNested *udnp_copy = NULL;

    Error *err = NULL;

    void *serialize_data;

    

    ops->serialize(udnp, &serialize_data, visit_nested_struct, &err);

    ops->deserialize((void **)&udnp_copy, serialize_data, visit_nested_struct, &err); 



    g_assert(err == NULL);

    nested_struct_compare(udnp, udnp_copy);



    nested_struct_cleanup(udnp);

    nested_struct_cleanup(udnp_copy);



    ops->cleanup(serialize_data);

    g_free(args);

}

static void test_nested_struct(gconstpointer opaque)

{

    TestArgs *args = (TestArgs *) opaque;

    const SerializeOps *ops = args->ops;

    UserDefNested *udnp = nested_struct_create();

    UserDefNested *udnp_copy = NULL;

    Error *err = NULL;

    void *serialize_data;

    

    ops->serialize(udnp, &serialize_data, visit_nested_struct, &err);

    ops->deserialize((void **)&udnp_copy, serialize_data, visit_nested_struct, &err); 



    g_assert(err == NULL);

    nested_struct_compare(udnp, udnp_copy);



    nested_struct_cleanup(udnp);

    nested_struct_cleanup(udnp_copy);



    ops->cleanup(serialize_data);

    g_free(args);

}

static void FUNC_0(gconstpointer VAR_0)

{

    TestArgs *args = (TestArgs *) VAR_0;

    const SerializeOps *VAR_1 = args->VAR_1;

    UserDefNested *udnp = nested_struct_create();

    UserDefNested *udnp_copy = NULL;

    Error *err = NULL;

    void *VAR_2;

    

    VAR_1->serialize(udnp, &VAR_2, visit_nested_struct, &err);

    VAR_1->deserialize((void **)&udnp_copy, VAR_2, visit_nested_struct, &err); 



    g_assert(err == NULL);

    nested_struct_compare(udnp, udnp_copy);



    nested_struct_cleanup(udnp);

    nested_struct_cleanup(udnp_copy);



    VAR_1->cleanup(VAR_2);

    g_free(args);

}

static void FUNC_0(gconstpointer VAR_0)
{ TestArgs *args = (TestArgs *) VAR_0; const SerializeOps *VAR_1 = args->VAR_1; UserDefNested *udnp = nested_struct_create(); UserDefNested *udnp_copy = NULL; Error *err = NULL; void *VAR_2; VAR_1->serialize(udnp, &VAR_2, visit_nested_struct, &err); VAR_1->deserialize((void **)&udnp_copy, VAR_2, visit_nested_struct, &err); g_assert(err == NULL); nested_struct_compare(udnp, udnp_copy); nested_struct_cleanup(udnp); nested_struct_cleanup(udnp_copy); VAR_1->cleanup(VAR_2); g_free(args); }