From 5a8d0bea8974ca3b53f3d5b7d17f1f4cce98755d 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 | 2 + src/mainMenu.c | 26 +++++++--- src/mainMenu.h | 1 + tests/test_mainMenu.c | 111 +++++++++++++++++++++++++++++++++++++++--- 4 files changed, 127 insertions(+), 13 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dce188f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.DS_Store +.swp diff --git a/src/mainMenu.c b/src/mainMenu.c index 827dfde..d0266dc 100644 --- a/src/mainMenu.c +++ b/src/mainMenu.c @@ -1,7 +1,6 @@ -#include"mainMenu.h" +#include "mainMenu.h" #include"createCustomer.c" - bool agePermission(int age) { @@ -21,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() { @@ -63,10 +78,7 @@ void ageInput() else { printf("input invalid! try again!\n"); - - fflush(stdin); - scanf("%s",userInput); - fflush(stdin); + scanf("%s",userInput); } @@ -87,3 +99,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/tests/test_mainMenu.c b/tests/test_mainMenu.c index eb93bb7..ea65cc2 100644 --- a/tests/test_mainMenu.c +++ b/tests/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