70 lines
1.5 KiB
C
70 lines
1.5 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();
|
|
} |