Add more tests / improve coverage.
This commit is contained in:
1 parent
d306bae035
commit
2f26d4ffd3
1 file changed
+43
-2
+43
-2
@@ -48,7 +48,10 @@ static void test(void)
|
|||||||
x1.n = 1;
|
x1.n = 1;
|
||||||
x2.n = 2;
|
x2.n = 2;
|
||||||
x3.n = 3;
|
x3.n = 3;
|
||||||
|
ilist_tname_init_field(&x1);
|
||||||
|
ilist_tname_init_field(&x2);
|
||||||
|
ilist_tname_init_field(&x3);
|
||||||
|
|
||||||
ilist_tname_init(list);
|
ilist_tname_init(list);
|
||||||
|
|
||||||
assert (ilist_tname_size (list) == 0);
|
assert (ilist_tname_size (list) == 0);
|
||||||
@@ -60,7 +63,9 @@ static void test(void)
|
|||||||
assert (ilist_tname_size (list) == 3);
|
assert (ilist_tname_size (list) == 3);
|
||||||
assert (ilist_tname_front (list)->n == 1);
|
assert (ilist_tname_front (list)->n == 1);
|
||||||
assert (ilist_tname_back (list)->n == 3);
|
assert (ilist_tname_back (list)->n == 3);
|
||||||
|
assert (ilist_tname_next_obj(list, &x1) == &x2);
|
||||||
|
assert (ilist_tname_previous_obj(list, &x2) == &x1);
|
||||||
|
|
||||||
int n = 1;
|
int n = 1;
|
||||||
for M_EACH(item, list, ILIST_OPLIST(ilist_tname)) {
|
for M_EACH(item, list, ILIST_OPLIST(ilist_tname)) {
|
||||||
assert (n == item->n);
|
assert (n == item->n);
|
||||||
@@ -109,6 +114,13 @@ static void test(void)
|
|||||||
assert (ilist_tname_front (list)->n == 1);
|
assert (ilist_tname_front (list)->n == 1);
|
||||||
assert (ilist_tname_back (list)->n == 3);
|
assert (ilist_tname_back (list)->n == 3);
|
||||||
|
|
||||||
|
ilist_tname_it(it1, list);
|
||||||
|
ilist_tname_next(it1);
|
||||||
|
ilist_tname_remove(list, it1);
|
||||||
|
assert (ilist_tname_size (list) == 2);
|
||||||
|
assert (ilist_tname_cref(it1) == &x3);
|
||||||
|
assert (ilist_tname_previous_obj(list, &x3) == &x1);
|
||||||
|
|
||||||
ilist_tname_clear(list);
|
ilist_tname_clear(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,6 +168,35 @@ static void test2(void)
|
|||||||
}
|
}
|
||||||
assert (n == NUM);
|
assert (n == NUM);
|
||||||
}
|
}
|
||||||
|
M_LET(list1, list2, ILIST_OPLIST(ilist_tname)) {
|
||||||
|
for(int i = 0; i < NUM; i++)
|
||||||
|
x[i].n = i;
|
||||||
|
for(int i = 0; i < NUM/2; i++) {
|
||||||
|
ilist_tname_push_back(list1, &x[i]);
|
||||||
|
}
|
||||||
|
for(int i = NUM/2; i < NUM; i++) {
|
||||||
|
ilist_tname_push_back(list2, &x[i]);
|
||||||
|
}
|
||||||
|
ilist_tname_splice(list1, list2);
|
||||||
|
assert (ilist_tname_size(list1) == NUM);
|
||||||
|
assert (ilist_tname_size(list2) == 0);
|
||||||
|
int n = 0;
|
||||||
|
for M_EACH(item, list1, ILIST_OPLIST(ilist_tname)) {
|
||||||
|
assert (n == item->n);
|
||||||
|
n++;
|
||||||
|
}
|
||||||
|
assert (n == NUM);
|
||||||
|
|
||||||
|
ilist_tname_swap(list1, list2);
|
||||||
|
assert (ilist_tname_size(list2) == NUM);
|
||||||
|
assert (ilist_tname_size(list1) == 0);
|
||||||
|
n = 0;
|
||||||
|
for M_EACH(item, list2, ILIST_OPLIST(ilist_tname)) {
|
||||||
|
assert (n == item->n);
|
||||||
|
n++;
|
||||||
|
}
|
||||||
|
assert (n == NUM);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_free(void)
|
static void test_free(void)
|
||||||
|
|||||||
Reference in new issue
Block a user