#include "bintree.h" #include "numbers.h" #include void createTreeTest() { TreeNode* root = NULL; int data1 = 1; int data2 = 2; int data3 = 3; int data4 = 4; int data5 = 5; int dataDup = 4; int isDuplicate = 0; int passedTests = 0; root = addToTree(root,&data3, sizeof(int),compareFct,&isDuplicate); if(*(int*) root->data == data3 && isDuplicate == 0) { passedTests++; printf("PASS1\n");} root = addToTree(root,&data4, sizeof(int),compareFct,&isDuplicate); root = addToTree(root,&data5, sizeof(int),compareFct,&isDuplicate); root = addToTree(root,&data2, sizeof(int),compareFct,&isDuplicate); root = addToTree(root,&data1, sizeof(int),compareFct,&isDuplicate); if(*(int*) root->data == data3 && *(int*) root->left->left->data == data1 && *(int*)root->left->data == data2 && *(int*)root->right->right->data == data5 && *(int*)root->right->data == data4 && isDuplicate == 0) {passedTests++; printf("PASS2\n"); } root = addToTree(root,&dataDup, sizeof(int),compareFct,&isDuplicate); if(isDuplicate == 1) {passedTests++; printf("PASS3\n");} if(passedTests == 3) printf("PASS"); else printf("FAIL"); printf("passedTests: %d\n", passedTests); printf(" CreateBinTreeTest\n"); clearTree(root); } void binTreeSizeTest() { TreeNode* root = NULL; int data1 = 1; int data2 = 2; int data3 = 3; int data4 = 4; int data5 = 5; int isDuplicate = 0; root = addToTree(root,&data3, sizeof(int),compareFct,&isDuplicate); root = addToTree(root,&data4, sizeof(int),compareFct,&isDuplicate); root = addToTree(root,&data5, sizeof(int),compareFct,&isDuplicate); root = addToTree(root,&data2, sizeof(int),compareFct,&isDuplicate); root = addToTree(root,&data1, sizeof(int),compareFct,&isDuplicate); if(treeSize(root) == 5) printf("PASS"); else printf("FAIL"); printf(" CreateBinTreeSizeTest\n"); clearTree(root); } void nextTreeDataTest() { printf("Starte nextTreeDataTest \n"); TreeNode* root = NULL; int data1 = 1; int data2 = 2; int data3 = 3; int data4 = 4; int isDuplicate = 0; int data5 = 5; // Baum aufbauen root = addToTree(root, &data3, sizeof(int), compareFct, &isDuplicate); root = addToTree(root, &data4, sizeof(int), compareFct, &isDuplicate); root = addToTree(root, &data5, sizeof(int), compareFct, &isDuplicate); root = addToTree(root, &data2, sizeof(int), compareFct, &isDuplicate); root = addToTree(root, &data1, sizeof(int), compareFct, &isDuplicate); void* receivedData; int expectedValue; int testPassed = 1; // Flag, um den Gesamtstatus zu verfolgen // Test 1: Erster Aufruf mit root expectedValue = 1; receivedData = nextTreeData(root); if (receivedData != NULL && *(int*)receivedData == expectedValue) { } else { testPassed = 0; } // Test 2: Zweiter Wert expectedValue = 2; receivedData = nextTreeData(NULL); if (receivedData != NULL && *(int*)receivedData == expectedValue) { } else { testPassed = 0; } // Test 3: Dritter Wert expectedValue = 3; receivedData = nextTreeData(NULL); if (receivedData != NULL && *(int*)receivedData == expectedValue) { } else { testPassed = 0; } // Test 4: Vierter Wert expectedValue = 4; receivedData = nextTreeData(NULL); if (receivedData != NULL && *(int*)receivedData == expectedValue) { } else { testPassed = 0; } // Test 5: Fünfter Wert expectedValue = 5; receivedData = nextTreeData(NULL); if (receivedData != NULL && *(int*)receivedData == expectedValue) { } else { testPassed = 0; } // Test 6: Kein weiterer Wert erwartet receivedData = nextTreeData(NULL); if (receivedData == NULL) { } else { testPassed = 0; } if (testPassed) { printf("PASS"); } else { printf("FAIL"); } clearTree(root); } int main() { nextTreeDataTest(); createTreeTest(); binTreeSizeTest(); return 0; }