Unittest is done

This commit is contained in:
regis37 2025-11-26 23:54:44 +01:00
parent 3abe1477ac
commit 2a095975b8
2 changed files with 42 additions and 2 deletions

40
test_stack.c Normal file
View File

@ -0,0 +1,40 @@
#include <stdio.h>
#include <stdlib.h>
#include "stack.h"
int main()
{
StackNode *stack = NULL;
// Test 1: Push
int *a = malloc(sizeof(int)); // erstellt Daten
*a = 10;
int *b = malloc(sizeof(int));
*b = 20;
int *c = malloc(sizeof(int));
*c = 30;
stack = push(stack, a); //legt ein Element oben auf den Stack
stack = push(stack, b);
stack = push(stack, c);
// Test 2: Top
printf("Top (soll 30 sein): %d\n", *((int*)top(stack))); // Zeigt den Top vom Stack
// Test 3: Pop
stack = pop(stack); // entfernt 30
free(c);
printf("Top nach pop (soll 20 sein): %d\n", *(int*)top(stack)); // // Zeigt den Top vom Stack
// Test 4: Nochmal pop
stack = pop(stack); // entfernt 20
free(b);
printf("Top nach pop (soll 10 sein): %d\n", *(int*)top(stack));
// Test 5: clearStack
clearStack(stack); // gibt den gesamten Speicher frei
return 0;
}

View File

@ -25,9 +25,9 @@ StackNode *pop(StackNode *stack)
if (stack == NULL)
return NULL;
StackNode *next = stack->next;
StackNode *newTop = stack->next;
free(stack);
return next;
return newTop;
}
// Returns the data of the top element.