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);
|
||||
assert_true((verify_emptyness(&test_list)),
|
||||
"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);
|
||||
assert_true((verify_emptyness(&test_list)),
|
||||
"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