Compare commits

..

2 Commits

Author SHA1 Message Date
Thilo
0ebd521d61 numbers and tests finished 2025-12-15 20:13:58 +01:00
Thilo
cb6a9feab8 numbers and tests finished 2025-12-15 20:09:10 +01:00
3 changed files with 87 additions and 8 deletions

View File

@ -35,19 +35,26 @@ $(program_obj_filesobj_files): %.o: %.c
# --------------------------
# Unit Tests
# --------------------------
test_sources = test_stack.c stack.c
test_objects = $(test_sources:.c=.o)
stack_test_sources = test_stack.c stack.c
stack_test_objects = $(stack_test_sources:.c=.o)
test_runner: $(test_objects)
numbers_test_sources = test_numbers.c numbers.c
numbers_test_objects = $(numbers_test_sources:.c=.o)
stack_test_runner: $(stack_test_objects)
$(CC) $(FLAGS) $^ -o $@
unitTests: test_runner
numbers_test_runner: $(numbers_test_objects)
$(CC) $(FLAGS) $^ -o $@
unitTests: stack_test_runner numbers_test_runner
@echo "============================="
@echo "Running Stack Unit Tests..."
@echo "Running Unit Tests..."
@echo "============================="
./test_runner
./stack_test_runner
./numbers_test_runner
@echo "============================="
@echo "Stack Unit Tests Finished."
@echo "Unit Tests Finished."
@echo "============================="

View File

@ -100,7 +100,7 @@ unsigned int getDuplicate(const unsigned int numbers[], unsigned int len)
if (numbers == NULL)
{
fprintf(stderr, "Fehler! Das übergebene Array ist leer!");
fprintf(stderr, "Fehler! Das übergebene Array ist leer!\n");
return duplicate;
}

72
test_numbers.c Normal file
View File

@ -0,0 +1,72 @@
#include <stdio.h>
#include <stdlib.h>
#include "numbers.h"
void test_empty_function(void)
{
unsigned int len1 = 1;
unsigned int len2 = 5;
unsigned int *null_array = NULL;
unsigned int array[] = {1, 2, 3, 4, 5};
unsigned int *array_ptr = array;
unsigned int *create_num = createNumbers(len1);
if (create_num == NULL)
printf("Test on invalid lenght of array: SUCCESS!\n");
else
{
printf("Test on invalid lenght of array: FAILED! Expected: NULL, Was: %p\n", create_num);
free(create_num);
}
unsigned int duplicate = getDuplicate(null_array, len2);
if (duplicate == 0)
printf("Test on invalid array: SUCESS!\n");
else
printf("Test on invalid array: FAILED! Expected: 0, WAS: %u\n", duplicate);
unsigned int duplicate2 = getDuplicate(array_ptr, len1);
if (duplicate2 == 0)
printf("Test on invalid lenght of array: SUCESS!\n");
else
printf("Test on invalid lenght of array: FAILED, Expected: 0, WAS: %u\n", duplicate2);
}
void test_array(void)
{
unsigned int len = 10;
unsigned int *array = NULL;
array = createNumbers(len);
if (array == NULL)
printf("Test on valid lenght of array: FAILED! Expected array greater than 0, Was: NULL\n");
else printf("Test on valid lenght of array: SUCESS!\n");
unsigned int test_array_dup[] = {1, 2, 3, 4, 5, 2, 6, 7, 8, 9};
unsigned int test_len = 10;
unsigned int duplicate = 2;
unsigned int duplicate_found = getDuplicate(test_array_dup, test_len);
if (duplicate_found != duplicate)
printf("Test on valid lenght of array: FAILED! Expected %u, Was: %u\n", duplicate, duplicate_found);
else printf("Test on valid lenght of array: SUCESS!, Duplicate value: %d\n", duplicate);
free(array);
}
int main(void)
{
test_empty_function();
printf("\n");
test_array();
return EXIT_SUCCESS;
}