numbersTests added and added to makefile
This commit is contained in:
parent
680e72b478
commit
5d1d37f0df
@ -1,5 +1,6 @@
|
|||||||
CC = gcc
|
CC = gcc
|
||||||
FLAGS = -g -Wall -lm
|
CFLAGS = -g -Wall
|
||||||
|
LDFLAGS = -lm
|
||||||
|
|
||||||
ifeq ($(OS),Windows_NT)
|
ifeq ($(OS),Windows_NT)
|
||||||
include makefile_windows.variables
|
include makefile_windows.variables
|
||||||
@ -27,7 +28,7 @@ doble_initial:
|
|||||||
program_obj_files = stack.o bintree.o numbers.o timer.o highscore.o
|
program_obj_files = stack.o bintree.o numbers.o timer.o highscore.o
|
||||||
|
|
||||||
doble : main.o $(program_obj_files)
|
doble : main.o $(program_obj_files)
|
||||||
$(CC) $(FLAGS) $^ -o doble
|
$(CC) $(FLAGS) $(LDFLAGS) $^ -o doble
|
||||||
|
|
||||||
$(program_obj_filesobj_files): %.o: %.c
|
$(program_obj_filesobj_files): %.o: %.c
|
||||||
$(CC) -c $(FLAGS) $^ -o $@
|
$(CC) -c $(FLAGS) $^ -o $@
|
||||||
@ -35,15 +36,21 @@ $(program_obj_filesobj_files): %.o: %.c
|
|||||||
# --------------------------
|
# --------------------------
|
||||||
# Unit Tests
|
# Unit Tests
|
||||||
# --------------------------
|
# --------------------------
|
||||||
unitTests:
|
unitTests: numbersTest
|
||||||
echo "needs to be implemented"
|
./runNumbersTest
|
||||||
|
|
||||||
|
numbersTest: numbers.o bintree.o numbersTest.o $($(unityfolder)/unity.c)
|
||||||
|
$(CC) $(FLAGS) $(LDFLAGS) $^ -o $@
|
||||||
|
|
||||||
|
%.o: %.c
|
||||||
|
$(CC) -c $(FLAGS) $< -o $@
|
||||||
|
|
||||||
# --------------------------
|
# --------------------------
|
||||||
# Clean
|
# Clean
|
||||||
# --------------------------
|
# --------------------------
|
||||||
clean:
|
clean:
|
||||||
ifeq ($(OS),Windows_NT)
|
ifeq ($(OS),Windows_NT)
|
||||||
del /f *.o doble
|
del /f *.o doble runNumbersTest
|
||||||
else
|
else
|
||||||
rm -f *.o doble
|
rm -f *.o doble runNumbersTest
|
||||||
endif
|
endif
|
||||||
89
I2_Dobble/numbersTest.c
Normal file
89
I2_Dobble/numbersTest.c
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
#include "numbers.h"
|
||||||
|
#include "unity.h"
|
||||||
|
#include "unity_internals.h"
|
||||||
|
|
||||||
|
void test_createNumbers_no_null(void)
|
||||||
|
{
|
||||||
|
unsigned int *arr = createNumbers(10);
|
||||||
|
TEST_ASSERT_NOT_NULL(arr);
|
||||||
|
free(arr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_createNumbers_has_exactly_one_duplicate(void)
|
||||||
|
{
|
||||||
|
unsigned int len = 100;
|
||||||
|
unsigned int *arr = createNumbers(len);
|
||||||
|
TEST_ASSERT_NOT_NULL(arr);
|
||||||
|
|
||||||
|
unsigned int dup = getDuplicate(arr, len);
|
||||||
|
TEST_ASSERT_NOT_EQUAL(0, dup);
|
||||||
|
|
||||||
|
int count = 0;
|
||||||
|
for (unsigned int i = 0; i < len; i++)
|
||||||
|
{
|
||||||
|
if (arr[i] == dup)
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL(2, count);
|
||||||
|
|
||||||
|
free(arr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_createNumbers_has_correct_value_range(void)
|
||||||
|
{
|
||||||
|
unsigned int len = 10;
|
||||||
|
unsigned int *arr = createNumbers(len);
|
||||||
|
TEST_ASSERT_NOT_NULL(arr);
|
||||||
|
|
||||||
|
// Check all numbers are within valid range (1 to 2*len)
|
||||||
|
for (unsigned int i = 0; i < len; i++)
|
||||||
|
{
|
||||||
|
TEST_ASSERT_TRUE(arr[i] >= 1);
|
||||||
|
TEST_ASSERT_TRUE(arr[i] <= 2 * len);
|
||||||
|
}
|
||||||
|
|
||||||
|
free(arr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_getDuplicate_returns_correct_value(void)
|
||||||
|
{
|
||||||
|
unsigned int arr[6] = {4, 1, 7, 7, 3, 2};
|
||||||
|
unsigned int d = getDuplicate(arr, 6);
|
||||||
|
TEST_ASSERT_EQUAL_UINT(7, d);
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_complete_function_of_numbers(void)
|
||||||
|
{
|
||||||
|
unsigned int len = 50;
|
||||||
|
unsigned int *arr = createNumbers(len);
|
||||||
|
TEST_ASSERT_NOT_NULL(arr);
|
||||||
|
|
||||||
|
unsigned int d1 = getDuplicate(arr, len);
|
||||||
|
TEST_ASSERT_NOT_EQUAL(0, d1);
|
||||||
|
|
||||||
|
int count = 0;
|
||||||
|
|
||||||
|
for (unsigned int i = 0; i < len; i++)
|
||||||
|
{
|
||||||
|
if (arr[i] == d1)
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL(2, count);
|
||||||
|
|
||||||
|
free(arr);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
UNITY_BEGIN();
|
||||||
|
|
||||||
|
RUN_TEST(test_createNumbers_no_null);
|
||||||
|
RUN_TEST(test_createNumbers_has_exactly_one_duplicate);
|
||||||
|
RUN_TEST(test_createNumbers_has_correct_value_range);
|
||||||
|
RUN_TEST(test_getDuplicate_returns_correct_value);
|
||||||
|
RUN_TEST(test_complete_function_of_numbers);
|
||||||
|
|
||||||
|
return UNITY_END();
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user