diff --git a/build/test/cache/defines_dependency.yml b/build/test/cache/defines_dependency.yml deleted file mode 100644 index 0f4f7ff..0000000 --- a/build/test/cache/defines_dependency.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -src/sendmoney.c: -- TEST diff --git a/build/test/cache/input.yml b/build/test/cache/input.yml deleted file mode 100644 index ca970b0..0000000 --- a/build/test/cache/input.yml +++ /dev/null @@ -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/ diff --git a/build/test/cache/test_sendmoney.c b/build/test/cache/test_sendmoney.c deleted file mode 100644 index 9534927..0000000 --- a/build/test/cache/test_sendmoney.c +++ /dev/null @@ -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); - -} diff --git a/build/test/dependencies/cmock.d b/build/test/dependencies/cmock.d deleted file mode 100644 index 2b0b32a..0000000 --- a/build/test/dependencies/cmock.d +++ /dev/null @@ -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 diff --git a/build/test/dependencies/sendmoney.d b/build/test/dependencies/sendmoney.d deleted file mode 100644 index 27f6254..0000000 --- a/build/test/dependencies/sendmoney.d +++ /dev/null @@ -1 +0,0 @@ -build/test/out/c/sendmoney.o: src/sendmoney.c src/sendmoney.h diff --git a/build/test/dependencies/test_sendmoney.d b/build/test/dependencies/test_sendmoney.d deleted file mode 100644 index 2d10578..0000000 --- a/build/test/dependencies/test_sendmoney.d +++ /dev/null @@ -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 diff --git a/build/test/dependencies/test_sendmoney_runner.d b/build/test/dependencies/test_sendmoney_runner.d deleted file mode 100644 index 4d2258e..0000000 --- a/build/test/dependencies/test_sendmoney_runner.d +++ /dev/null @@ -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 diff --git a/build/test/dependencies/unity.d b/build/test/dependencies/unity.d deleted file mode 100644 index 614a6fe..0000000 --- a/build/test/dependencies/unity.d +++ /dev/null @@ -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 diff --git a/build/test/out/c/cmock.o b/build/test/out/c/cmock.o deleted file mode 100644 index f23bf17..0000000 Binary files a/build/test/out/c/cmock.o and /dev/null differ diff --git a/build/test/out/c/sendmoney.o b/build/test/out/c/sendmoney.o deleted file mode 100644 index 50c315a..0000000 Binary files a/build/test/out/c/sendmoney.o and /dev/null differ diff --git a/build/test/out/c/test_sendmoney.o b/build/test/out/c/test_sendmoney.o deleted file mode 100644 index 3c4d294..0000000 Binary files a/build/test/out/c/test_sendmoney.o and /dev/null differ diff --git a/build/test/out/c/test_sendmoney_runner.o b/build/test/out/c/test_sendmoney_runner.o deleted file mode 100644 index 2237905..0000000 Binary files a/build/test/out/c/test_sendmoney_runner.o and /dev/null differ diff --git a/build/test/out/c/unity.o b/build/test/out/c/unity.o deleted file mode 100644 index 44865e5..0000000 Binary files a/build/test/out/c/unity.o and /dev/null differ diff --git a/build/test/out/test_sendmoney.out b/build/test/out/test_sendmoney.out deleted file mode 100644 index 8296b69..0000000 Binary files a/build/test/out/test_sendmoney.out and /dev/null differ diff --git a/build/test/preprocess/files/test_sendmoney.c b/build/test/preprocess/files/test_sendmoney.c deleted file mode 100644 index 9534927..0000000 --- a/build/test/preprocess/files/test_sendmoney.c +++ /dev/null @@ -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); - -} diff --git a/build/test/preprocess/includes/test_sendmoney.c b/build/test/preprocess/includes/test_sendmoney.c deleted file mode 100644 index debcc5a..0000000 --- a/build/test/preprocess/includes/test_sendmoney.c +++ /dev/null @@ -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 diff --git a/build/test/results/test_sendmoney.fail b/build/test/results/test_sendmoney.fail deleted file mode 100644 index 3c11981..0000000 --- a/build/test/results/test_sendmoney.fail +++ /dev/null @@ -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 diff --git a/build/test/runners/test_sendmoney_runner.c b/build/test/runners/test_sendmoney_runner.c deleted file mode 100644 index 0ab5d87..0000000 --- a/build/test/runners/test_sendmoney_runner.c +++ /dev/null @@ -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(); -} diff --git a/src/CustomerData.txt b/src/CustomerData.txt index 4f5c877..860cd90 100644 --- a/src/CustomerData.txt +++ b/src/CustomerData.txt @@ -3,14 +3,14 @@ ID=1234 forename=Max Surname=Mustermann password=example -balance=2390 +balance=2300 1327=example ID=1327 forename=Max Surname=Mustermann password=example -balance=70 +balance=160 1666=example ID=1666 diff --git a/src/a.exe b/src/a.exe deleted file mode 100644 index ed47b9f..0000000 Binary files a/src/a.exe and /dev/null differ diff --git a/src/sendmoney.c b/src/sendmoney.c index 99efee9..d5447a3 100644 --- a/src/sendmoney.c +++ b/src/sendmoney.c @@ -1,133 +1,35 @@ -#include "sendmoney.h" - -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; +#include "sendMoney.h" +#include "depositMoney.c" +#include "withdrawMoney.c" + +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 && amountToSend1000){ + 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; + } + } } } - - 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); - } - - else - { - printf("Kontonummer ist Gueltig\n"); + }else{ + //error + return false; } + return false; } -// 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 - { - 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(); - } - - 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; +// } \ No newline at end of file diff --git a/src/sendmoney.exe b/src/sendmoney.exe deleted file mode 100644 index ebd1eb9..0000000 Binary files a/src/sendmoney.exe and /dev/null differ diff --git a/src/sendmoney.h b/src/sendmoney.h index 2a602fc..1484dca 100644 --- a/src/sendmoney.h +++ b/src/sendmoney.h @@ -5,12 +5,6 @@ #include #include -bool checkAccount(int accountNumber); -double getAvailableAccountBalance(int length); - -double getAmount(double amountToSend); -void getReceiverAccountNumber(); -void SendMoney(); -void initiateMoneyTransfer(float amountToSend); +bool sendMoney(int customerID); #endif // SENDMONEY_H diff --git a/src/updateCustomerAccountBalance.c b/src/updateCustomerAccountBalance.c index 794cbde..900928e 100644 --- a/src/updateCustomerAccountBalance.c +++ b/src/updateCustomerAccountBalance.c @@ -112,6 +112,51 @@ bool updateAvailableAccountBalance(int user_id, float newBalance){ } return false; +} +bool checkCustomerExists(int customerID){ + bool keep_reading = true; + bool customer_found=false; + char buffer[MAX_LENGTH]; + char stringID[MAX_LENGTH] = "ID="; + char user_id_as_string[MAX_LENGTH]; + char balance_String[MAX_LENGTH]; + int currentLine=0; + + sprintf(user_id_as_string, "%d", customerID); // converts user_id to string + strcat(stringID, user_id_as_string); + + FILE *file = fopen(CUSTOMER_DATA_FILE, "r+"); + if (file == NULL) { + return false; + } + while(keep_reading) { + fgets(buffer, MAX_LENGTH, file); + currentLine++; + if (feof(file)) { + keep_reading = false; + } + else if(strstr(buffer, stringID)) { //found the customer + + for (int i = 0; i < 4; i++) { + fgets(buffer, MAX_LENGTH, file); + } + + strcpy(balance_String, buffer); + currentLine+=4; + keep_reading = false; + customer_found=true; + } + + } + + fclose(file);; + if(customer_found){ + return true; + }else{ + return false; + } + return false; + } //traditional testing section diff --git a/src/updateCustomerAccountBalance.h b/src/updateCustomerAccountBalance.h index 9a931b3..17f34ae 100644 --- a/src/updateCustomerAccountBalance.h +++ b/src/updateCustomerAccountBalance.h @@ -9,7 +9,7 @@ bool updateAvailableAccountBalance(int user_id, float newBalance); - +bool checkCustomerExists(int customerID); void replaceBalanceInString(float replacementBalance, int currentLine); #endif \ No newline at end of file diff --git a/test/support/.gitkeep b/test/support/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/test/test_sendmoney.c b/tests/test_sendmoney.c similarity index 100% rename from test/test_sendmoney.c rename to tests/test_sendmoney.c