Browse Source
Merge branch 'main' into feature/withdraw-money-system
remotes/origin/feature/withdraw-money-system
Merge branch 'main' into feature/withdraw-money-system
remotes/origin/feature/withdraw-money-system
Shivam Chaudhary
2 years ago
26 changed files with 1342 additions and 4 deletions
-
3build-project.sh
-
3build/test/cache/defines_dependency.yml
-
242build/test/cache/input.yml
-
299build/test/cache/test_mainMenu.c
-
6build/test/dependencies/cmock.d
-
0build/test/dependencies/force_build
-
1build/test/dependencies/mainMenu.d
-
4build/test/dependencies/test_mainMenu.d
-
4build/test/dependencies/test_mainMenu_runner.d
-
4build/test/dependencies/unity.d
-
BINbuild/test/out/c/cmock.o
-
BINbuild/test/out/c/mainMenu.o
-
BINbuild/test/out/c/test_mainMenu.o
-
BINbuild/test/out/c/test_mainMenu_runner.o
-
BINbuild/test/out/c/unity.o
-
BINbuild/test/out/test_mainMenu.out
-
299build/test/preprocess/files/test_mainMenu.c
-
3build/test/preprocess/includes/test_mainMenu.c
-
30build/test/results/test_mainMenu.pass
-
87build/test/runners/test_mainMenu_runner.c
-
101project.yml
-
5src/main.c
-
93src/mainMenu.c
-
15src/mainMenu.h
-
0tests/support/.gitkeep
-
145tests/test_mainMenu.c
@ -1,5 +1,6 @@ |
|||
clear |
|||
ceedling test:all |
|||
cd src/ |
|||
gcc main.c |
|||
gcc main.c mainMenu.c |
|||
./a.out |
|||
rm a.out |
@ -0,0 +1,3 @@ |
|||
--- |
|||
src/mainMenu.c: |
|||
- TEST |
@ -0,0 +1,242 @@ |
|||
--- |
|||
:project: |
|||
:use_exceptions: false |
|||
:use_mocks: true |
|||
:compile_threads: 1 |
|||
:test_threads: 1 |
|||
:use_test_preprocessor: true |
|||
:use_preprocessor_directives: false |
|||
:use_deep_dependencies: false |
|||
:generate_deep_dependencies: true |
|||
:auto_link_deep_dependencies: false |
|||
:test_file_prefix: test_ |
|||
:options_paths: [] |
|||
:release_build: false |
|||
:use_auxiliary_dependencies: true |
|||
:build_root: build |
|||
:which_ceedling: gem |
|||
:ceedling_version: 0.31.1 |
|||
:default_tasks: |
|||
- test:all |
|||
:release_build: |
|||
:use_assembly: false |
|||
:artifacts: [] |
|||
:paths: |
|||
:test: |
|||
- "+:tests/**" |
|||
- "-:tests/support" |
|||
:source: |
|||
- src/** |
|||
:support: |
|||
- tests/support |
|||
:include: [] |
|||
:libraries: [] |
|||
:test_toolchain_include: [] |
|||
:release_toolchain_include: [] |
|||
:files: |
|||
:test: [] |
|||
:source: [] |
|||
:assembly: [] |
|||
:support: [] |
|||
:include: [] |
|||
:environment: |
|||
- :rake_columns: '120' |
|||
:defines: |
|||
:test: |
|||
- &1 [] |
|||
- TEST |
|||
:test_preprocess: |
|||
- *1 |
|||
- TEST |
|||
:release: [] |
|||
:release_preprocess: [] |
|||
:use_test_definition: false |
|||
:common: [] |
|||
:libraries: |
|||
:flag: "-l${1}" |
|||
:path_flag: "-L ${1}" |
|||
:test: [] |
|||
:test_preprocess: [] |
|||
:release: [] |
|||
:release_preprocess: [] |
|||
:placement: :end |
|||
:system: [] |
|||
:flags: {} |
|||
:extension: |
|||
:header: ".h" |
|||
:source: ".c" |
|||
:assembly: ".s" |
|||
:object: ".o" |
|||
:libraries: |
|||
- ".a" |
|||
- ".so" |
|||
:executable: ".out" |
|||
:map: ".map" |
|||
:list: ".lst" |
|||
:testpass: ".pass" |
|||
:testfail: ".fail" |
|||
:dependencies: ".d" |
|||
:unity: |
|||
:vendor_path: "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor" |
|||
:defines: [] |
|||
:cmock: |
|||
:vendor_path: "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor" |
|||
:defines: [] |
|||
:includes: [] |
|||
:mock_prefix: mock_ |
|||
:when_no_prototypes: :warn |
|||
:enforce_strict_ordering: true |
|||
:plugins: |
|||
- :ignore |
|||
- :callback |
|||
:treat_as: |
|||
uint8: HEX8 |
|||
uint16: HEX16 |
|||
uint32: UINT32 |
|||
int8: INT8 |
|||
bool: UINT8 |
|||
:mock_path: build/test/mocks |
|||
:verbosity: 3 |
|||
:unity_helper: false |
|||
:cexception: |
|||
:vendor_path: "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor" |
|||
:defines: [] |
|||
:test_runner: |
|||
:includes: [] |
|||
:file_suffix: _runner |
|||
:tools: |
|||
:test_compiler: |
|||
:executable: gcc |
|||
:name: default_test_compiler |
|||
:stderr_redirect: :none |
|||
:background_exec: :none |
|||
:optional: false |
|||
:arguments: |
|||
- '' |
|||
- '' |
|||
- -I"$": COLLECTION_PATHS_TEST_SUPPORT_SOURCE_INCLUDE_VENDOR |
|||
- -I"$": COLLECTION_PATHS_TEST_TOOLCHAIN_INCLUDE |
|||
- "-D$": COLLECTION_DEFINES_TEST_AND_VENDOR |
|||
- "-DGNU_COMPILER" |
|||
- "-g" |
|||
- '' |
|||
- -c "${1}" |
|||
- -o "${2}" |
|||
- "-MMD" |
|||
- -MF "${4}" |
|||
:test_fixture: |
|||
:executable: "${1}" |
|||
:name: default_test_fixture |
|||
:stderr_redirect: :auto |
|||
:background_exec: :none |
|||
:optional: false |
|||
:arguments: [] |
|||
:test_linker: |
|||
:executable: gcc |
|||
:name: default_test_linker |
|||
:stderr_redirect: :none |
|||
:background_exec: :none |
|||
:optional: false |
|||
:arguments: |
|||
- '' |
|||
- '' |
|||
- '' |
|||
- '"${1}"' |
|||
- "${5}" |
|||
- -o "${2}" |
|||
- '' |
|||
- "${4}" |
|||
- '' |
|||
:test_file_preprocessor: |
|||
:executable: gcc |
|||
:name: default_test_file_preprocessor |
|||
:stderr_redirect: :none |
|||
:background_exec: :none |
|||
:optional: false |
|||
:arguments: |
|||
- '' |
|||
- '' |
|||
- "-E" |
|||
- -I"$": COLLECTION_PATHS_TEST_SUPPORT_SOURCE_INCLUDE_VENDOR |
|||
- -I"$": COLLECTION_PATHS_TEST_TOOLCHAIN_INCLUDE |
|||
- "-D$": COLLECTION_DEFINES_TEST_AND_VENDOR |
|||
- "-D$": DEFINES_TEST_PREPROCESS |
|||
- "-DGNU_COMPILER" |
|||
- '"${1}"' |
|||
- -o "${2}" |
|||
:test_file_preprocessor_directives: |
|||
:executable: gcc |
|||
:name: default_test_file_preprocessor_directives |
|||
:stderr_redirect: :none |
|||
:background_exec: :none |
|||
:optional: false |
|||
:arguments: |
|||
- "-E" |
|||
- -I"$": COLLECTION_PATHS_TEST_SUPPORT_SOURCE_INCLUDE_VENDOR |
|||
- -I"$": COLLECTION_PATHS_TEST_TOOLCHAIN_INCLUDE |
|||
- "-D$": COLLECTION_DEFINES_TEST_AND_VENDOR |
|||
- "-D$": DEFINES_TEST_PREPROCESS |
|||
- "-DGNU_COMPILER" |
|||
- "-fdirectives-only" |
|||
- '"${1}"' |
|||
- -o "${2}" |
|||
:test_includes_preprocessor: |
|||
:executable: gcc |
|||
:name: default_test_includes_preprocessor |
|||
:stderr_redirect: :none |
|||
:background_exec: :none |
|||
:optional: false |
|||
:arguments: |
|||
- '' |
|||
- '' |
|||
- "-E" |
|||
- "-MM" |
|||
- "-MG" |
|||
- -I"$": COLLECTION_PATHS_TEST_SUPPORT_SOURCE_INCLUDE_VENDOR |
|||
- -I"$": COLLECTION_PATHS_TEST_TOOLCHAIN_INCLUDE |
|||
- "-D$": COLLECTION_DEFINES_TEST_AND_VENDOR |
|||
- "-D$": DEFINES_TEST_PREPROCESS |
|||
- "-DGNU_COMPILER" |
|||
- '"${1}"' |
|||
:test_compiler: |
|||
:arguments: [] |
|||
:test_linker: |
|||
:arguments: [] |
|||
:test_fixture: |
|||
:arguments: [] |
|||
:link_objects: [] |
|||
:test_includes_preprocessor: |
|||
:arguments: [] |
|||
:test_file_preprocessor: |
|||
:arguments: [] |
|||
:test_file_preprocessor_directives: |
|||
:arguments: [] |
|||
:test_dependencies_generator: |
|||
:arguments: [] |
|||
:release_compiler: |
|||
:arguments: [] |
|||
:release_linker: |
|||
:arguments: [] |
|||
:release_assembler: |
|||
:arguments: [] |
|||
:release_dependencies_generator: |
|||
:arguments: [] |
|||
:plugins: |
|||
:load_paths: |
|||
- "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/lib/../plugins" |
|||
:enabled: |
|||
- stdout_pretty_tests_report |
|||
- module_generator |
|||
:display_raw_test_results: false |
|||
:stdout_pretty_tests_report_path: "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/lib/../plugins/stdout_pretty_tests_report" |
|||
:module_generator_path: "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/lib/../plugins/module_generator" |
|||
:gcov: |
|||
:reports: |
|||
- HtmlDetailed |
|||
:gcovr: |
|||
:html_medium_threshold: 75 |
|||
:html_high_threshold: 90 |
|||
:module_generator: |
|||
:project_root: "./" |
|||
:source_root: src/ |
|||
:test_root: test/ |
@ -0,0 +1,299 @@ |
|||
#include "src/mainMenu.h" |
|||
#include "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
void setUp(void) |
|||
|
|||
{ |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
void tearDown(void) |
|||
|
|||
{ |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
void test_agePermissionValidAge(void) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
int validAge[83]; |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
_Bool |
|||
|
|||
validAgeResult[83]; |
|||
|
|||
|
|||
|
|||
int j=0; |
|||
|
|||
|
|||
|
|||
for(int i =18;i<101;i++){ |
|||
|
|||
|
|||
|
|||
validAge[j]= i; |
|||
|
|||
j++; |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<83;i++){ |
|||
|
|||
|
|||
|
|||
validAgeResult[i] = agePermission(validAge[i]); |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<83;i++){ |
|||
|
|||
|
|||
|
|||
do {if ((validAgeResult[i])) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(44)));}} while(0); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
void test_agePermissionInvalidAge(void) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
int invalidAge[117]; |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
_Bool |
|||
|
|||
invalidAgeResult[117]; |
|||
|
|||
|
|||
|
|||
int j=0; |
|||
|
|||
|
|||
|
|||
for(int i =-100;i<18;i++){ |
|||
|
|||
|
|||
|
|||
invalidAge[j]= i; |
|||
|
|||
j++; |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<117;i++){ |
|||
|
|||
|
|||
|
|||
invalidAgeResult[i] = agePermission(invalidAge[i]); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<117;i++){ |
|||
|
|||
|
|||
|
|||
do {if (!(invalidAgeResult[i])) {} else {UnityFail( ((" Expected FALSE Was TRUE")), (UNITY_UINT)((UNITY_UINT)(81)));}} while(0); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
void test_IsInteger(void) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
char* inputIsInteger[] = {"-10000000","-2000000","-354698","-66667","-7878","-987","-64","-5","0","1","2","10","201","333","4321","56974","698751","7878989","88954621" }; |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
_Bool |
|||
|
|||
inputIsIntegerResult[19]; |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<19;i++) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
inputIsIntegerResult[i] = checkIfInteger(inputIsInteger[i]); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<19;i++) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
do {if ((inputIsIntegerResult[i])) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(110)));}} while(0); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
void test_IsNotInteger(void) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
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]; |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<19;i++) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
inputIsNotIntegerResult[i] = checkIfInteger(inputIsNotInteger[i]); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<19;i++) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
do {if (!(inputIsNotIntegerResult[i])) {} else {UnityFail( ((" Expected FALSE Was TRUE")), (UNITY_UINT)((UNITY_UINT)(139)));}} while(0); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
} |
@ -0,0 +1,6 @@ |
|||
build/test/out/c/cmock.o: \ |
|||
/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.c \ |
|||
/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.h \ |
|||
/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock_internals.h \ |
|||
/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ |
|||
/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h |
@ -0,0 +1 @@ |
|||
build/test/out/c/mainMenu.o: src/mainMenu.c src/mainMenu.h |
@ -0,0 +1,4 @@ |
|||
build/test/out/c/test_mainMenu.o: tests/test_mainMenu.c \ |
|||
/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ |
|||
/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h \ |
|||
src/mainMenu.h |
@ -0,0 +1,4 @@ |
|||
build/test/out/c/test_mainMenu_runner.o: \ |
|||
build/test/runners/test_mainMenu_runner.c \ |
|||
/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ |
|||
/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h |
@ -0,0 +1,4 @@ |
|||
build/test/out/c/unity.o: \ |
|||
/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.c \ |
|||
/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ |
|||
/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h |
@ -0,0 +1,299 @@ |
|||
#include "src/mainMenu.h" |
|||
#include "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
void setUp(void) |
|||
|
|||
{ |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
void tearDown(void) |
|||
|
|||
{ |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
void test_agePermissionValidAge(void) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
int validAge[83]; |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
_Bool |
|||
|
|||
validAgeResult[83]; |
|||
|
|||
|
|||
|
|||
int j=0; |
|||
|
|||
|
|||
|
|||
for(int i =18;i<101;i++){ |
|||
|
|||
|
|||
|
|||
validAge[j]= i; |
|||
|
|||
j++; |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<83;i++){ |
|||
|
|||
|
|||
|
|||
validAgeResult[i] = agePermission(validAge[i]); |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<83;i++){ |
|||
|
|||
|
|||
|
|||
do {if ((validAgeResult[i])) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(44)));}} while(0); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
void test_agePermissionInvalidAge(void) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
int invalidAge[117]; |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
_Bool |
|||
|
|||
invalidAgeResult[117]; |
|||
|
|||
|
|||
|
|||
int j=0; |
|||
|
|||
|
|||
|
|||
for(int i =-100;i<18;i++){ |
|||
|
|||
|
|||
|
|||
invalidAge[j]= i; |
|||
|
|||
j++; |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<117;i++){ |
|||
|
|||
|
|||
|
|||
invalidAgeResult[i] = agePermission(invalidAge[i]); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<117;i++){ |
|||
|
|||
|
|||
|
|||
do {if (!(invalidAgeResult[i])) {} else {UnityFail( ((" Expected FALSE Was TRUE")), (UNITY_UINT)((UNITY_UINT)(81)));}} while(0); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
void test_IsInteger(void) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
char* inputIsInteger[] = {"-10000000","-2000000","-354698","-66667","-7878","-987","-64","-5","0","1","2","10","201","333","4321","56974","698751","7878989","88954621" }; |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
_Bool |
|||
|
|||
inputIsIntegerResult[19]; |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<19;i++) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
inputIsIntegerResult[i] = checkIfInteger(inputIsInteger[i]); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<19;i++) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
do {if ((inputIsIntegerResult[i])) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(110)));}} while(0); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
void test_IsNotInteger(void) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
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]; |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<19;i++) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
inputIsNotIntegerResult[i] = checkIfInteger(inputIsNotInteger[i]); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
for(int i=0;i<19;i++) |
|||
|
|||
{ |
|||
|
|||
|
|||
|
|||
do {if (!(inputIsNotIntegerResult[i])) {} else {UnityFail( ((" Expected FALSE Was TRUE")), (UNITY_UINT)((UNITY_UINT)(139)));}} while(0); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
} |
@ -0,0 +1,3 @@ |
|||
--- |
|||
- "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" |
|||
- src/mainMenu.h |
@ -0,0 +1,30 @@ |
|||
--- |
|||
:source: |
|||
:path: tests |
|||
:file: test_mainMenu.c |
|||
:successes: |
|||
- :test: test_agePermissionValidAge |
|||
:line: 15 |
|||
:message: '' |
|||
:unity_test_time: 0 |
|||
- :test: test_agePermissionInvalidAge |
|||
:line: 50 |
|||
:message: '' |
|||
:unity_test_time: 0 |
|||
- :test: test_IsInteger |
|||
:line: 87 |
|||
:message: '' |
|||
:unity_test_time: 0 |
|||
- :test: test_IsNotInteger |
|||
:line: 116 |
|||
:message: '' |
|||
:unity_test_time: 0 |
|||
:failures: [] |
|||
:ignores: [] |
|||
:counts: |
|||
:total: 4 |
|||
:passed: 4 |
|||
:failed: 0 |
|||
:ignored: 0 |
|||
:stdout: [] |
|||
:time: 0.0009556771256029606 |
@ -0,0 +1,87 @@ |
|||
/* AUTOGENERATED FILE. DO NOT EDIT. */ |
|||
|
|||
/*=======Automagically Detected Files To Include=====*/ |
|||
#include "unity.h" |
|||
|
|||
int GlobalExpectCount; |
|||
int GlobalVerifyOrder; |
|||
char* GlobalOrderError; |
|||
|
|||
/*=======External Functions This Runner Calls=====*/ |
|||
extern void setUp(void); |
|||
extern void tearDown(void); |
|||
extern void test_agePermissionValidAge(void); |
|||
extern void test_agePermissionInvalidAge(void); |
|||
extern void test_IsInteger(void); |
|||
extern void test_IsNotInteger(void); |
|||
|
|||
|
|||
/*=======Mock Management=====*/ |
|||
static void CMock_Init(void) |
|||
{ |
|||
GlobalExpectCount = 0; |
|||
GlobalVerifyOrder = 0; |
|||
GlobalOrderError = NULL; |
|||
} |
|||
static void CMock_Verify(void) |
|||
{ |
|||
} |
|||
static void CMock_Destroy(void) |
|||
{ |
|||
} |
|||
|
|||
/*=======Test Reset Options=====*/ |
|||
void resetTest(void); |
|||
void resetTest(void) |
|||
{ |
|||
tearDown(); |
|||
CMock_Verify(); |
|||
CMock_Destroy(); |
|||
CMock_Init(); |
|||
setUp(); |
|||
} |
|||
void verifyTest(void); |
|||
void verifyTest(void) |
|||
{ |
|||
CMock_Verify(); |
|||
} |
|||
|
|||
/*=======Test Runner Used To Run Each Test=====*/ |
|||
static void run_test(UnityTestFunction func, const char* name, UNITY_LINE_TYPE line_num) |
|||
{ |
|||
Unity.CurrentTestName = name; |
|||
Unity.CurrentTestLineNumber = line_num; |
|||
#ifdef UNITY_USE_COMMAND_LINE_ARGS |
|||
if (!UnityTestMatches()) |
|||
return; |
|||
#endif |
|||
Unity.NumberOfTests++; |
|||
UNITY_CLR_DETAILS(); |
|||
UNITY_EXEC_TIME_START(); |
|||
CMock_Init(); |
|||
if (TEST_PROTECT()) |
|||
{ |
|||
setUp(); |
|||
func(); |
|||
} |
|||
if (TEST_PROTECT()) |
|||
{ |
|||
tearDown(); |
|||
CMock_Verify(); |
|||
} |
|||
CMock_Destroy(); |
|||
UNITY_EXEC_TIME_STOP(); |
|||
UnityConcludeTest(); |
|||
} |
|||
|
|||
/*=======MAIN=====*/ |
|||
int main(void) |
|||
{ |
|||
UnityBegin("test_mainMenu.c"); |
|||
run_test(test_agePermissionValidAge, "test_agePermissionValidAge", 15); |
|||
run_test(test_agePermissionInvalidAge, "test_agePermissionInvalidAge", 50); |
|||
run_test(test_IsInteger, "test_IsInteger", 87); |
|||
run_test(test_IsNotInteger, "test_IsNotInteger", 116); |
|||
|
|||
return UnityEnd(); |
|||
} |
@ -0,0 +1,101 @@ |
|||
--- |
|||
|
|||
# Notes: |
|||
# Sample project C code is not presently written to produce a release artifact. |
|||
# As such, release build options are disabled. |
|||
# This sample, therefore, only demonstrates running a collection of unit tests. |
|||
|
|||
:project: |
|||
:use_exceptions: FALSE |
|||
:use_test_preprocessor: TRUE |
|||
:use_auxiliary_dependencies: TRUE |
|||
:build_root: build |
|||
# :release_build: TRUE |
|||
:test_file_prefix: test_ |
|||
:which_ceedling: gem |
|||
:ceedling_version: 0.31.1 |
|||
:default_tasks: |
|||
- test:all |
|||
|
|||
#:test_build: |
|||
# :use_assembly: TRUE |
|||
|
|||
#:release_build: |
|||
# :output: MyApp.out |
|||
# :use_assembly: FALSE |
|||
|
|||
:environment: |
|||
|
|||
:extension: |
|||
:executable: .out |
|||
|
|||
:paths: |
|||
:test: |
|||
- +:tests/** |
|||
- -:tests/support |
|||
:source: |
|||
- src/** |
|||
:support: |
|||
- tests/support |
|||
:libraries: [] |
|||
|
|||
:defines: |
|||
# in order to add common defines: |
|||
# 1) remove the trailing [] from the :common: section |
|||
# 2) add entries to the :common: section (e.g. :test: has TEST defined) |
|||
:common: &common_defines [] |
|||
:test: |
|||
- *common_defines |
|||
- TEST |
|||
:test_preprocess: |
|||
- *common_defines |
|||
- TEST |
|||
|
|||
:cmock: |
|||
:mock_prefix: mock_ |
|||
:when_no_prototypes: :warn |
|||
:enforce_strict_ordering: TRUE |
|||
:plugins: |
|||
- :ignore |
|||
- :callback |
|||
:treat_as: |
|||
uint8: HEX8 |
|||
uint16: HEX16 |
|||
uint32: UINT32 |
|||
int8: INT8 |
|||
bool: UINT8 |
|||
|
|||
# Add -gcov to the plugins list to make sure of the gcov plugin |
|||
# You will need to have gcov and gcovr both installed to make it work. |
|||
# For more information on these options, see docs in plugins/gcov |
|||
:gcov: |
|||
:reports: |
|||
- HtmlDetailed |
|||
:gcovr: |
|||
:html_medium_threshold: 75 |
|||
:html_high_threshold: 90 |
|||
|
|||
#:tools: |
|||
# Ceedling defaults to using gcc for compiling, linking, etc. |
|||
# As [:tools] is blank, gcc will be used (so long as it's in your system path) |
|||
# See documentation to configure a given toolchain for use |
|||
|
|||
# LIBRARIES |
|||
# These libraries are automatically injected into the build process. Those specified as |
|||
# common will be used in all types of builds. Otherwise, libraries can be injected in just |
|||
# tests or releases. These options are MERGED with the options in supplemental yaml files. |
|||
:libraries: |
|||
:placement: :end |
|||
:flag: "-l${1}" |
|||
:path_flag: "-L ${1}" |
|||
:system: [] # for example, you might list 'm' to grab the math library |
|||
:test: [] |
|||
:release: [] |
|||
|
|||
:plugins: |
|||
:load_paths: |
|||
- "#{Ceedling.load_path}" |
|||
:enabled: |
|||
- stdout_pretty_tests_report |
|||
- module_generator |
|||
... |
@ -1,7 +1,8 @@ |
|||
#include <stdio.h> |
|||
#include"mainMenu.h" |
|||
|
|||
int main() |
|||
{ |
|||
|
|||
return 0; |
|||
ageInput(); |
|||
return 0; |
|||
} |
@ -0,0 +1,93 @@ |
|||
|
|||
#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; |
|||
|
|||
} |
|||
} |
|||
|
|||
void ageInput(){ |
|||
|
|||
char input[20]; |
|||
char* input_pointer; |
|||
|
|||
long age; |
|||
|
|||
printf("\nPlease specify your age : "); |
|||
scanf("%s",input); |
|||
|
|||
if (checkIfInteger(input) == true ) |
|||
{ |
|||
age = strtol(input,&input_pointer,10); |
|||
|
|||
if(agePermission(age)== true) |
|||
{ |
|||
printf("Access granted!\n\n\n\n"); |
|||
|
|||
showMenu(); |
|||
|
|||
} |
|||
else if(agePermission(age)== false) |
|||
{ |
|||
|
|||
printf("You should be at least 18 years old to create a bank account!\n"); |
|||
|
|||
} |
|||
} |
|||
|
|||
else |
|||
{ |
|||
|
|||
printf("input invalid! try again!\n"); |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
|
|||
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,15 @@ |
|||
#ifndef MAINMENU_H_ |
|||
#define MAINMENU_H_ |
|||
|
|||
#include<stdio.h> |
|||
#include<stdlib.h> |
|||
#include<stdbool.h> |
|||
#include<string.h> |
|||
|
|||
void showMenu(); |
|||
void ageInput(); |
|||
|
|||
bool agePermission(int age); |
|||
bool checkIfInteger(char* input); |
|||
|
|||
#endif |
@ -0,0 +1,145 @@ |
|||
#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