Added test case for pop back and pop front value check.
This commit is contained in:
parent
83f3159b9a
commit
5c30ace8db
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user