#include "enfilade.h" #include #include #include static void get_values(enfilade_t *e, const char *address, void ***items, size_t *count) { enf_result_t r = getXtumbler_values_enfilade(e, address, items, count); assert(r.code == ENF_OK); } int main(void) { enfilade_t *e = create_enfilade(); int a = 41, b = 42, c = 43, d = 99; void **items = NULL; size_t count = 0; enf_result_t r; assert(e); assert(put_enfilade(e, "1.2.3", &a).code == ENF_OK); assert(put_enfilade(e, "1.2.4", &b).code == ENF_OK); assert(put_enfilade(e, "1.2.5", &c).code == ENF_OK); assert(put_enfilade(e, "1.2", &d).code == ENF_OK); get_values(e, "1.2", &items, &count); assert(count == 4); assert(*(int *)items[0] == 99); assert(*(int *)items[1] == 41); assert(*(int *)items[2] == 42); assert(*(int *)items[3] == 43); free(items); assert(getXtumbler_enfilade(e, "1.2.4") == &b); r = remove_enfilade(e, "1.2"); assert(r.code == ENF_OK); get_values(e, "1.2", &items, &count); assert(count == 3); assert(*(int *)items[0] == 41); free(items); r = remove_enfilade(e, "1.2.3"); assert(r.code == ENF_OK); assert(getXtumbler_enfilade(e, "1.2.3") == NULL); assert(getXtumbler_enfilade(e, "1.2.4") == &b); r = remove_enfilade(e, "1.2.3"); assert(r.code == ENF_ERR_NOT_FOUND); assert(put_enfilade(e, "9.9.9", &a).code == ENF_OK); assert(remove_enfilade(e, "9.9.9").code == ENF_OK); assert(getXtumbler_enfilade(e, "9.9") == NULL); destroy_enfilade(e); puts("enfilade tests: ok"); return 0; }