fdlt3817
2 years ago
27 changed files with 79 additions and 826 deletions
-
3build/test/cache/defines_dependency.yml
-
242build/test/cache/input.yml
-
155build/test/cache/test_sendmoney.c
-
6build/test/dependencies/cmock.d
-
1build/test/dependencies/sendmoney.d
-
3build/test/dependencies/test_sendmoney.d
-
4build/test/dependencies/test_sendmoney_runner.d
-
4build/test/dependencies/unity.d
-
BINbuild/test/out/c/cmock.o
-
BINbuild/test/out/c/sendmoney.o
-
BINbuild/test/out/c/test_sendmoney.o
-
BINbuild/test/out/c/test_sendmoney_runner.o
-
BINbuild/test/out/c/unity.o
-
BINbuild/test/out/test_sendmoney.out
-
155build/test/preprocess/files/test_sendmoney.c
-
3build/test/preprocess/includes/test_sendmoney.c
-
27build/test/results/test_sendmoney.fail
-
85build/test/runners/test_sendmoney_runner.c
-
4src/CustomerData.txt
-
BINsrc/a.exe
-
152src/sendmoney.c
-
BINsrc/sendmoney.exe
-
8src/sendmoney.h
-
45src/updateCustomerAccountBalance.c
-
2src/updateCustomerAccountBalance.h
-
0test/support/.gitkeep
-
0tests/test_sendmoney.c
@ -1,3 +0,0 @@ |
|||||
--- |
|
||||
src/sendmoney.c: |
|
||||
- TEST |
|
@ -1,242 +0,0 @@ |
|||||
--- |
|
||||
: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: |
|
||||
- "+:test/**" |
|
||||
- "-:test/support" |
|
||||
:source: |
|
||||
- src/** |
|
||||
:support: |
|
||||
- test/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: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor |
|
||||
:defines: [] |
|
||||
:cmock: |
|
||||
:vendor_path: C:/Ruby27-x64/lib/ruby/gems/2.7.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: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor |
|
||||
:defines: [] |
|
||||
:test_runner: |
|
||||
:includes: [] |
|
||||
:file_suffix: _runner |
|
||||
:tools: |
|
||||
:test_compiler: |
|
||||
:executable: gcc.exe |
|
||||
: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.exe |
|
||||
:name: default_test_linker |
|
||||
:stderr_redirect: :none |
|
||||
:background_exec: :none |
|
||||
:optional: false |
|
||||
:arguments: |
|
||||
- '' |
|
||||
- '' |
|
||||
- '' |
|
||||
- '"${1}"' |
|
||||
- "${5}" |
|
||||
- -o "${2}" |
|
||||
- '' |
|
||||
- "${4}" |
|
||||
- '' |
|
||||
:test_file_preprocessor: |
|
||||
:executable: gcc.exe |
|
||||
: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.exe |
|
||||
: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.exe |
|
||||
: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: |
|
||||
- C:/Ruby27-x64/lib/ruby/gems/2.7.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: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/lib/../plugins/stdout_pretty_tests_report |
|
||||
:module_generator_path: C:/Ruby27-x64/lib/ruby/gems/2.7.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/ |
|
@ -1,155 +0,0 @@ |
|||||
#include "C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" |
|
||||
#include "src/sendmoney.h" |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
void setUp(void) |
|
||||
|
|
||||
{ |
|
||||
|
|
||||
} |
|
||||
|
|
||||
|
|
||||
|
|
||||
void tearDown(void) |
|
||||
|
|
||||
{ |
|
||||
|
|
||||
} |
|
||||
|
|
||||
|
|
||||
|
|
||||
void test_sendmoney_NeedToImplement(void) |
|
||||
|
|
||||
{ |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
int accountNumber = 1234567; |
|
||||
|
|
||||
int accountNumber2 = 5555557; |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
int accountNumber3 = 53323; |
|
||||
|
|
||||
int accountNumber4 = 34342; |
|
||||
|
|
||||
|
|
||||
|
|
||||
_Bool |
|
||||
|
|
||||
expected; |
|
||||
|
|
||||
|
|
||||
|
|
||||
_Bool |
|
||||
|
|
||||
expected2; |
|
||||
|
|
||||
|
|
||||
|
|
||||
_Bool |
|
||||
|
|
||||
expected3; |
|
||||
|
|
||||
|
|
||||
|
|
||||
_Bool |
|
||||
|
|
||||
expected4; |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
expected = checkAccount(accountNumber); |
|
||||
|
|
||||
expected2 = checkAccount(accountNumber2); |
|
||||
|
|
||||
expected3 = checkAccount(accountNumber3); |
|
||||
|
|
||||
expected4 = checkAccount(accountNumber4); |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
do {if ((expected)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(36)));}} while(0); |
|
||||
|
|
||||
do {if ((expected2)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(37)));}} while(0); |
|
||||
|
|
||||
do {if (!(expected3)) {} else {UnityFail( ((" Expected FALSE Was TRUE")), (UNITY_UINT)((UNITY_UINT)(38)));}} while(0); |
|
||||
|
|
||||
do {if (!(expected4)) {} else {UnityFail( ((" Expected FALSE Was TRUE")), (UNITY_UINT)((UNITY_UINT)(39)));}} while(0); |
|
||||
|
|
||||
} |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
void test_getAvailableAccountBalance(void) |
|
||||
|
|
||||
{ |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
double expected1 = 24.0; |
|
||||
|
|
||||
int length = 2; |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
double result = getAvailableAccountBalance(length); |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
UnityAssertEqualNumber((UNITY_INT)((expected1)), (UNITY_INT)((result)), ( |
|
||||
|
|
||||
((void *)0) |
|
||||
|
|
||||
), (UNITY_UINT)(56), UNITY_DISPLAY_STYLE_INT); |
|
||||
|
|
||||
} |
|
||||
|
|
||||
|
|
||||
|
|
||||
void test_getAmount(void) |
|
||||
|
|
||||
{ |
|
||||
|
|
||||
|
|
||||
|
|
||||
float expected = 500.1; |
|
||||
|
|
||||
|
|
||||
|
|
||||
float result = getAmount(expected); |
|
||||
|
|
||||
|
|
||||
|
|
||||
UnityAssertEqualNumber((UNITY_INT)((expected)), (UNITY_INT)((result)), ( |
|
||||
|
|
||||
((void *)0) |
|
||||
|
|
||||
), (UNITY_UINT)(66), UNITY_DISPLAY_STYLE_INT); |
|
||||
|
|
||||
} |
|
@ -1,6 +0,0 @@ |
|||||
build/test/out/c/cmock.o: \ |
|
||||
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.c \ |
|
||||
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.h \ |
|
||||
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock_internals.h \ |
|
||||
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ |
|
||||
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h |
|
@ -1 +0,0 @@ |
|||||
build/test/out/c/sendmoney.o: src/sendmoney.c src/sendmoney.h |
|
@ -1,3 +0,0 @@ |
|||||
build/test/out/c/test_sendmoney.o: test/test_sendmoney.c src/sendmoney.h \ |
|
||||
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ |
|
||||
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h |
|
@ -1,4 +0,0 @@ |
|||||
build/test/out/c/test_sendmoney_runner.o: \ |
|
||||
build/test/runners/test_sendmoney_runner.c \ |
|
||||
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ |
|
||||
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h |
|
@ -1,4 +0,0 @@ |
|||||
build/test/out/c/unity.o: \ |
|
||||
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.c \ |
|
||||
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ |
|
||||
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h |
|
@ -1,155 +0,0 @@ |
|||||
#include "C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" |
|
||||
#include "src/sendmoney.h" |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
void setUp(void) |
|
||||
|
|
||||
{ |
|
||||
|
|
||||
} |
|
||||
|
|
||||
|
|
||||
|
|
||||
void tearDown(void) |
|
||||
|
|
||||
{ |
|
||||
|
|
||||
} |
|
||||
|
|
||||
|
|
||||
|
|
||||
void test_sendmoney_NeedToImplement(void) |
|
||||
|
|
||||
{ |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
int accountNumber = 1234567; |
|
||||
|
|
||||
int accountNumber2 = 5555557; |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
int accountNumber3 = 53323; |
|
||||
|
|
||||
int accountNumber4 = 34342; |
|
||||
|
|
||||
|
|
||||
|
|
||||
_Bool |
|
||||
|
|
||||
expected; |
|
||||
|
|
||||
|
|
||||
|
|
||||
_Bool |
|
||||
|
|
||||
expected2; |
|
||||
|
|
||||
|
|
||||
|
|
||||
_Bool |
|
||||
|
|
||||
expected3; |
|
||||
|
|
||||
|
|
||||
|
|
||||
_Bool |
|
||||
|
|
||||
expected4; |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
expected = checkAccount(accountNumber); |
|
||||
|
|
||||
expected2 = checkAccount(accountNumber2); |
|
||||
|
|
||||
expected3 = checkAccount(accountNumber3); |
|
||||
|
|
||||
expected4 = checkAccount(accountNumber4); |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
do {if ((expected)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(36)));}} while(0); |
|
||||
|
|
||||
do {if ((expected2)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(37)));}} while(0); |
|
||||
|
|
||||
do {if (!(expected3)) {} else {UnityFail( ((" Expected FALSE Was TRUE")), (UNITY_UINT)((UNITY_UINT)(38)));}} while(0); |
|
||||
|
|
||||
do {if (!(expected4)) {} else {UnityFail( ((" Expected FALSE Was TRUE")), (UNITY_UINT)((UNITY_UINT)(39)));}} while(0); |
|
||||
|
|
||||
} |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
void test_getAvailableAccountBalance(void) |
|
||||
|
|
||||
{ |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
double expected1 = 24.0; |
|
||||
|
|
||||
int length = 2; |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
double result = getAvailableAccountBalance(length); |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
UnityAssertEqualNumber((UNITY_INT)((expected1)), (UNITY_INT)((result)), ( |
|
||||
|
|
||||
((void *)0) |
|
||||
|
|
||||
), (UNITY_UINT)(56), UNITY_DISPLAY_STYLE_INT); |
|
||||
|
|
||||
} |
|
||||
|
|
||||
|
|
||||
|
|
||||
void test_getAmount(void) |
|
||||
|
|
||||
{ |
|
||||
|
|
||||
|
|
||||
|
|
||||
float expected = 500.1; |
|
||||
|
|
||||
|
|
||||
|
|
||||
float result = getAmount(expected); |
|
||||
|
|
||||
|
|
||||
|
|
||||
UnityAssertEqualNumber((UNITY_INT)((expected)), (UNITY_INT)((result)), ( |
|
||||
|
|
||||
((void *)0) |
|
||||
|
|
||||
), (UNITY_UINT)(66), UNITY_DISPLAY_STYLE_INT); |
|
||||
|
|
||||
} |
|
@ -1,3 +0,0 @@ |
|||||
--- |
|
||||
- src/sendmoney.h |
|
||||
- C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h |
|
@ -1,27 +0,0 @@ |
|||||
--- |
|
||||
:source: |
|
||||
:path: test |
|
||||
:file: test_sendmoney.c |
|
||||
:successes: |
|
||||
- :test: test_sendmoney_NeedToImplement |
|
||||
:line: 13 |
|
||||
:message: '' |
|
||||
:unity_test_time: 0 |
|
||||
- :test: test_getAmount |
|
||||
:line: 59 |
|
||||
:message: '' |
|
||||
:unity_test_time: 0 |
|
||||
:failures: |
|
||||
- :test: test_getAvailableAccountBalance |
|
||||
:line: 56 |
|
||||
:message: Expected 24 Was 0 |
|
||||
:unity_test_time: 0 |
|
||||
:ignores: [] |
|
||||
:counts: |
|
||||
:total: 3 |
|
||||
:passed: 2 |
|
||||
:failed: 1 |
|
||||
:ignored: 0 |
|
||||
:stdout: |
|
||||
- 'Error: customer data file cannot be opened!' |
|
||||
:time: 0.04625630000009551 |
|
@ -1,85 +0,0 @@ |
|||||
/* 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_sendmoney_NeedToImplement(void); |
|
||||
extern void test_getAvailableAccountBalance(void); |
|
||||
extern void test_getAmount(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_sendmoney.c"); |
|
||||
run_test(test_sendmoney_NeedToImplement, "test_sendmoney_NeedToImplement", 13); |
|
||||
run_test(test_getAvailableAccountBalance, "test_getAvailableAccountBalance", 43); |
|
||||
run_test(test_getAmount, "test_getAmount", 59); |
|
||||
|
|
||||
return UnityEnd(); |
|
||||
} |
|
@ -1,133 +1,35 @@ |
|||||
#include "sendmoney.h" |
|
||||
|
#include "sendMoney.h" |
||||
|
#include "depositMoney.c" |
||||
|
#include "withdrawMoney.c" |
||||
|
|
||||
double getAvailableAccountBalance(int length) |
|
||||
{ |
|
||||
double availableBalance; |
|
||||
|
|
||||
FILE *fp; |
|
||||
fp = fopen("CustomerData.txt", "r"); |
|
||||
|
|
||||
if (fp == 0) |
|
||||
{ |
|
||||
printf("Error: customer data file cannot be opened!\n"); |
|
||||
return 0; |
|
||||
} |
|
||||
else |
|
||||
{ |
|
||||
|
|
||||
char line[length]; |
|
||||
|
|
||||
while (fgets(line, sizeof line, fp) != NULL) |
|
||||
{ |
|
||||
if (sscanf(line, "balance =%lf", &availableBalance) == 1) |
|
||||
{ |
|
||||
break; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
printf("your balance is : %lf\n", availableBalance); |
|
||||
fclose(fp); |
|
||||
} |
|
||||
return availableBalance; |
|
||||
} |
|
||||
|
|
||||
// hier wird geprüft ob das Kontonummer gultig ist |
|
||||
bool checkAccount(int accountNumber) |
|
||||
{ |
|
||||
// Refactoring |
|
||||
return (accountNumber >= 1000000 && accountNumber <= 9999999); |
|
||||
} |
|
||||
// hier wird amount zurückgegeben |
|
||||
double getAmount(double amountToSend) |
|
||||
{ |
|
||||
|
|
||||
return amountToSend; |
|
||||
} |
|
||||
// hier die wird die Kontonummer eingegeben und getestet |
|
||||
void getReceiverAccountNumber() |
|
||||
{ |
|
||||
|
|
||||
int accountNumber; |
|
||||
|
|
||||
printf("Enter The account in Which you want to transfer the money:"); |
|
||||
scanf("%d", &accountNumber); |
|
||||
int counter = 0; |
|
||||
while (checkAccount(accountNumber) == false && counter <= 2) |
|
||||
{ |
|
||||
|
|
||||
printf("Bitte geben Sie einen Gueltigen Kontonummer:\n"); |
|
||||
scanf("%d", &accountNumber); |
|
||||
counter++; |
|
||||
} |
|
||||
|
|
||||
if (checkAccount(accountNumber) == false) |
|
||||
{ |
|
||||
printf("Konto ist ungultig\n"); |
|
||||
|
|
||||
printf("Programm wird beendet"); |
|
||||
exit(0); |
|
||||
|
bool sendMoney(int customerID){ |
||||
|
float availableAccountBalance=getAvailableAccountBalance(customerID); |
||||
|
float amountToSend; |
||||
|
int recID; |
||||
|
printf("\nYou have %.2f€ in your account. How much would you like to send?\n",availableAccountBalance); |
||||
|
scanf("%f",&amountToSend); |
||||
|
if(amountToSend>0 && amountToSend<availableAccountBalance){ |
||||
|
printf("\nYour input was %.2f€. Please enter the recipient id.\n"); |
||||
|
scanf("%d",&recID); |
||||
|
if(recID>1000){ |
||||
|
bool recExists=checkCustomerExists(recID); |
||||
|
if(recExists){ |
||||
|
if(withdrawSpecificAmount(customerID, amountToSend)){ |
||||
|
if(depositSpecificAmount(recID, amountToSend)){ |
||||
|
printf("\nYou have successfuly transfered %.2f€ to [%d]",amountToSend,recID); |
||||
|
return true; |
||||
} |
} |
||||
|
|
||||
else |
|
||||
{ |
|
||||
printf("Kontonummer ist Gueltig\n"); |
|
||||
} |
} |
||||
} |
} |
||||
|
|
||||
// Methode send() |
|
||||
void SendMoney() |
|
||||
{ |
|
||||
|
|
||||
double amountToSend; |
|
||||
double length = 21; |
|
||||
int counter = 0; |
|
||||
printf("Bitte geben Sie the Amount:"); |
|
||||
scanf("%lf", &amountToSend); |
|
||||
double amount = getAmount(amountToSend); |
|
||||
int receiverAccountNumber; |
|
||||
double availableAccountBalance = getAvailableAccountBalance(length); |
|
||||
|
|
||||
char tryDifferentAmount; |
|
||||
|
|
||||
if (amountToSend < 0) |
|
||||
{ |
|
||||
printf("Bitte geben Sie einen Gültigen Amount"); |
|
||||
} |
} |
||||
|
|
||||
else |
|
||||
{ |
|
||||
|
|
||||
if (amountToSend <= availableAccountBalance) |
|
||||
{ |
|
||||
|
|
||||
getReceiverAccountNumber(); |
|
||||
|
|
||||
initiateMoneyTransfer(amount); |
|
||||
|
}else{ |
||||
|
//error |
||||
|
return false; |
||||
} |
} |
||||
else |
|
||||
{ |
|
||||
printf("You don't have a sufficient money to transfer\n"); |
|
||||
printf("try with a different amount? [y]: Yes, any Other key: exit:"); |
|
||||
|
|
||||
scanf("%s", &tryDifferentAmount); |
|
||||
if (tryDifferentAmount == 'Y' || tryDifferentAmount == 'y') |
|
||||
{ |
|
||||
|
|
||||
SendMoney(); |
|
||||
|
return false; |
||||
} |
} |
||||
|
|
||||
else |
|
||||
{ |
|
||||
printf("Programm wird beendet"); |
|
||||
exit(0); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
void initiateMoneyTransfer(float amountToSend) |
|
||||
{ |
|
||||
|
|
||||
printf("Money transferred \n"); |
|
||||
printf("You have succesfully sent %lf\n ", amountToSend); |
|
||||
} |
|
||||
|
// int main(){ |
||||
|
// sendMoney(1234); |
||||
|
// return 0; |
||||
|
// } |
Write
Preview
Loading…
Cancel
Save
Reference in new issue