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
-
3src/main.c
-
42src/mainMenu.c
-
13src/mainMenu.h
-
2tests/test_StringManipulation.c
-
143tests/test_mainMenu.c
@ -1,5 +1,6 @@ |
|||||
|
clear |
||||
ceedling test:all |
ceedling test:all |
||||
cd src/ |
cd src/ |
||||
gcc main.c -o main |
|
||||
|
gcc main.c mainMenu.c -o main |
||||
./main |
./main |
||||
rm main |
rm main |
@ -1,7 +1,6 @@ |
|||||
#include <stdio.h> |
#include <stdio.h> |
||||
|
|
||||
int main() |
|
||||
{ |
|
||||
|
int main() { |
||||
|
|
||||
return 0; |
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