From 09d7f457dd96015be5ff41b0df2cbc045a84253f Mon Sep 17 00:00:00 2001 From: Kristin Date: Tue, 9 Dec 2025 09:49:46 +0100 Subject: [PATCH] =?UTF-8?q?stacktest=20=C3=BCberarbeitet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- highscores.txt | 2 +- test_stack.c | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/highscores.txt b/highscores.txt index 04947fc..2924551 100644 --- a/highscores.txt +++ b/highscores.txt @@ -1,10 +1,10 @@ Kristin;9944 Kristin;7947 Kristin;6962 +Kristin;5987 Kristin;5975 krisp;4986 krisp;4985 Kristin;4972 player1;3999 Kristin;3992 -krisp;3991 diff --git a/test_stack.c b/test_stack.c index fc24468..bad0e40 100644 --- a/test_stack.c +++ b/test_stack.c @@ -38,8 +38,7 @@ void test_pushDataToStack(void) { TEST_ASSERT_NULL(testStack->prev); // zweiter Push - StackNode *oldHead = testStack; - + StackNode *oldHead = testStack; // bisherigen head speichern testStack = push(testStack, &testInts[1]); TEST_ASSERT_NOT_NULL(testStack); @@ -51,12 +50,15 @@ void test_pushDataToStack(void) { oldHead->data); // data pointer wurden richtig gesetzt TEST_ASSERT_EQUAL_PTR(&testInts[1], testStack->data); + // richtige Verkettung: NULL <- testStack -> testStack->next -> oldHead -> + // NULL TEST_ASSERT_EQUAL_PTR(oldHead, testStack->next); TEST_ASSERT_EQUAL_PTR(testStack, oldHead->prev); TEST_ASSERT_NULL(testStack->prev); // Speicherfreigabe - testStack->next = NULL; + testStack->next = NULL; // pointer ungültig machen, damit nicht ausversehen + // später aufgerufen oldHead->prev = NULL; free(oldHead); @@ -68,7 +70,8 @@ void test_deleteTopElement(void) { int testInts[] = {10, 20, 30}; StackNode *stack = NULL; - for (int i = 0; i < 3; i++) { + for (int i = 0; i < 3; + i++) { // Stack mit drei Elementen, oberestes Element mit data 30 stack = push(stack, &testInts[i]); } @@ -76,11 +79,13 @@ void test_deleteTopElement(void) { stack = pop(stack); TEST_ASSERT_EQUAL_PTR(&testInts[1], stack->data); + TEST_ASSERT_NULL(stack->prev); stack = pop(stack); TEST_ASSERT_EQUAL_PTR(&testInts[0], stack->data); + TEST_ASSERT_NULL(stack->prev); - stack = pop(stack); + stack = pop(stack); // bei leerem Stack wird NULL zurückgegeben TEST_ASSERT_NULL(stack); }