From ceccdd60a9c47576822201d15f245325391a29f0 Mon Sep 17 00:00:00 2001 From: fdai7207 Date: Mon, 30 Jan 2023 15:13:57 +0100 Subject: [PATCH] implement unit tests for the function chooseOption(). --- .gitignore | 3 +- src/mainMenu.c | 20 +++++++- src/mainMenu.h | 1 + test/test_mainMenu.c | 111 ++++++++++++++++++++++++++++++++++++++++--- 4 files changed, 126 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 496ee2c..dce188f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.DS_Store \ No newline at end of file +.DS_Store +.swp diff --git a/src/mainMenu.c b/src/mainMenu.c index dd249fc..eca4c34 100644 --- a/src/mainMenu.c +++ b/src/mainMenu.c @@ -1,4 +1,4 @@ -#include"mainMenu.h" +#include "mainMenu.h" bool agePermission(int age) @@ -20,6 +20,22 @@ bool checkIfInteger(char* userInput) return !(endPointer == userInput || *endPointer != '\0'); } + +bool chooseOption(int choiceInput) +{ + + if(choiceInput < 1 || choiceInput > 4) + { + return false; + } + + else + { + return true; + } + +} + void ageInput() { @@ -82,3 +98,5 @@ void showMenu() printf("\n\n\n\n\n Selection :\n"); } + + diff --git a/src/mainMenu.h b/src/mainMenu.h index ccc7d9c..6974d21 100644 --- a/src/mainMenu.h +++ b/src/mainMenu.h @@ -8,6 +8,7 @@ bool agePermission(int age); bool checkIfInteger(char* userInput); +bool chooseOption(int choiceInput); void ageInput(); void showMenu(); diff --git a/test/test_mainMenu.c b/test/test_mainMenu.c index eb93bb7..ea65cc2 100644 --- a/test/test_mainMenu.c +++ b/test/test_mainMenu.c @@ -26,7 +26,7 @@ void test_agePermissionValidAge(void) /*Act*/ - for(int i =0;i<83;i++){ + for(int i =0; i < 83; i++){ validAgeResult[i]= Age + i; } @@ -34,7 +34,7 @@ void test_agePermissionValidAge(void) /*Assert*/ - for(int i=0;i<83;i++){ + for(int i=0; i < 83; i++){ TEST_ASSERT_TRUE(validAgeResult[i]); @@ -54,7 +54,7 @@ void test_agePermissionInvalidAge(void) bool invalidAgeResult[117]; - for(int i =-100;i<18;i++) + for(int i =-100; i < 18; i++) { invalidAge[i+100]= i; @@ -62,7 +62,7 @@ void test_agePermissionInvalidAge(void) /*Act*/ - for(int i=0;i<117;i++) + for(int i=0; i < 117; i++) { invalidAgeResult[i] = agePermission(invalidAge[i]); @@ -71,7 +71,7 @@ void test_agePermissionInvalidAge(void) /*Assert*/ - for(int i=0;i<117;i++) + for(int i=0; i < 117; i++) { TEST_ASSERT_FALSE(invalidAgeResult[i]); @@ -93,7 +93,7 @@ void test_IsInteger(void) /*Act and Assert*/ - for(int i=0;i<19;i++) + for(int i=0; i < 19; i++) { bool inputIsIntegerResult = checkIfInteger(inputIsInteger[i]); @@ -116,7 +116,7 @@ void test_IsNotInteger(void) /*Act and Assert*/ - for(int i=0;i<19;i++) + for(int i=0; i<19; i++) { bool inputIsNotIntegerResult = checkIfInteger(inputIsNotInteger[i]); @@ -126,4 +126,101 @@ void test_IsNotInteger(void) } +void test_validChoiceInput(void) +{ + //test case 0 + + /*Arrange*/ + + int validInput[4]; + + bool validInputResult[4]; + + /*Act*/ + + for(int i = 0; i < 4; i++) + { + validInput[i] = i + 1; + } + + for(int i = 0; i < 4; i++) + { + validInputResult[i] = chooseOption(validInput[i]); + } + + /*Assert*/ + + for(int i = 0; i < 4; i++) + { + TEST_ASSERT_TRUE(validInputResult[i]); + } + +} + +void test_invalidChoiceInput_firstCase(void) +{ + // test case 1 + + /*Arrange*/ + + int invalidInput[100]; + + bool invalidInputResult[100]; + + /*Act*/ + + for(int i = -100; i < 0; i++) + { + invalidInput[i+100] = i; + } + + for(int i = 0; i < 100; i++) + { + invalidInputResult[i] = chooseOption(invalidInput[i]); + } + + /*Assert*/ + + for(int i = 0; i < 100; i++) + { + TEST_ASSERT_FALSE(invalidInputResult[i]); + } + +} + +void test_invalidChoiceInput_secondCase(void) +{ + // test case 2 + + /*Arrange*/ + + int invalidInput[100]; + + bool invalidInputResult[100]; + + /*Act*/ + + for(int i = 0; i < 100; i++) + { + invalidInput[i] = i + 5; + } + + for(int i = 0; i < 100; i++) + { + invalidInputResult[i] = chooseOption(invalidInput[i]); + } + + /*Assert*/ + + for(int i = 0; i < 100; i++) + { + TEST_ASSERT_FALSE(invalidInputResult[i]); + } + +} + + + + + #endif // TEST