info2Praktikum-DobleSpiel/test_numbers.c
2025-12-22 13:29:04 +01:00

70 lines
1.4 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include "numbers.h"
#include "unity.h"
void test_createNumbers()
{
unsigned int len = 6;
unsigned int *array = createNumbers(len);
TEST_ASSERT_NOT_NULL(array);
unsigned int duplicate = getDuplicate(array, len);
TEST_ASSERT_NOT_EQUAL(0, duplicate);
int counter = 0;
for (unsigned int i = 0; i < len; i++)
{
if (array[i] == duplicate)
counter++;
}
TEST_ASSERT_EQUAL(2, counter);
free(array);
}
void test_createNumbers_values()
{
unsigned int len = 6;
unsigned int *array = createNumbers(len);
TEST_ASSERT_NOT_NULL(array);
for (unsigned int i = 0; i < len; i++)
{
TEST_ASSERT_TRUE(array[i] >= 1);
TEST_ASSERT_TRUE(array[i] <= 2 * len);
}
free(array);
}
void test_getDuplicate()
{
unsigned int array[6] = {1, 2, 4, 4, 6, 7};
unsigned int duplicate = getDuplicate(array, 6);
TEST_ASSERT_EQUAL_UINT(4, duplicate);
}
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("\n============================\n Numbers tests\n============================\n");
RUN_TEST(test_createNumbers);
RUN_TEST(test_createNumbers_values);
RUN_TEST(test_getDuplicate);
return UNITY_END();
}