#include #include #include #include #include "numbers.h" #include "unity/unity.h" void setUp(void) { // gehört zu unit-Grundaufbau } void tearDown(void) { // gehört zu unit-Grundaufbau } // Testet, ob createNumbers ein gültiges Array erzeugt // und genau ein Duplikat enthalten ist void test_createNumbers_basic(void) { unsigned int len = 10; unsigned int *numbers = createNumbers(len); // Array muss existieren TEST_ASSERT_NOT_NULL(numbers); // Es muss genau EIN Duplikat geben unsigned int duplicate = getDuplicate(numbers, len); TEST_ASSERT_NOT_EQUAL(0, duplicate); free(numbers); } /// Testet, ob getDuplicate die korrekte doppelte Zahl erkennt void test_getDuplicate_correctValue(void) { unsigned int numbers[] = {1, 3, 5, 7, 3}; unsigned int len = 5; unsigned int dup = getDuplicate(numbers, len); TEST_ASSERT_EQUAL(3, dup); } // Testet Fehlerfälle von getDuplicate static void test_getDuplicate_errors(void) { TEST_ASSERT_EQUAL_UINT(0, getDuplicate(NULL, 10)); TEST_ASSERT_EQUAL_UINT(0, getDuplicate((unsigned int*)1, 1)); // len < 2 } // Testbereich int main(void) { UNITY_BEGIN(); RUN_TEST(test_createNumbers_basic); RUN_TEST(test_getDuplicate_correctValue); RUN_TEST(test_getDuplicate_errors); return UNITY_END(); }