#include #include #include "stack.h" void testeStackBeschreiben() { printf("=== Test: push() ===\n"); StackNode *stack = NULL; int wert1 = 42; stack = push(stack, &wert1); int *topValue = (int *)(stack->data); if(topValue != NULL && *topValue == 42) { printf("Test 1: Erstes Element erfolgreich gepusht!\n"); } else { printf("Test 1: FEHLGESCHLAGEN!\n"); } int wert2 = 12; stack = push(stack, &wert2); topValue = (int *)(stack->data); int *secondValue = (int *)((stack->next)->data); if(topValue != NULL && *topValue == 12.25 && secondValue != NULL && *secondValue == 42) { printf("Test 2: Zweites Element erfolgreich gepusht!\n"); } else { printf("Test 2: FEHLGESCHLAGEN!\n"); } printf("=== Ende Test: push() ===\n\n"); return; } void testepop() { printf("=== Test: pop() ===\n"); StackNode *stack = NULL; int wert1 = 20; int wert2 = 74; stack = push(stack, &wert1); stack = push(stack, &wert2); stack = pop(stack); int *topValue = (int *)(stack->data); if(topValue != NULL && *topValue == 20) { printf("Test: Erstes Element erfolgreich gelöscht!\n"); } else { printf("Test 1: FEHLGESCHLAGEN!\n"); } printf("=== Ende Test: pop() ===\n\n"); } void testetop() { printf("=== Test: top() ===\n"); StackNode *stack = NULL; int wert1 = 20; int wert2 = 74; stack = push(stack, &wert1); stack = push(stack, &wert2); int *topValue = top(stack); if(topValue != NULL && *topValue == 74) { printf("Test: top() gibt korrektes Element zurück!\n"); } else { printf("Test: FEHLGESCHLAGEN!\n"); } printf("=== Ende Test: top() ===\n\n"); } void testeclearStack() { printf("=== Test: clearStack() ===\n"); StackNode *stack = NULL; int wert1 = 20; int wert2 = 74; stack = push(stack, &wert1); stack = push(stack, &wert2); clearStack(stack); printf("Test: clearStack() aufgerufen. Speicher freigegeben.\n"); printf("=== Ende Test: clearStack() ===\n\n"); } int main() { testeStackBeschreiben(); testepop(); testetop(); testeclearStack(); return 0; }