Browse Source

Merge branch 'development' into 'feature/customer-creation'

# Conflicts:
#   build-project.sh
#   project.yml
#   src/main.c
remotes/origin/feature/customer-creation
fdai7057 2 years ago
parent
commit
cf8f751500
  1. 2
      .gitignore
  2. 154
      src/mainMenu.c
  3. 18
      src/mainMenu.h
  4. 6
      team.md
  5. 0
      test/support/.gitkeep
  6. 226
      test/test_mainMenu.c

2
.gitignore

@ -0,0 +1,2 @@
.DS_Store
.swp

154
src/mainMenu.c

@ -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");
}

18
src/mainMenu.h

@ -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

6
team.md

@ -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
test/support/.gitkeep

226
test/test_mainMenu.c

@ -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
Loading…
Cancel
Save