stacktest überarbeitet

This commit is contained in:
Kristin 2025-12-09 09:49:46 +01:00
parent 13cb5d8c86
commit 09d7f457dd
2 changed files with 11 additions and 6 deletions

View File

@ -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

View File

@ -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);
}