#include #include #include "numbers.h" #include "bintree.h" #include "unity.h" void test_getDuplicateLogic() { unsigned int test1[] = {1, 9, 3, 5, 2, 5, 8}; unsigned int len1 = 7; unsigned int res1 = getDuplicate(test1, len1); TEST_ASSERT_EQUAL_UINT32(5, res1); unsigned int test2[] = {10, 1, 2, 3, 10}; unsigned int len2 = 5; unsigned int res2 = getDuplicate(test2, len2); TEST_ASSERT_EQUAL_UINT32(10, res2); unsigned int test3[] = {1, 2, 3, 4, 5}; unsigned int len3 = 5; unsigned int res3 = getDuplicate(test3, len3); TEST_ASSERT_EQUAL_UINT32(0, res3); } void test_Integration(unsigned int len) { unsigned int *arr = createNumbers(len); TEST_ASSERT_NOT_NULL(arr); unsigned int duplicate = getDuplicate(arr, len); TEST_ASSERT_NOT_EQUAL_UINT32(0, duplicate); int count = 0; for (unsigned int i = 0; i < len; i++) { if (arr[i] == duplicate) { count++; } } TEST_ASSERT_EQUAL_UINT32(2, count); free(arr); } void test_IntegrationVar () { test_Integration(10); test_Integration(100); test_Integration(1000); } 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(test_getDuplicateLogic); RUN_TEST(test_IntegrationVar); return UNITY_END(); }