Added test case for pop back and pop front value check.

This commit is contained in:
secXsQuared 2018-03-29 06:50:02 -04:00
parent 83f3159b9a
commit 5c30ace8db
2 changed files with 23 additions and 10 deletions

View File

@ -55,21 +55,32 @@ void SXAPI lb_linked_list_push_back(struct linked_list *list, struct linked_list
struct linked_list_node *SXAPI lb_linked_list_pop_front(struct linked_list *list)
{
struct linked_list_node *ret = NULL;
if (list == NULL)
{
return NULL;
}
return lb_linked_list_remove_by_ref(list, list->head);
ret = list->head;
lb_linked_list_remove_by_ref(list, list->head);
return ret;
}
struct linked_list_node *SXAPI lb_linked_list_pop_back(struct linked_list *list)
{
struct linked_list_node *ret = NULL;
if (list == NULL)
{
return NULL;
}
return lb_linked_list_remove_by_ref(list, list->tail);
ret = list->tail;
lb_linked_list_remove_by_ref(list, list->tail);
return ret;
}

View File

@ -364,6 +364,7 @@ static bool size_test(void)
static bool push_pop_front_test(void)
{
struct linked_list_node *node;
bool result = TRUE;
struct linked_list list;
lb_linked_list_init(&list);
@ -377,16 +378,16 @@ static bool push_pop_front_test(void)
int val1[] = {4, 3, 2, 1};
result = result && assert_list(&list, val1, 4);
lb_linked_list_pop_front(&list);
node = lb_linked_list_pop_front(&list);
//321==123
int val2[] = {3, 2, 1};
result = result && assert_list(&list, val2, 3);
result = result && assert_list(&list, val2, 3) && OBTAIN_STRUCT_ADDR(node, my_list_node, lnode)->val == 4;
lb_linked_list_pop_front(&list);
lb_linked_list_pop_front(&list);
lb_linked_list_pop_front(&list);
node = lb_linked_list_pop_front(&list);
result = result && assert_list(&list, NULL, 0);
result = result && assert_list(&list, NULL, 0) && OBTAIN_STRUCT_ADDR(node, my_list_node, lnode)->val == 1;
return result;
}
@ -395,6 +396,7 @@ static bool push_pop_back_test(void)
bool result = TRUE;
struct linked_list list;
lb_linked_list_init(&list);
struct linked_list_node *node;
push_back_val(&list, 1);
push_back_val(&list, 2);
@ -405,16 +407,16 @@ static bool push_pop_back_test(void)
int val1[] = {1, 2, 3, 4};
result = result && assert_list(&list, val1, 4);
lb_linked_list_pop_back(&list);
node = lb_linked_list_pop_back(&list);
//123==321
int val2[] = {1, 2, 3};
result = result && assert_list(&list, val2, 3);
result = result && assert_list(&list, val2, 3) && OBTAIN_STRUCT_ADDR(node, my_list_node, lnode)->val == 4;
lb_linked_list_pop_back(&list);
lb_linked_list_pop_back(&list);
node = lb_linked_list_pop_back(&list);
lb_linked_list_pop_back(&list);
result = result && assert_list(&list, NULL, 0);
result = result && assert_list(&list, NULL, 0) && OBTAIN_STRUCT_ADDR(node, my_list_node, lnode)->val == 2;
return result;
}