weitere test funktionen bearbeitet

This commit is contained in:
Alexei Keller 2025-12-11 11:25:45 +01:00
parent 8f4ab58000
commit 3b0a8a24ff

View File

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