diff --git a/test_stack.c b/test_stack.c index 1bcb056..ea95ac9 100644 --- a/test_stack.c +++ b/test_stack.c @@ -24,32 +24,28 @@ int main(void) return UNITY_END(); } + void test_push_and_top(void) { StackNode *stack = NULL; - int *a = malloc(sizeof(int)); *a = 10; - int *b = malloc(sizeof(int)); *b = 20; - int *c = malloc(sizeof(int)); *c = 30; + int a = 10; + int b = 20; + int c = 30; - stack = push(stack, a); - stack = push(stack, b); - stack = push(stack, c); + stack = push(stack, &a); + stack = push(stack, &b); + stack = push(stack, &c); TEST_ASSERT_EQUAL_INT(30, *(int*)top(stack)); - // Cleanup data manually - void *data; - stack = pop(stack, &data); free(data); - stack = pop(stack, &data); free(data); - stack = pop(stack, &data); free(data); - + clearStack(&stack); TEST_ASSERT_NULL(stack); } void test_pop(void) { - StackNode *stack = NULL; + StackNode *stack = NULL; int x = 111; int y = 222; @@ -70,17 +66,11 @@ void test_clearStack(void) { StackNode *stack = NULL; - int *p = malloc(sizeof(int)); *p = 7; - int *q = malloc(sizeof(int)); *q = 8; + int x = 5; + int y = 6; - stack = push(stack, p); - stack = push(stack, q); - - // Pop to free data first! - void *data; - - stack = pop(stack, &data); free(data); - stack = pop(stack, &data); free(data); + stack = push(stack, &x); + stack = push(stack, &y); clearStack(&stack);