fdlt3817
2 years ago
30 changed files with 987 additions and 0 deletions
-
5build/test/cache/defines_dependency.yml
-
242build/test/cache/input.yml
-
159build/test/cache/test_currentCustomerAccountBalance.c
-
77build/test/cache/test_updateCustomerAccountBalance.c
-
6build/test/dependencies/cmock.d
-
3build/test/dependencies/currentCustomerAccountBalance.d
-
5build/test/dependencies/test_currentCustomerAccountBalance.d
-
4build/test/dependencies/test_currentCustomerAccountBalance_runner.d
-
5build/test/dependencies/test_updateCustomerAccountBalance.d
-
4build/test/dependencies/test_updateCustomerAccountBalance_runner.d
-
4build/test/dependencies/unity.d
-
5build/test/dependencies/updateCustomerAccountBalance.d
-
BINbuild/test/out/c/cmock.o
-
BINbuild/test/out/c/currentCustomerAccountBalance.o
-
BINbuild/test/out/c/test_currentCustomerAccountBalance.o
-
BINbuild/test/out/c/test_currentCustomerAccountBalance_runner.o
-
BINbuild/test/out/c/test_updateCustomerAccountBalance.o
-
BINbuild/test/out/c/test_updateCustomerAccountBalance_runner.o
-
BINbuild/test/out/c/unity.o
-
BINbuild/test/out/c/updateCustomerAccountBalance.o
-
BINbuild/test/out/test_currentCustomerAccountBalance.out
-
BINbuild/test/out/test_updateCustomerAccountBalance.out
-
159build/test/preprocess/files/test_currentCustomerAccountBalance.c
-
77build/test/preprocess/files/test_updateCustomerAccountBalance.c
-
3build/test/preprocess/includes/test_currentCustomerAccountBalance.c
-
3build/test/preprocess/includes/test_updateCustomerAccountBalance.c
-
30build/test/results/test_currentCustomerAccountBalance.pass
-
87build/test/runners/test_currentCustomerAccountBalance_runner.c
-
81build/test/runners/test_updateCustomerAccountBalance_runner.c
-
28tests/test_updateCustomerAccountBalance.c
@ -0,0 +1,5 @@ |
|||||
|
--- |
||||
|
src/currentCustomerAccountBalance.c: |
||||
|
- TEST |
||||
|
src/updateCustomerAccountBalance.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: "/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/ |
@ -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); |
||||
|
|
||||
|
} |
@ -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))); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -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 |
@ -0,0 +1,3 @@ |
|||||
|
build/test/out/c/currentCustomerAccountBalance.o: \ |
||||
|
src/currentCustomerAccountBalance.c \ |
||||
|
src/currentCustomerAccountBalance.h src/_file_information.h |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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); |
||||
|
|
||||
|
} |
@ -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))); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,3 @@ |
|||||
|
--- |
||||
|
- "/Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" |
||||
|
- src/currentCustomerAccountBalance.h |
@ -0,0 +1,3 @@ |
|||||
|
--- |
||||
|
- "/Library/Ruby/Gems/2.6.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" |
||||
|
- src/updateCustomerAccountBalance.h |
@ -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 |
@ -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(); |
||||
|
} |
@ -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(); |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue