Browse Source
Merge branch 'development' into 'feature/customer-creation'
Merge branch 'development' into 'feature/customer-creation'
# Conflicts: # build-project.sh # project.yml # src/main.cremotes/origin/feature/customer-creation
fdai7057
2 years ago
6 changed files with 406 additions and 0 deletions
-
2.gitignore
-
154src/mainMenu.c
-
18src/mainMenu.h
-
6team.md
-
0test/support/.gitkeep
-
226test/test_mainMenu.c
@ -0,0 +1,2 @@ |
|||
.DS_Store |
|||
.swp |
@ -0,0 +1,154 @@ |
|||
#include"mainMenu.h" |
|||
|
|||
|
|||
bool agePermission(int age) |
|||
{ |
|||
|
|||
return age >= 18; |
|||
|
|||
} |
|||
|
|||
bool checkIfInteger(char* userInput) |
|||
{ |
|||
|
|||
char *endPointer; |
|||
|
|||
/*the endPointer points to the first non-integer character signaled to stop conversion*/ |
|||
|
|||
strtol(userInput, &endPointer, 10); |
|||
|
|||
return !(endPointer == userInput || *endPointer != '\0'); |
|||
|
|||
} |
|||
|
|||
bool chooseOption(int choiceInput) |
|||
{ |
|||
|
|||
if(choiceInput<1 || choiceInput>4) |
|||
{ |
|||
return false; |
|||
} |
|||
|
|||
else |
|||
{ |
|||
|
|||
return true; |
|||
} |
|||
|
|||
} |
|||
|
|||
void ageInput() |
|||
{ |
|||
|
|||
char* userInput = malloc(20*sizeof(char*)); |
|||
char* userInputPointer; |
|||
|
|||
long age; |
|||
|
|||
printf("\nPlease specify your age : "); |
|||
scanf("%s",userInput); |
|||
|
|||
|
|||
while (true) |
|||
{ |
|||
age = strtol(userInput,&userInputPointer,10); |
|||
|
|||
if((checkIfInteger(userInput))&& (agePermission(age))) |
|||
{ |
|||
|
|||
printf("Access granted!\n\n\n\n"); |
|||
|
|||
showMenu(); |
|||
|
|||
menuInput(); |
|||
|
|||
break; |
|||
|
|||
} |
|||
|
|||
else if((checkIfInteger(userInput)) && !(agePermission(age))) |
|||
{ |
|||
|
|||
printf("You should be at least 18 years old to create a bank account!\n"); |
|||
|
|||
break; |
|||
|
|||
} |
|||
|
|||
else |
|||
{ |
|||
printf("input invalid! try again!\n"); |
|||
|
|||
scanf("%s",userInput); |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
void menuInput() |
|||
{ |
|||
|
|||
char choiceInput[20]; |
|||
|
|||
char* choiceInputPointer; |
|||
|
|||
int selection; |
|||
|
|||
scanf("%s",choiceInput); |
|||
|
|||
while(true) |
|||
{ |
|||
selection = strtol(choiceInput,&choiceInputPointer,10); |
|||
|
|||
if(chooseOption(selection) == true && checkIfInteger(choiceInput) == true) |
|||
{ |
|||
switch(selection) |
|||
{ |
|||
|
|||
case 1 : printf("\nLoginAsCostumer() function will be implemented here soon\n\n"); |
|||
|
|||
break; |
|||
|
|||
case 2 : printf("\ncreateCostumerAccount() function will be implemented here soon\n\n"); |
|||
|
|||
break; |
|||
|
|||
case 3 : printf("\nLoginAsEmployee() function will be implemented here soon\n\n"); |
|||
|
|||
break; |
|||
|
|||
case 4 : printf("\e[1;1H\e[2J"); |
|||
|
|||
printf("\nsee you next time !\n\n"); |
|||
|
|||
break; |
|||
|
|||
} |
|||
break; |
|||
} |
|||
|
|||
else |
|||
{ |
|||
printf("Input invalid! try again!\n"); |
|||
|
|||
scanf("%s",choiceInput); |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
void showMenu() |
|||
{ |
|||
|
|||
printf("\t\t\t\t\t\t\t Welcome to Bank Manager!"); |
|||
printf("\n\n\n\n\t\t\t\t\t\tPlease select one of the following functions!"); |
|||
printf("\n\n\n\n\t\t\t\t\t\t ->Login as an existing costumer."); |
|||
printf("\n\n\t\t\t\t\t\t ->Register as a new costumer."); |
|||
printf("\n\n\t\t\t\t\t\t ->Login as an Employee."); |
|||
printf("\n\n\t\t\t\t\t\t\t\t ->Exit.\n"); |
|||
printf("\n\n\n\n\n Selection :\n"); |
|||
|
|||
} |
|||
|
@ -0,0 +1,18 @@ |
|||
#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); |
|||
bool chooseOption(int choiceInput); |
|||
|
|||
void ageInput(); |
|||
void menuInput(); |
|||
void showMenu(); |
|||
|
|||
#endif |
|||
|
@ -0,0 +1,6 @@ |
|||
- Can Hacioglu, fdlt3817 |
|||
- Atharva Kishor Naik, fdai7514 |
|||
- Julius Philipp Engel, fdai7057 |
|||
- Shivam Chaudhary, fdlt3781 |
|||
- Mohamed Yahya Dahi, fdai6618 |
|||
- Haytham Daoula, fdai7207 |
@ -0,0 +1,226 @@ |
|||
#ifdef TEST |
|||
|
|||
#include "unity.h" |
|||
|
|||
#include "mainMenu.h" |
|||
|
|||
void setUp(void) |
|||
{ |
|||
|
|||
} |
|||
|
|||
void tearDown(void) |
|||
{ |
|||
|
|||
} |
|||
|
|||
void test_agePermissionValidAge(void) |
|||
{ |
|||
//Test case : 0 |
|||
|
|||
/*Arrange*/ |
|||
|
|||
int Age = 18; |
|||
|
|||
bool validAgeResult[83]; |
|||
|
|||
/*Act*/ |
|||
|
|||
for(int i =0; i < 83; i++){ |
|||
|
|||
validAgeResult[i]= Age + 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]; |
|||
|
|||
|
|||
for(int i =-100; i < 18; i++) |
|||
{ |
|||
|
|||
invalidAge[i+100]= i; |
|||
} |
|||
|
|||
/*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) |
|||
{ |
|||
|
|||
//test case 0 |
|||
|
|||
/*Arrange*/ |
|||
|
|||
char* inputIsInteger[] = {"-10000000","-2000000","-354698","-66667","-7878","-987","-64","-5","0","1","2","10","201","333","4321","56974","698751","7878989","88954621" }; |
|||
|
|||
bool inputIsIntegerExpected = true; |
|||
|
|||
/*Act and Assert*/ |
|||
|
|||
for(int i=0; i < 19; i++) |
|||
{ |
|||
bool inputIsIntegerResult = checkIfInteger(inputIsInteger[i]); |
|||
|
|||
TEST_ASSERT_EQUAL(inputIsIntegerExpected,inputIsIntegerResult); |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
void test_IsNotInteger(void) |
|||
{ |
|||
//test case 1 |
|||
|
|||
/*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 inputIsNotIntegerExpected = false; |
|||
|
|||
/*Act and Assert*/ |
|||
|
|||
|
|||
for(int i=0; i<19; i++) |
|||
{ |
|||
bool inputIsNotIntegerResult = checkIfInteger(inputIsNotInteger[i]); |
|||
|
|||
TEST_ASSERT_EQUAL(inputIsNotIntegerExpected,inputIsNotIntegerResult); |
|||
|
|||
} |
|||
|
|||
|
|||
} |
|||
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 |
Write
Preview
Loading…
Cancel
Save
Reference in new issue