From 8ef242ae9b194393cf8c2100d5d51856f1528047 Mon Sep 17 00:00:00 2001 From: Thomas Rauh Desktop Date: Sat, 22 Nov 2025 16:24:01 +0100 Subject: [PATCH] stack Test fertig --- Start_Windows/runStackTests.exe | Bin 0 -> 77256 bytes Start_Windows/stack.c | 23 ++++---- Start_Windows/stack.h | 8 +-- Start_Windows/stack.o | Bin 0 -> 1237 bytes Start_Windows/stackTests.c | 95 ++++++++++++++++++++++++++++++-- 5 files changed, 105 insertions(+), 21 deletions(-) create mode 100644 Start_Windows/runStackTests.exe create mode 100644 Start_Windows/stack.o diff --git a/Start_Windows/runStackTests.exe b/Start_Windows/runStackTests.exe new file mode 100644 index 0000000000000000000000000000000000000000..cb9a945fc044ec8c3e2daca92476a939961c8283 GIT binary patch literal 77256 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 GD))cQ*Ay=R literal 0 HcmV?d00001 diff --git a/Start_Windows/stack.c b/Start_Windows/stack.c index a89f014..3e4ad18 100644 --- a/Start_Windows/stack.c +++ b/Start_Windows/stack.c @@ -23,14 +23,11 @@ StackNode *push(StackNode *stack, void *data) // freed by caller.) StackNode *pop(StackNode *stack) { - StackNode *new=malloc(sizeof(StackNode)); - if(new ==NULL){ - return new; + if(stack == NULL){ + return NULL; } + StackNode *new; new = stack->dannach; - - stack->dannach = NULL; - free(stack->data); free(stack); return new; } @@ -38,17 +35,19 @@ StackNode *pop(StackNode *stack) // Returns the data of the top element. void *top(StackNode *stack) { + if(stack == NULL){ + return NULL; + } return stack->data; } // Clears stack and releases all memory. void clearStack(StackNode *stack) { - if(stack == NULL){ - return; + while (stack != NULL) { + StackNode *next = stack->dannach; + + free(stack); + stack = next; } - clearStack(stack->dannach); - free(stack->dannach); - free(stack->data); - free(stack); } \ No newline at end of file diff --git a/Start_Windows/stack.h b/Start_Windows/stack.h index ac7f301..e37cc5a 100644 --- a/Start_Windows/stack.h +++ b/Start_Windows/stack.h @@ -8,12 +8,12 @@ The latest element is taken from the stack. */ #include - +typedef struct StackNode StackNode; //TODO: passenden Datentyp als struct anlegen -typedef struct Stack{ - void* data ; +struct StackNode { + void* data; StackNode* dannach; -}StackNode; +}; // Pushes data as pointer onto the stack. StackNode *push(StackNode *stack, void *data); diff --git a/Start_Windows/stack.o b/Start_Windows/stack.o new file mode 100644 index 0000000000000000000000000000000000000000..022303f7806c2b7d96bfbb1ca055a9218ef8bd0b GIT binary patch literal 1237 zcmaJ>&ubG=5T4C$nj91Z{vc=%?@*yavPN5icnXHnJy-}z@FbchTN_=QWp^VnP!Iy* z(o6mXZ~YhaB8p!86TB-3@!-KjPU?K`ZMJWvb>O}C&CECRhIu>Nd$~lAx=D0iB8%+E z9YqqW?I$0WLG(JObf%J^)_Im<+mmFeh0&eH|EY{ ze@??C=U`(#yM*02XqTP1lt7MX6(yd0s@?yX$u-$8(Xj9anP$t(;h08I<^+yEs5_AI zC>Ay7aRn7e+0--f-*hpjmr1@%rz-bU6QgM6i+3#3;D%(dmCM7b+fe&$Y%Dlm@j`!b z9`Y(D=T|-jugzxjrdS=_s6VK$SN%cQA5}wlw;H(5Y87#7*!Lo_{akGI_crfUq4q-I z2ZP6MH@YIOt=ZRYJfbt*3&R3T(gUR17Z z%PA76cO|v0rl^v7?VY~ovIhD6hv<@p2J zBD$ZIi;0Rqj%hTrPS&1wJa3S;kUK^@fxBok`(e4vryXGaSH|Npbv?He+(qwo>t7IC Bxaj}@ literal 0 HcmV?d00001 diff --git a/Start_Windows/stackTests.c b/Start_Windows/stackTests.c index 0a6e4bd..365bdbc 100644 --- a/Start_Windows/stackTests.c +++ b/Start_Windows/stackTests.c @@ -6,13 +6,94 @@ #include "stack.h" +static void pushNeuerStack(){ + int wert = 2; + StackNode *tester = push(NULL,&wert); + + int gespeicherterWert = *(int*)(tester->data); + TEST_ASSERT_EQUAL_INT(*(int*)(tester->data),2); + TEST_ASSERT_TRUE(tester->dannach == NULL); +} + static void pushVorhandenerStack(){ - StackNode stack = {(int)1,NULL}; + StackNode *stack = NULL; - StackNode *tester = push(&stack,(int)2); + int a = 1; + stack = push(stack, &a); + + int b = 2; + stack = push(stack,&b); + + int gespeicherterWert = *(int*)(stack->data); + TEST_ASSERT_EQUAL_INT(*(int*)(stack->data),2); + TEST_ASSERT_EQUAL_INT(*(int*)(stack->dannach->data),1); +} + + +void testTop(){ + StackNode *stack = NULL; + + int a = 1; + int b = 2; + + stack = push(stack, &a); + stack = push(stack, &b); + + + TEST_ASSERT_EQUAL_INT(2, *(int *)top(stack)); // top sollte b sein + + +} + +void testPop(void) { + StackNode *stack = NULL; + + int a = 1; + int b = 2; + + stack = push(stack, &a); + stack = push(stack, &b); + + + TEST_ASSERT_EQUAL_INT(2, *(int *)top(stack)); // top sollte b sein + + stack = pop(stack); + TEST_ASSERT_NOT_NULL(stack); + TEST_ASSERT_EQUAL_INT(1, *(int *)top(stack)); // top sollte a sein + + stack = pop(stack); + TEST_ASSERT_NULL(stack); // leerer Stack nach pop + +} + +void testPopLeererStack(void) { + StackNode *stack = NULL; + stack = pop(stack); + TEST_ASSERT_NULL(stack); +} + +void testClearStackAllesFrei(void) { + StackNode *stack = NULL; + + int *a = malloc(sizeof(int)); + int *b = malloc(sizeof(int)); + *a = 10; + *b = 20; + + stack = push(stack, a); + stack = push(stack, b); + + clearStack(stack); + + TEST_ASSERT_TRUE(1); // Wenn kein Crash und Speicher sauber, gilt als bestanden +} + +void setUp(void){ + +} + +void tearDown(void){ - TEST_ASSERT_EQUAL_INT(tester->data,2); - TEST_ASSERT_EQUAL_INT(tester->dannach->data,1); } @@ -21,8 +102,12 @@ int main(){ UNITY_BEGIN(); printf("\n============================\nStack tests\n============================\n"); + RUN_TEST(pushNeuerStack); RUN_TEST(pushVorhandenerStack); - + RUN_TEST(testTop); + RUN_TEST(testPop); + RUN_TEST(testPopLeererStack); + RUN_TEST(testClearStackAllesFrei); return UNITY_END(); } \ No newline at end of file