tests: add tests for SYS_DLIST/SLIST_ITERATE_FROM()
Change-Id: I52dc6fa081be588f627670543ca9e2022d74bc37 Signed-off-by: Benjamin Walsh <walsh.benj@gmail.com>
This commit is contained in:
parent
4f89701c3e
commit
4e0d690f24
2 changed files with 90 additions and 0 deletions
|
@ -265,4 +265,49 @@ void dlist_test(void)
|
||||||
sys_dlist_remove(&test_node_2.node);
|
sys_dlist_remove(&test_node_2.node);
|
||||||
assert_true((verify_emptyness(&test_list)),
|
assert_true((verify_emptyness(&test_list)),
|
||||||
"test_list should be empty");
|
"test_list should be empty");
|
||||||
|
|
||||||
|
/* test iterator from a node */
|
||||||
|
struct data_node {
|
||||||
|
sys_dnode_t node;
|
||||||
|
int data;
|
||||||
|
} data_node[6] = {
|
||||||
|
{ .data = 0 },
|
||||||
|
{ .data = 1 },
|
||||||
|
{ .data = 2 },
|
||||||
|
{ .data = 3 },
|
||||||
|
{ .data = 4 },
|
||||||
|
{ .data = 5 },
|
||||||
|
};
|
||||||
|
sys_dnode_t *node = NULL;
|
||||||
|
int ii;
|
||||||
|
|
||||||
|
sys_dlist_init(&test_list);
|
||||||
|
|
||||||
|
for (ii = 0; ii < 6; ii++) {
|
||||||
|
sys_dlist_append(&test_list, &data_node[ii].node);
|
||||||
|
}
|
||||||
|
|
||||||
|
ii = 0;
|
||||||
|
SYS_DLIST_ITERATE_FROM_NODE(&test_list, node) {
|
||||||
|
ii++;
|
||||||
|
if (((struct data_node *)node)->data == 2) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
assert_equal(ii, 3, "");
|
||||||
|
|
||||||
|
ii = 0;
|
||||||
|
SYS_DLIST_ITERATE_FROM_NODE(&test_list, node) {
|
||||||
|
ii++;
|
||||||
|
if (((struct data_node *)node)->data == 3) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
assert_equal(ii, 1, "");
|
||||||
|
|
||||||
|
ii = 0;
|
||||||
|
SYS_DLIST_ITERATE_FROM_NODE(&test_list, node) {
|
||||||
|
ii++;
|
||||||
|
}
|
||||||
|
assert_equal(ii, 2, "");
|
||||||
}
|
}
|
||||||
|
|
|
@ -264,4 +264,49 @@ void slist_test(void)
|
||||||
sys_slist_remove(&test_list, NULL, &test_node_2.node);
|
sys_slist_remove(&test_list, NULL, &test_node_2.node);
|
||||||
assert_true((verify_emptyness(&test_list)),
|
assert_true((verify_emptyness(&test_list)),
|
||||||
"test_list should be empty");
|
"test_list should be empty");
|
||||||
|
|
||||||
|
/* test iterator from a node */
|
||||||
|
struct data_node {
|
||||||
|
sys_snode_t node;
|
||||||
|
int data;
|
||||||
|
} data_node[6] = {
|
||||||
|
{ .data = 0 },
|
||||||
|
{ .data = 1 },
|
||||||
|
{ .data = 2 },
|
||||||
|
{ .data = 3 },
|
||||||
|
{ .data = 4 },
|
||||||
|
{ .data = 5 },
|
||||||
|
};
|
||||||
|
sys_snode_t *node = NULL;
|
||||||
|
int ii;
|
||||||
|
|
||||||
|
sys_slist_init(&test_list);
|
||||||
|
|
||||||
|
for (ii = 0; ii < 6; ii++) {
|
||||||
|
sys_slist_append(&test_list, &data_node[ii].node);
|
||||||
|
}
|
||||||
|
|
||||||
|
ii = 0;
|
||||||
|
SYS_SLIST_ITERATE_FROM_NODE(&test_list, node) {
|
||||||
|
ii++;
|
||||||
|
if (((struct data_node *)node)->data == 2) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
assert_equal(ii, 3, "");
|
||||||
|
|
||||||
|
ii = 0;
|
||||||
|
SYS_SLIST_ITERATE_FROM_NODE(&test_list, node) {
|
||||||
|
ii++;
|
||||||
|
if (((struct data_node *)node)->data == 3) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
assert_equal(ii, 1, "");
|
||||||
|
|
||||||
|
ii = 0;
|
||||||
|
SYS_SLIST_ITERATE_FROM_NODE(&test_list, node) {
|
||||||
|
ii++;
|
||||||
|
}
|
||||||
|
assert_equal(ii, 2, "");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue