A3DobleSpielI2Praktikum/test_numbers.c
2025-12-15 22:58:45 +01:00

73 lines
1.6 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include "numbers.h"
#include "bintree.h"
#include "unity/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();
}