Browse Source
implement unit tests for the functions agePermission() and checkIfInteger()
remotes/origin/beta
implement unit tests for the functions agePermission() and checkIfInteger()
remotes/origin/beta
fdai7207
2 years ago
6 changed files with 205 additions and 7 deletions
-
3build-project.sh
-
9src/main.c
-
42src/mainMenu.c
-
13src/mainMenu.h
-
2tests/test_StringManipulation.c
-
143tests/test_mainMenu.c
@ -1,5 +1,6 @@ |
|||
clear |
|||
ceedling test:all |
|||
cd src/ |
|||
gcc main.c -o main |
|||
gcc main.c mainMenu.c -o main |
|||
./main |
|||
rm main |
@ -1,7 +1,6 @@ |
|||
#include <stdio.h> |
|||
|
|||
int main() |
|||
{ |
|||
|
|||
return 0; |
|||
} |
|||
int main() { |
|||
|
|||
return 0; |
|||
} |
@ -0,0 +1,42 @@ |
|||
#include"mainMenu.h" |
|||
|
|||
|
|||
bool agePermission(int age){ |
|||
|
|||
if(age >= 18) |
|||
{ |
|||
|
|||
return true; |
|||
|
|||
} |
|||
|
|||
else |
|||
{ |
|||
|
|||
return false; |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
bool checkIfInteger(char* input){ |
|||
|
|||
char *end_pointer; |
|||
|
|||
strtol(input, &end_pointer, 10); |
|||
|
|||
if (end_pointer == input || *end_pointer != '\0') |
|||
{ |
|||
|
|||
return false; |
|||
|
|||
} |
|||
|
|||
else |
|||
{ |
|||
|
|||
return true; |
|||
|
|||
} |
|||
} |
|||
|
@ -0,0 +1,13 @@ |
|||
#ifndef MAINMENU_H_ |
|||
#define MAINMENU_H_ |
|||
|
|||
#include<stdio.h> |
|||
#include<stdlib.h> |
|||
#include<stdbool.h> |
|||
#include<string.h> |
|||
|
|||
bool agePermission(int age); |
|||
bool checkIfInteger(char* userInput); |
|||
|
|||
#endif |
|||
|
@ -0,0 +1,143 @@ |
|||
#ifdef TEST |
|||
|
|||
#include "unity.h" |
|||
|
|||
#include "mainMenu.h" |
|||
|
|||
void setUp(void) |
|||
{ |
|||
} |
|||
|
|||
void tearDown(void) |
|||
{ |
|||
} |
|||
void test_agePermissionValidAge(void) |
|||
{ |
|||
//Test case : 0 |
|||
|
|||
//Arrange |
|||
|
|||
int validAge[83]; |
|||
|
|||
bool validAgeResult[83]; |
|||
|
|||
int j=0; |
|||
|
|||
for(int i =18;i<101;i++){ |
|||
|
|||
validAge[j]= i; |
|||
j++; |
|||
} |
|||
|
|||
//Act |
|||
|
|||
for(int i=0;i<83;i++){ |
|||
|
|||
validAgeResult[i] = agePermission(validAge[i]); |
|||
} |
|||
|
|||
//Assert |
|||
|
|||
for(int i=0;i<83;i++){ |
|||
|
|||
TEST_ASSERT_TRUE(validAgeResult[i]); |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
void test_agePermissionInvalidAge(void) |
|||
{ |
|||
|
|||
//Test case : 1 |
|||
|
|||
//Arrange |
|||
|
|||
int invalidAge[117]; |
|||
|
|||
bool invalidAgeResult[117]; |
|||
|
|||
int j=0; |
|||
|
|||
for(int i =-100;i<18;i++){ |
|||
|
|||
invalidAge[j]= i; |
|||
j++; |
|||
} |
|||
|
|||
//Act |
|||
|
|||
for(int i=0;i<117;i++){ |
|||
|
|||
invalidAgeResult[i] = agePermission(invalidAge[i]); |
|||
|
|||
} |
|||
|
|||
//Assert |
|||
|
|||
for(int i=0;i<117;i++){ |
|||
|
|||
TEST_ASSERT_FALSE(invalidAgeResult[i]); |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
void test_IsInteger(void) |
|||
{ |
|||
|
|||
//Arrange |
|||
|
|||
char* inputIsInteger[] = {"-10000000","-2000000","-354698","-66667","-7878","-987","-64","-5","0","1","2","10","201","333","4321","56974","698751","7878989","88954621" }; |
|||
|
|||
bool inputIsIntegerResult[19]; |
|||
|
|||
//Act |
|||
|
|||
for(int i=0;i<19;i++) |
|||
{ |
|||
|
|||
inputIsIntegerResult[i] = checkIfInteger(inputIsInteger[i]); |
|||
|
|||
} |
|||
|
|||
//Assert |
|||
|
|||
for(int i=0;i<19;i++) |
|||
{ |
|||
|
|||
TEST_ASSERT_TRUE(inputIsIntegerResult[i]); |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
void test_IsNotInteger(void) |
|||
{ |
|||
|
|||
//Arrange |
|||
|
|||
char* inputIsNotInteger[] = {"0.15","3.141592653589793238","5.3254f","-6.264","-7878.3261","foo","Bar","FIZZ","buzZ","joHN","jAnE","foo-bar","3,15","2k13",""," ","-","+","/*-+.,/=" }; |
|||
|
|||
bool inputIsNotIntegerResult[19]; |
|||
|
|||
//Act |
|||
|
|||
for(int i=0;i<19;i++) |
|||
{ |
|||
|
|||
inputIsNotIntegerResult[i] = checkIfInteger(inputIsNotInteger[i]); |
|||
|
|||
} |
|||
|
|||
//Assert |
|||
|
|||
for(int i=0;i<19;i++) |
|||
{ |
|||
|
|||
TEST_ASSERT_FALSE(inputIsNotIntegerResult[i]); |
|||
|
|||
} |
|||
|
|||
} |
|||
#endif // TEST |
Write
Preview
Loading…
Cancel
Save
Reference in new issue