diff --git a/build/test/cache/defines_dependency.yml b/build/test/cache/defines_dependency.yml new file mode 100644 index 0000000..f230c87 --- /dev/null +++ b/build/test/cache/defines_dependency.yml @@ -0,0 +1,5 @@ +--- +src/currentCustomerAccountBalance.c: +- TEST +src/updateCustomerAccountBalance.c: +- TEST diff --git a/build/test/cache/input.yml b/build/test/cache/input.yml new file mode 100644 index 0000000..7b0c251 --- /dev/null +++ b/build/test/cache/input.yml @@ -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: "/Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor" + :defines: [] +:cmock: + :vendor_path: "/Library/Ruby/Gems/2.6.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: "/Library/Ruby/Gems/2.6.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: + - "/Library/Ruby/Gems/2.6.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: "/Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/lib/../plugins/stdout_pretty_tests_report" + :module_generator_path: "/Library/Ruby/Gems/2.6.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/ diff --git a/build/test/cache/test_currentCustomerAccountBalance.c b/build/test/cache/test_currentCustomerAccountBalance.c new file mode 100644 index 0000000..c6a03aa --- /dev/null +++ b/build/test/cache/test_currentCustomerAccountBalance.c @@ -0,0 +1,159 @@ +#include "src/currentCustomerAccountBalance.h" +#include "/Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + + + + + +void setUp(void) + +{ + +} + + + +void tearDown(void) + +{ + +} + + + +void test_fetchBalanceFromBalanceString(void) { + + + + + + + + char balanceString[5][100] = { + + "balance=0", + + "balance=100", + + "balance=200", + + "balance=300", + + "balance=400" + + }; + + + + + + + + float balance = 0; + + float result[5]; + + float expected[5]; + + + + for (int i = 0; i < 5; i++) { + + result[i] = fetchBalanceFromBalanceString(balanceString[i]); + + } + + + + + + + + for (int i = 0; i < 5; i++) { + + expected[i] = balance; + + balance += 100; + + } + + + + for (int i =0; i < 5; i++) { + + UnityAssertFloatsWithin((UNITY_FLOAT)((UNITY_FLOAT)((expected[i])) * (UNITY_FLOAT)(0.00001f)), (UNITY_FLOAT)((UNITY_FLOAT)((expected[i]))), (UNITY_FLOAT)((UNITY_FLOAT)((result[i]))), ((((void*)0))), (UNITY_UINT)((UNITY_UINT)(45))); + + } + + + + + +} + + + + + +void test_checkFileOpen(void) { + + + + + + + + FILE *file = fopen("src/CustomerData.txt", "r"); + + + + do {if ((file)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(58)));}} while(0); + + + + fclose(file); + +} + + + +void test_failOpenFile(void) { + + + + + + + + FILE *file = fopen("false_file_name", "r"); + + + + do {if (!(file)) {} else {UnityFail( ((" Expected FALSE Was TRUE")), (UNITY_UINT)((UNITY_UINT)(69)));}} while(0); + + + +} + + + +void test_getAvailableAccountBalance(void) { + + + + + + + + int user_id = 1234; + + float max = 3.40282347e+38F; + + int result = getAvailableAccountBalance(user_id); + + + + do {if ((result < max)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(81)));}} while(0); + +} diff --git a/build/test/cache/test_updateCustomerAccountBalance.c b/build/test/cache/test_updateCustomerAccountBalance.c new file mode 100644 index 0000000..5918e78 --- /dev/null +++ b/build/test/cache/test_updateCustomerAccountBalance.c @@ -0,0 +1,77 @@ +#include "src/updateCustomerAccountBalance.h" +#include "/Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + + + + + + + +void setUp(void) + +{ + +} + + + +void tearDown(void) + +{ + +} + + + +void test_updateAvailableAccountBalanceSuccess(void){ + + int length = 10; + + + + float amountToUpdate[] = {200.5, 340, 244.5, 340, 1200, 3232, 1123, 460.5, 900, 1005}; + + float userIDs[] = {1001,1002,1003,1004,1005,1006,1007,1008,1009}; + + + + float expectedValue[length]; + + float result[length]; + + + + + + + + for (int i = 0; i < length; i++) { + + result[i] = updateAvailableAccountBalance(userIDs[i],amountToUpdate[i]); + + } + + + + + + + + for (int i = 0; i < length; i++) { + + expectedValue[i] = 0; + + } + + + + for (int i = 0; i < length; i++) { + + UnityAssertFloatsWithin((UNITY_FLOAT)((UNITY_FLOAT)((expectedValue[i])) * (UNITY_FLOAT)(0.00001f)), (UNITY_FLOAT)((UNITY_FLOAT)((expectedValue[i]))), (UNITY_FLOAT)((UNITY_FLOAT)((result[i]))), ((((void*)0))), (UNITY_UINT)((UNITY_UINT)(58))); + + } + + + +} diff --git a/build/test/dependencies/cmock.d b/build/test/dependencies/cmock.d new file mode 100644 index 0000000..5bb2ab5 --- /dev/null +++ b/build/test/dependencies/cmock.d @@ -0,0 +1,6 @@ +build/test/out/c/cmock.o: \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.c \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.h \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock_internals.h \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/dependencies/currentCustomerAccountBalance.d b/build/test/dependencies/currentCustomerAccountBalance.d new file mode 100644 index 0000000..8f14061 --- /dev/null +++ b/build/test/dependencies/currentCustomerAccountBalance.d @@ -0,0 +1,3 @@ +build/test/out/c/currentCustomerAccountBalance.o: \ + src/currentCustomerAccountBalance.c \ + src/currentCustomerAccountBalance.h src/_file_information.h diff --git a/build/test/dependencies/test_currentCustomerAccountBalance.d b/build/test/dependencies/test_currentCustomerAccountBalance.d new file mode 100644 index 0000000..d4f4b96 --- /dev/null +++ b/build/test/dependencies/test_currentCustomerAccountBalance.d @@ -0,0 +1,5 @@ +build/test/out/c/test_currentCustomerAccountBalance.o: \ + tests/test_currentCustomerAccountBalance.c \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h \ + src/currentCustomerAccountBalance.h src/_file_information.h diff --git a/build/test/dependencies/test_currentCustomerAccountBalance_runner.d b/build/test/dependencies/test_currentCustomerAccountBalance_runner.d new file mode 100644 index 0000000..bce124f --- /dev/null +++ b/build/test/dependencies/test_currentCustomerAccountBalance_runner.d @@ -0,0 +1,4 @@ +build/test/out/c/test_currentCustomerAccountBalance_runner.o: \ + build/test/runners/test_currentCustomerAccountBalance_runner.c \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/dependencies/test_updateCustomerAccountBalance.d b/build/test/dependencies/test_updateCustomerAccountBalance.d new file mode 100644 index 0000000..3e8bb07 --- /dev/null +++ b/build/test/dependencies/test_updateCustomerAccountBalance.d @@ -0,0 +1,5 @@ +build/test/out/c/test_updateCustomerAccountBalance.o: \ + tests/test_updateCustomerAccountBalance.c \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h \ + src/updateCustomerAccountBalance.h diff --git a/build/test/dependencies/test_updateCustomerAccountBalance_runner.d b/build/test/dependencies/test_updateCustomerAccountBalance_runner.d new file mode 100644 index 0000000..c6a39e1 --- /dev/null +++ b/build/test/dependencies/test_updateCustomerAccountBalance_runner.d @@ -0,0 +1,4 @@ +build/test/out/c/test_updateCustomerAccountBalance_runner.o: \ + build/test/runners/test_updateCustomerAccountBalance_runner.c \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/dependencies/unity.d b/build/test/dependencies/unity.d new file mode 100644 index 0000000..cbb510b --- /dev/null +++ b/build/test/dependencies/unity.d @@ -0,0 +1,4 @@ +build/test/out/c/unity.o: \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.c \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + /Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/dependencies/updateCustomerAccountBalance.d b/build/test/dependencies/updateCustomerAccountBalance.d new file mode 100644 index 0000000..5f06f3b --- /dev/null +++ b/build/test/dependencies/updateCustomerAccountBalance.d @@ -0,0 +1,5 @@ +build/test/out/c/updateCustomerAccountBalance.o: \ + src/updateCustomerAccountBalance.c src/updateCustomerAccountBalance.h \ + src/currentCustomerAccountBalance.c \ + src/currentCustomerAccountBalance.h src/_file_information.h \ + src/lineReplacer.h diff --git a/build/test/out/c/cmock.o b/build/test/out/c/cmock.o new file mode 100644 index 0000000..f2c9ef1 Binary files /dev/null and b/build/test/out/c/cmock.o differ diff --git a/build/test/out/c/currentCustomerAccountBalance.o b/build/test/out/c/currentCustomerAccountBalance.o new file mode 100644 index 0000000..b9b0690 Binary files /dev/null and b/build/test/out/c/currentCustomerAccountBalance.o differ diff --git a/build/test/out/c/test_currentCustomerAccountBalance.o b/build/test/out/c/test_currentCustomerAccountBalance.o new file mode 100644 index 0000000..8db69b1 Binary files /dev/null and b/build/test/out/c/test_currentCustomerAccountBalance.o differ diff --git a/build/test/out/c/test_currentCustomerAccountBalance_runner.o b/build/test/out/c/test_currentCustomerAccountBalance_runner.o new file mode 100644 index 0000000..47c8875 Binary files /dev/null and b/build/test/out/c/test_currentCustomerAccountBalance_runner.o differ diff --git a/build/test/out/c/test_updateCustomerAccountBalance.o b/build/test/out/c/test_updateCustomerAccountBalance.o new file mode 100644 index 0000000..e1f08e5 Binary files /dev/null and b/build/test/out/c/test_updateCustomerAccountBalance.o differ diff --git a/build/test/out/c/test_updateCustomerAccountBalance_runner.o b/build/test/out/c/test_updateCustomerAccountBalance_runner.o new file mode 100644 index 0000000..116e1ae Binary files /dev/null and b/build/test/out/c/test_updateCustomerAccountBalance_runner.o differ diff --git a/build/test/out/c/unity.o b/build/test/out/c/unity.o new file mode 100644 index 0000000..703d2bc Binary files /dev/null and b/build/test/out/c/unity.o differ diff --git a/build/test/out/c/updateCustomerAccountBalance.o b/build/test/out/c/updateCustomerAccountBalance.o new file mode 100644 index 0000000..0154047 Binary files /dev/null and b/build/test/out/c/updateCustomerAccountBalance.o differ diff --git a/build/test/out/test_currentCustomerAccountBalance.out b/build/test/out/test_currentCustomerAccountBalance.out new file mode 100755 index 0000000..d27cce9 Binary files /dev/null and b/build/test/out/test_currentCustomerAccountBalance.out differ diff --git a/build/test/out/test_updateCustomerAccountBalance.out b/build/test/out/test_updateCustomerAccountBalance.out new file mode 100755 index 0000000..2dea89f Binary files /dev/null and b/build/test/out/test_updateCustomerAccountBalance.out differ diff --git a/build/test/preprocess/files/test_currentCustomerAccountBalance.c b/build/test/preprocess/files/test_currentCustomerAccountBalance.c new file mode 100644 index 0000000..c6a03aa --- /dev/null +++ b/build/test/preprocess/files/test_currentCustomerAccountBalance.c @@ -0,0 +1,159 @@ +#include "src/currentCustomerAccountBalance.h" +#include "/Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + + + + + +void setUp(void) + +{ + +} + + + +void tearDown(void) + +{ + +} + + + +void test_fetchBalanceFromBalanceString(void) { + + + + + + + + char balanceString[5][100] = { + + "balance=0", + + "balance=100", + + "balance=200", + + "balance=300", + + "balance=400" + + }; + + + + + + + + float balance = 0; + + float result[5]; + + float expected[5]; + + + + for (int i = 0; i < 5; i++) { + + result[i] = fetchBalanceFromBalanceString(balanceString[i]); + + } + + + + + + + + for (int i = 0; i < 5; i++) { + + expected[i] = balance; + + balance += 100; + + } + + + + for (int i =0; i < 5; i++) { + + UnityAssertFloatsWithin((UNITY_FLOAT)((UNITY_FLOAT)((expected[i])) * (UNITY_FLOAT)(0.00001f)), (UNITY_FLOAT)((UNITY_FLOAT)((expected[i]))), (UNITY_FLOAT)((UNITY_FLOAT)((result[i]))), ((((void*)0))), (UNITY_UINT)((UNITY_UINT)(45))); + + } + + + + + +} + + + + + +void test_checkFileOpen(void) { + + + + + + + + FILE *file = fopen("src/CustomerData.txt", "r"); + + + + do {if ((file)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(58)));}} while(0); + + + + fclose(file); + +} + + + +void test_failOpenFile(void) { + + + + + + + + FILE *file = fopen("false_file_name", "r"); + + + + do {if (!(file)) {} else {UnityFail( ((" Expected FALSE Was TRUE")), (UNITY_UINT)((UNITY_UINT)(69)));}} while(0); + + + +} + + + +void test_getAvailableAccountBalance(void) { + + + + + + + + int user_id = 1234; + + float max = 3.40282347e+38F; + + int result = getAvailableAccountBalance(user_id); + + + + do {if ((result < max)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(81)));}} while(0); + +} diff --git a/build/test/preprocess/files/test_updateCustomerAccountBalance.c b/build/test/preprocess/files/test_updateCustomerAccountBalance.c new file mode 100644 index 0000000..5918e78 --- /dev/null +++ b/build/test/preprocess/files/test_updateCustomerAccountBalance.c @@ -0,0 +1,77 @@ +#include "src/updateCustomerAccountBalance.h" +#include "/Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + + + + + + + +void setUp(void) + +{ + +} + + + +void tearDown(void) + +{ + +} + + + +void test_updateAvailableAccountBalanceSuccess(void){ + + int length = 10; + + + + float amountToUpdate[] = {200.5, 340, 244.5, 340, 1200, 3232, 1123, 460.5, 900, 1005}; + + float userIDs[] = {1001,1002,1003,1004,1005,1006,1007,1008,1009}; + + + + float expectedValue[length]; + + float result[length]; + + + + + + + + for (int i = 0; i < length; i++) { + + result[i] = updateAvailableAccountBalance(userIDs[i],amountToUpdate[i]); + + } + + + + + + + + for (int i = 0; i < length; i++) { + + expectedValue[i] = 0; + + } + + + + for (int i = 0; i < length; i++) { + + UnityAssertFloatsWithin((UNITY_FLOAT)((UNITY_FLOAT)((expectedValue[i])) * (UNITY_FLOAT)(0.00001f)), (UNITY_FLOAT)((UNITY_FLOAT)((expectedValue[i]))), (UNITY_FLOAT)((UNITY_FLOAT)((result[i]))), ((((void*)0))), (UNITY_UINT)((UNITY_UINT)(58))); + + } + + + +} diff --git a/build/test/preprocess/includes/test_currentCustomerAccountBalance.c b/build/test/preprocess/includes/test_currentCustomerAccountBalance.c new file mode 100644 index 0000000..910356b --- /dev/null +++ b/build/test/preprocess/includes/test_currentCustomerAccountBalance.c @@ -0,0 +1,3 @@ +--- +- "/Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" +- src/currentCustomerAccountBalance.h diff --git a/build/test/preprocess/includes/test_updateCustomerAccountBalance.c b/build/test/preprocess/includes/test_updateCustomerAccountBalance.c new file mode 100644 index 0000000..d395830 --- /dev/null +++ b/build/test/preprocess/includes/test_updateCustomerAccountBalance.c @@ -0,0 +1,3 @@ +--- +- "/Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" +- src/updateCustomerAccountBalance.h diff --git a/build/test/results/test_currentCustomerAccountBalance.pass b/build/test/results/test_currentCustomerAccountBalance.pass new file mode 100644 index 0000000..a945b2d --- /dev/null +++ b/build/test/results/test_currentCustomerAccountBalance.pass @@ -0,0 +1,30 @@ +--- +:source: + :path: tests + :file: test_currentCustomerAccountBalance.c +:successes: +- :test: test_fetchBalanceFromBalanceString + :line: 15 + :message: '' + :unity_test_time: 0 +- :test: test_checkFileOpen + :line: 52 + :message: '' + :unity_test_time: 0 +- :test: test_failOpenFile + :line: 63 + :message: '' + :unity_test_time: 0 +- :test: test_getAvailableAccountBalance + :line: 73 + :message: '' + :unity_test_time: 0 +:failures: [] +:ignores: [] +:counts: + :total: 4 + :passed: 4 + :failed: 0 + :ignored: 0 +:stdout: [] +:time: 0.006680999998934567 diff --git a/build/test/runners/test_currentCustomerAccountBalance_runner.c b/build/test/runners/test_currentCustomerAccountBalance_runner.c new file mode 100644 index 0000000..1e35fd9 --- /dev/null +++ b/build/test/runners/test_currentCustomerAccountBalance_runner.c @@ -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_fetchBalanceFromBalanceString(void); +extern void test_checkFileOpen(void); +extern void test_failOpenFile(void); +extern void test_getAvailableAccountBalance(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_currentCustomerAccountBalance.c"); + run_test(test_fetchBalanceFromBalanceString, "test_fetchBalanceFromBalanceString", 15); + run_test(test_checkFileOpen, "test_checkFileOpen", 52); + run_test(test_failOpenFile, "test_failOpenFile", 63); + run_test(test_getAvailableAccountBalance, "test_getAvailableAccountBalance", 73); + + return UnityEnd(); +} diff --git a/build/test/runners/test_updateCustomerAccountBalance_runner.c b/build/test/runners/test_updateCustomerAccountBalance_runner.c new file mode 100644 index 0000000..887be8b --- /dev/null +++ b/build/test/runners/test_updateCustomerAccountBalance_runner.c @@ -0,0 +1,81 @@ +/* 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_updateAvailableAccountBalanceSuccess(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_updateCustomerAccountBalance.c"); + run_test(test_updateAvailableAccountBalanceSuccess, "test_updateAvailableAccountBalanceSuccess", 15); + + return UnityEnd(); +} diff --git a/tests/test_updateCustomerAccountBalance.c b/tests/test_updateCustomerAccountBalance.c index add1299..e5fc90c 100644 --- a/tests/test_updateCustomerAccountBalance.c +++ b/tests/test_updateCustomerAccountBalance.c @@ -14,6 +14,7 @@ void tearDown(void) void test_updateAvailableAccountBalanceSuccess(void){ + /* int id1 = 1234; int id2 = 1327; int id3 = 1666; @@ -29,6 +30,33 @@ void test_updateAvailableAccountBalanceSuccess(void){ TEST_ASSERT_TRUE(results1); TEST_ASSERT_TRUE(results2); TEST_ASSERT_TRUE(results3); + */ + + /* Arrange */ + + int length = 10; + + float amountToUpdate[] = {200.5, 340, 244.5, 340, 1200, 3232, 1123, 460.5, 900, 1005}; + float userIDs[] = {1001,1002,1003,1004,1005,1006,1007,1008,1009}; + + float expectedValue[length]; + float result[length]; + + /* Act */ + + for (int i = 0; i < length; i++) { + result[i] = updateAvailableAccountBalance(userIDs[i],amountToUpdate[i]); + } + + /* Assert */ + + for (int i = 0; i < length; i++) { + expectedValue[i] = 0; + } + + for (int i = 0; i < length; i++) { + TEST_ASSERT_EQUAL_FLOAT(expectedValue[i],result[i]); + } } #endif