Compare commits

..

5 Commits
main ... temp

Author SHA1 Message Date
Simon May
a3b951d0a9 aufräumen 2025-12-02 14:53:46 +01:00
f8c297f84d test_bintree edited 2025-12-02 14:47:52 +01:00
5b576589e3 Merge branch 'main' into temp 2025-12-02 14:16:05 +01:00
bf0a0b3f40 ??? 2025-12-02 13:51:42 +01:00
d54dd3eb6f added test_bintree 2025-12-02 13:43:25 +01:00
6 changed files with 87 additions and 0 deletions

3
.gitignore vendored
View File

@ -6,3 +6,6 @@ runNumbersTest.exe
numbers.o numbers.o
.vscode/launch.json .vscode/launch.json
.vscode/settings.json .vscode/settings.json
*.o
*.exe
runBintreeTest

View File

@ -12,8 +12,26 @@
// if isDuplicate is NULL, otherwise ignores duplicates and sets isDuplicate to 1 (or to 0 if a new entry is added). // if isDuplicate is NULL, otherwise ignores duplicates and sets isDuplicate to 1 (or to 0 if a new entry is added).
TreeNode *addToTree(TreeNode *root, const void *data, size_t dataSize, CompareFctType compareFct, int *isDuplicate) TreeNode *addToTree(TreeNode *root, const void *data, size_t dataSize, CompareFctType compareFct, int *isDuplicate)
{ {
TreeNode newNode = {data, NULL, NULL};
if(root == NULL)
{
return &newNode;
}
if (data < root->data)
{
root->left = addToTree(root->left, data, dataSize,compareFct, isDuplicate);
}
else if(data > root->data)
{
root->right = addToTree(root->right, data, dataSize,compareFct, isDuplicate);
}
return root;
} }
// Iterates over the tree given by root. Follows the usage of strtok. If tree is NULL, the next entry of the last tree given is returned in ordering direction. // Iterates over the tree given by root. Follows the usage of strtok. If tree is NULL, the next entry of the last tree given is returned in ordering direction.

View File

@ -44,6 +44,12 @@ unitTests: stack.o test_stack.c $(unityfolder)/unity.c
numbersTests: numbers.o test_numbers.c $(unityfolder)/unity.c numbersTests: numbers.o test_numbers.c $(unityfolder)/unity.c
$(CC) $(FLAGS) -I$(unityfolder) -o runNumbersTest test_numbers.c numbers.o $(unityfolder)/unity.c $(CC) $(FLAGS) -I$(unityfolder) -o runNumbersTest test_numbers.c numbers.o $(unityfolder)/unity.c
# --------------------------
# bintree.c Tests
# --------------------------
bintreeTests: bintree.o test_bintree.c $(unityfolder)/unity.c
$(CC) $(FLAGS) -I$(unityfolder) -o runBintreeTest test_bintree.c bintree.o $(unityfolder)/unity.c
# -------------------------- # --------------------------
# Clean # Clean
# -------------------------- # --------------------------

BIN
numbers.o

Binary file not shown.

Binary file not shown.

60
test_bintree.c Normal file
View File

@ -0,0 +1,60 @@
#include <stdio.h>
#include <stdlib.h>
#include "bintree.h"
#include "unity.h"
void treeTest()
{
TreeNode root;
TreeNode node1;
TreeNode node2;
int dataRoot = 2;
int dataNode1 = 1;
int dataNode2 = 3;
root.data = &dataRoot;
root.left = &node1;
root.right = &node2;
node1.data = &dataNode1;
node1.left = NULL;
node1.right = NULL;
node2.data = &dataNode2;
node2.left = NULL;
node2.right = NULL;
TEST_ASSERT_EQUAL_INT(3,treeSize(&root));
clearTree(&root);
TEST_ASSERT_EQUAL_INT(0,treeSize(&root));
}
void setUp(void)
{
// Falls notwendig, kann hier Vorbereitungsarbeit gemacht werden
}
void tearDown(void)
{
// Hier kann Bereinigungsarbeit nach jedem Test durchgeführt werden
}
int main()
{
UNITY_BEGIN();
printf("============================\nNumbers tests\n============================\n");
RUN_TEST(treeTest);
return UNITY_END();
}