Info2DopleSpiel/numbersTests.c

70 lines
1.7 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "unity.h"
#include "numbers.h"
void test_ArrayIsCreatedAndNotNull(void){
size_t len = 15;
int *testArray = createNumbers(len);
TEST_ASSERT_NOT_NULL(testArray); //If array hasnt been created at all
free(testArray);
}
void test_getDouplicateReturnsDouplicateNumber(void){
unsigned int testArray[8] = {1, 2, 3, 3, 4, 5, 6, 7};
unsigned int testValue = getDuplicate(testArray, 8);
TEST_ASSERT_EQUAL(3, testValue);
}
void test_getDouplicateReturnsZeroWhenThereIsNoDuplicate(void){
unsigned int testArray[8] = {1, 2, 3, 4, 5, 6, 7, 8};
unsigned int testValue = getDuplicate(testArray, 8);
TEST_ASSERT_EQUAL(0, testValue);
}
void test_getDouplicateReturnsZeroWhenThereAreMultipleDuplicates(void){
unsigned int testArray[8] = {1, 3, 3, 4, 5, 6, 7, 7};
unsigned int testValue = getDuplicate(testArray, 8);
TEST_ASSERT_EQUAL(0, testValue);
}
void test_CreateNumbersCreatesDuplicatein2LenArray(void){
unsigned int *testArray = createNumbers(2);
unsigned int testValue = getDuplicate(testArray, 2);
if(!testValue)
testValue = 0;
else
testValue = 1;
TEST_ASSERT_EQUAL(1, testValue);
}
void setUp(void){}
void tearDown(void){}
int main(){
UNITY_BEGIN();
printf("\n============================\nNumbers tests\n============================\n");
RUN_TEST(test_ArrayIsCreatedAndNotNull);
RUN_TEST(test_CreateNumbersCreatesDuplicatein2LenArray);
RUN_TEST(test_getDouplicateReturnsDouplicateNumber);
RUN_TEST(test_getDouplicateReturnsZeroWhenThereIsNoDuplicate);
RUN_TEST(test_getDouplicateReturnsZeroWhenThereAreMultipleDuplicates);
return UNITY_END();
}