added test_push and fixed stack cast

This commit is contained in:
Simon 2025-11-24 17:53:43 +01:00
parent 82c72eaf81
commit 4cfe6d9c50
2 changed files with 20 additions and 5 deletions

View File

@ -13,8 +13,7 @@ StackNode *push(StackNode *stack, void *data)
StackNode *tempNode, *newNode; StackNode *tempNode, *newNode;
newNode = malloc(sizeof(StackNode)); newNode = malloc(sizeof(StackNode));
newNode->value = (intptr_t) data; newNode->value = *(int *)data;
//newNode->value = 3;
newNode->next = NULL; newNode->next = NULL;
if (stack == NULL) if (stack == NULL)

View File

@ -5,15 +5,31 @@
void test_push(void) void test_push(void)
{ {
StackNode *testNode;
int data = 1;
int value = 3; // Test für leeren Stack
TEST_ASSERT_NOT_NULL(push(NULL, &value)); testNode = push(NULL, &data);
TEST_ASSERT_EQUAL_INT(value, (intptr_t) push(NULL, &value)->value); TEST_ASSERT_NOT_NULL(&testNode);
TEST_ASSERT_NULL(testNode->next);
TEST_ASSERT_EQUAL_INT(1, testNode->value);
data = 2;
// Test für nicht leeren Stack
testNode = push(testNode, &data);
TEST_ASSERT_NOT_NULL(&testNode);
TEST_ASSERT_NOT_NULL(testNode->next);
TEST_ASSERT_NULL(testNode->next->next);
TEST_ASSERT_EQUAL_INT(1, testNode->value);
TEST_ASSERT_EQUAL_INT(2, testNode->next->value);
} }
void test_pop(void) void test_pop(void)
{ {
TEST_ASSERT_NULL(pop(NULL)); TEST_ASSERT_NULL(pop(NULL));
} }
void test_top(void) void test_top(void)