2025-12-08 14:00:19 +01:00

49 lines
1.0 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include "numbers.h"
int main(void)
{
printf("=== TEST: createNumbers & getDuplicate ===\n");
unsigned int len = 20;
unsigned int *arr = createNumbers(len);
if (!arr)
{
printf("FAILED: createNumbers returned NULL\n");
return 1;
}
printf("Array created: ");
for (unsigned int i = 0; i < len; i++)
printf("%u ", arr[i]);
printf("\n");
unsigned int dup = getDuplicate(arr, len);
if (dup == 0)
{
printf("FAILED: getDuplicate returned 0 (no duplicate found)\n");
free(arr);
return 1;
}
// Count occurrences manually as safety check
unsigned int count = 0;
for (unsigned int i = 0; i < len; i++)
if (arr[i] == dup)
count++;
if (count != 2)
{
printf("FAILED: duplicate=%u occurs %u times (expected 2)\n", dup, count);
free(arr);
return 1;
}
printf("SUCCESS: duplicate number is %u and appears exactly twice.\n", dup);
free(arr);
return 0;
}