init commit
This commit is contained in:
commit
6300e42bb2
28 files changed
+104005
No files matched your search
@@ -0,0 +1,61 @@
|
||||
#include "enfilade.h"
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
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;
|
||||
}
|
||||
Reference in new issue
Block a user