generated from freudenreichan/info2Praktikum-DobleSpiel
96 lines
2.3 KiB
C
96 lines
2.3 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <math.h>
|
|
#include "unity.h"
|
|
#include "numbers.h"
|
|
/*
|
|
int compareInt(const void *arg1, const void *arg2) {
|
|
int a = *(const int *)arg1;
|
|
int b = *(const int *)arg2;
|
|
return a - b;
|
|
}
|
|
int compareString(const void *arg1, const void *arg2) {
|
|
const char *str1 = (const char *)arg1;
|
|
const char *str2 = (const char *)arg2;
|
|
return strcmp(str1, str2);
|
|
}*/
|
|
|
|
|
|
|
|
|
|
static void testCreateNumbersNotNull() {
|
|
unsigned int len = 10;
|
|
unsigned int *nums = createNumbers(len);
|
|
TEST_ASSERT_NOT_NULL(nums);
|
|
free(nums);
|
|
}
|
|
|
|
static void testCreateNumbersLength() {
|
|
unsigned int len = 20;
|
|
unsigned int *nums = createNumbers(len);
|
|
TEST_ASSERT_NOT_NULL(nums);
|
|
for (unsigned int i = 0; i < len; i++) {
|
|
TEST_ASSERT_UINT_WITHIN(len * 2, 0, nums[i]); // Überprüft, ob werte zwischen 0 und len*2 liegen
|
|
}
|
|
free(nums);
|
|
}
|
|
|
|
static void testCreateNumbersContainsDuplicate() {
|
|
unsigned int len = 30;
|
|
unsigned int *nums = createNumbers(len);
|
|
|
|
int duplicate = 0;
|
|
for (unsigned int i = 0; i < len; i++) {
|
|
for (unsigned int ii = i + 1; ii < len; ii++) {
|
|
if (nums[i] == nums[ii]) {
|
|
duplicate ++;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
TEST_ASSERT_EQUAL_UINT(1,duplicate);
|
|
free(nums);
|
|
}
|
|
|
|
static void testGetDuplicateNoDuplicates() {
|
|
unsigned int values[] = {1, 2, 3, 4, 5};
|
|
unsigned int dup = getDuplicate(values, 5);
|
|
TEST_ASSERT_EQUAL_UINT(0, dup);
|
|
}
|
|
|
|
static void testGetDuplicateWithDuplicate() {
|
|
unsigned int values[] = {1, 2, 3, 4, 2, 5};
|
|
unsigned int dup = getDuplicate(values, 6);
|
|
TEST_ASSERT_EQUAL_UINT(2, dup);
|
|
}
|
|
|
|
static void testGetDuplicateMultipleDuplicates() {
|
|
unsigned int values[] = {10, 20, 30, 10, 20, 40};
|
|
unsigned int dup = getDuplicate(values, 6);
|
|
TEST_ASSERT_EQUAL_UINT(10, dup);
|
|
}
|
|
|
|
|
|
void setUp(void){
|
|
|
|
}
|
|
void tearDown(void){
|
|
|
|
}
|
|
|
|
|
|
|
|
int main(){
|
|
UNITY_BEGIN();
|
|
printf("\n============================\nNumber tests\n============================\n");
|
|
|
|
RUN_TEST(testCreateNumbersNotNull);
|
|
RUN_TEST(testCreateNumbersLength);
|
|
RUN_TEST(testCreateNumbersContainsDuplicate);
|
|
RUN_TEST(testGetDuplicateNoDuplicates);
|
|
RUN_TEST(testGetDuplicateWithDuplicate);
|
|
RUN_TEST(testGetDuplicateMultipleDuplicates);
|
|
|
|
return UNITY_END();
|
|
} |