diff --git a/build/test/cache/defines_dependency.yml b/build/test/cache/defines_dependency.yml deleted file mode 100644 index dc23d51..0000000 --- a/build/test/cache/defines_dependency.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -src/wwm.c: -- TEST diff --git a/build/test/cache/input.yml b/build/test/cache/input.yml deleted file mode 100644 index bd75b60..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:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor - :defines: [] -:cmock: - :vendor_path: C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor - :defines: [] - :includes: [] - :mock_prefix: mock_ - :when_no_prototypes: :warn - :enforce_strict_ordering: true - :plugins: - - :ignore - - :callback - :treat_as: - uint8: HEX8 - uint16: HEX16 - uint32: UINT32 - int8: INT8 - bool: UINT8 - :mock_path: build/test/mocks - :verbosity: 3 - :unity_helper: false -:cexception: - :vendor_path: C:/Ruby30/lib/ruby/gems/3.0.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:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/../plugins - :enabled: - - stdout_pretty_tests_report - - module_generator - :display_raw_test_results: false - :stdout_pretty_tests_report_path: C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/../plugins/stdout_pretty_tests_report - :module_generator_path: C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/../plugins/module_generator -:gcov: - :reports: - - HtmlDetailed - :gcovr: - :html_medium_threshold: 75 - :html_high_threshold: 90 -:module_generator: - :project_root: "./" - :source_root: src/ - :test_root: test/ diff --git a/build/test/cache/test_casualQuiz.c b/build/test/cache/test_casualQuiz.c deleted file mode 100644 index e69de29..0000000 diff --git a/build/test/cache/test_quizduell.c b/build/test/cache/test_quizduell.c deleted file mode 100644 index e69de29..0000000 diff --git a/build/test/cache/test_timequiz.c b/build/test/cache/test_timequiz.c deleted file mode 100644 index e69de29..0000000 diff --git a/build/test/cache/test_wwm.c b/build/test/cache/test_wwm.c deleted file mode 100644 index 1b68dfd..0000000 --- a/build/test/cache/test_wwm.c +++ /dev/null @@ -1,89 +0,0 @@ -#include "src/wwm.h" -#include "C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" - - - - - - -void setUp(void) { - - - -} - - - -void tearDown(void) { - - - -} - - - -void test_setGeld_1(void) { - - - - runde = 0; - - geld = 0; - - frage = 0; - - useranswer = 0; - - - - - - UnityAssertEqualNumber((UNITY_INT)((100)), (UNITY_INT)((setGeld(1))), ( - - ((void *)0) - - ), (UNITY_UINT)(22), UNITY_DISPLAY_STYLE_INT); - - UnityAssertEqualNumber((UNITY_INT)((100)), (UNITY_INT)((geld)), ( - - ((void *)0) - - ), (UNITY_UINT)(23), UNITY_DISPLAY_STYLE_INT); - - - -} - - - -void test_setGeld_2(void) { - - - - runde = 0; - - - - UnityAssertEqualNumber((UNITY_INT)((300)), (UNITY_INT)((setGeld(3))), ( - - ((void *)0) - - ), (UNITY_UINT)(31), UNITY_DISPLAY_STYLE_INT); - - - - - -} - - - -void test_crandomNumber(void){ - - int result = crandomNumber(); - - do {if ((result >= 0 && result <= 9)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(38)));}} while(0); - - - -} diff --git a/build/test/dependencies/cmock.d b/build/test/dependencies/cmock.d deleted file mode 100644 index a9317fd..0000000 --- a/build/test/dependencies/cmock.d +++ /dev/null @@ -1,6 +0,0 @@ -build/test/out/c/cmock.o: \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.c \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.h \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock_internals.h \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/dependencies/force_build b/build/test/dependencies/force_build deleted file mode 100644 index e69de29..0000000 diff --git a/build/test/dependencies/test_casualQuiz.d b/build/test/dependencies/test_casualQuiz.d deleted file mode 100644 index 5256c22..0000000 --- a/build/test/dependencies/test_casualQuiz.d +++ /dev/null @@ -1 +0,0 @@ -build/test/out/c/test_casualQuiz.o: test/test_casualQuiz.c diff --git a/build/test/dependencies/test_casualQuiz_runner.d b/build/test/dependencies/test_casualQuiz_runner.d deleted file mode 100644 index c7e7649..0000000 --- a/build/test/dependencies/test_casualQuiz_runner.d +++ /dev/null @@ -1,4 +0,0 @@ -build/test/out/c/test_casualQuiz_runner.o: \ - build/test/runners/test_casualQuiz_runner.c \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/dependencies/test_quizduell.d b/build/test/dependencies/test_quizduell.d deleted file mode 100644 index b2861de..0000000 --- a/build/test/dependencies/test_quizduell.d +++ /dev/null @@ -1 +0,0 @@ -build/test/out/c/test_quizduell.o: test/test_quizduell.c diff --git a/build/test/dependencies/test_quizduell_runner.d b/build/test/dependencies/test_quizduell_runner.d deleted file mode 100644 index c8f104f..0000000 --- a/build/test/dependencies/test_quizduell_runner.d +++ /dev/null @@ -1,4 +0,0 @@ -build/test/out/c/test_quizduell_runner.o: \ - build/test/runners/test_quizduell_runner.c \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/dependencies/test_timequiz.d b/build/test/dependencies/test_timequiz.d deleted file mode 100644 index e204044..0000000 --- a/build/test/dependencies/test_timequiz.d +++ /dev/null @@ -1 +0,0 @@ -build/test/out/c/test_timequiz.o: test/test_timequiz.c diff --git a/build/test/dependencies/test_timequiz_runner.d b/build/test/dependencies/test_timequiz_runner.d deleted file mode 100644 index 6ef909d..0000000 --- a/build/test/dependencies/test_timequiz_runner.d +++ /dev/null @@ -1,4 +0,0 @@ -build/test/out/c/test_timequiz_runner.o: \ - build/test/runners/test_timequiz_runner.c \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/dependencies/test_wwm.d b/build/test/dependencies/test_wwm.d deleted file mode 100644 index a39f355..0000000 --- a/build/test/dependencies/test_wwm.d +++ /dev/null @@ -1,4 +0,0 @@ -build/test/out/c/test_wwm.o: test/test_wwm.c \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h \ - src/wwm.h diff --git a/build/test/dependencies/test_wwm_runner.d b/build/test/dependencies/test_wwm_runner.d deleted file mode 100644 index 12d3bf9..0000000 --- a/build/test/dependencies/test_wwm_runner.d +++ /dev/null @@ -1,3 +0,0 @@ -build/test/out/c/test_wwm_runner.o: build/test/runners/test_wwm_runner.c \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ - C:/Ruby30/lib/ruby/gems/3.0.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 25fa920..0000000 --- a/build/test/dependencies/unity.d +++ /dev/null @@ -1,4 +0,0 @@ -build/test/out/c/unity.o: \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.c \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ - C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/dependencies/wwm.d b/build/test/dependencies/wwm.d deleted file mode 100644 index 968e82b..0000000 --- a/build/test/dependencies/wwm.d +++ /dev/null @@ -1 +0,0 @@ -build/test/out/c/wwm.o: src/wwm.c src/wwm.h diff --git a/build/test/out/c/cmock.o b/build/test/out/c/cmock.o deleted file mode 100644 index 96210cf..0000000 Binary files a/build/test/out/c/cmock.o and /dev/null differ diff --git a/build/test/out/c/test_casualQuiz.o b/build/test/out/c/test_casualQuiz.o deleted file mode 100644 index c86e42b..0000000 Binary files a/build/test/out/c/test_casualQuiz.o and /dev/null differ diff --git a/build/test/out/c/test_casualQuiz_runner.o b/build/test/out/c/test_casualQuiz_runner.o deleted file mode 100644 index fc9d086..0000000 Binary files a/build/test/out/c/test_casualQuiz_runner.o and /dev/null differ diff --git a/build/test/out/c/test_quizduell.o b/build/test/out/c/test_quizduell.o deleted file mode 100644 index 158a1fd..0000000 Binary files a/build/test/out/c/test_quizduell.o and /dev/null differ diff --git a/build/test/out/c/test_quizduell_runner.o b/build/test/out/c/test_quizduell_runner.o deleted file mode 100644 index ffe496e..0000000 Binary files a/build/test/out/c/test_quizduell_runner.o and /dev/null differ diff --git a/build/test/out/c/test_timequiz.o b/build/test/out/c/test_timequiz.o deleted file mode 100644 index 09affb6..0000000 Binary files a/build/test/out/c/test_timequiz.o and /dev/null differ diff --git a/build/test/out/c/test_timequiz_runner.o b/build/test/out/c/test_timequiz_runner.o deleted file mode 100644 index 4c81c4b..0000000 Binary files a/build/test/out/c/test_timequiz_runner.o and /dev/null differ diff --git a/build/test/out/c/test_wwm.o b/build/test/out/c/test_wwm.o deleted file mode 100644 index 2ec22ff..0000000 Binary files a/build/test/out/c/test_wwm.o and /dev/null differ diff --git a/build/test/out/c/test_wwm_runner.o b/build/test/out/c/test_wwm_runner.o deleted file mode 100644 index c6d1b7f..0000000 Binary files a/build/test/out/c/test_wwm_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 8faf147..0000000 Binary files a/build/test/out/c/unity.o and /dev/null differ diff --git a/build/test/out/c/wwm.o b/build/test/out/c/wwm.o deleted file mode 100644 index d0c1f9f..0000000 Binary files a/build/test/out/c/wwm.o and /dev/null differ diff --git a/build/test/out/test_casualQuiz.out b/build/test/out/test_casualQuiz.out deleted file mode 100755 index c60d16e..0000000 Binary files a/build/test/out/test_casualQuiz.out and /dev/null differ diff --git a/build/test/out/test_quizduell.out b/build/test/out/test_quizduell.out deleted file mode 100755 index f76b926..0000000 Binary files a/build/test/out/test_quizduell.out and /dev/null differ diff --git a/build/test/out/test_timequiz.out b/build/test/out/test_timequiz.out deleted file mode 100755 index 14d30e2..0000000 Binary files a/build/test/out/test_timequiz.out and /dev/null differ diff --git a/build/test/out/test_wwm.out b/build/test/out/test_wwm.out deleted file mode 100755 index d544bed..0000000 Binary files a/build/test/out/test_wwm.out and /dev/null differ diff --git a/build/test/preprocess/files/test_casualQuiz.c b/build/test/preprocess/files/test_casualQuiz.c deleted file mode 100644 index e69de29..0000000 diff --git a/build/test/preprocess/files/test_quizduell.c b/build/test/preprocess/files/test_quizduell.c deleted file mode 100644 index e69de29..0000000 diff --git a/build/test/preprocess/files/test_timequiz.c b/build/test/preprocess/files/test_timequiz.c deleted file mode 100644 index e69de29..0000000 diff --git a/build/test/preprocess/files/test_wwm.c b/build/test/preprocess/files/test_wwm.c deleted file mode 100644 index 1b68dfd..0000000 --- a/build/test/preprocess/files/test_wwm.c +++ /dev/null @@ -1,89 +0,0 @@ -#include "src/wwm.h" -#include "C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" - - - - - - -void setUp(void) { - - - -} - - - -void tearDown(void) { - - - -} - - - -void test_setGeld_1(void) { - - - - runde = 0; - - geld = 0; - - frage = 0; - - useranswer = 0; - - - - - - UnityAssertEqualNumber((UNITY_INT)((100)), (UNITY_INT)((setGeld(1))), ( - - ((void *)0) - - ), (UNITY_UINT)(22), UNITY_DISPLAY_STYLE_INT); - - UnityAssertEqualNumber((UNITY_INT)((100)), (UNITY_INT)((geld)), ( - - ((void *)0) - - ), (UNITY_UINT)(23), UNITY_DISPLAY_STYLE_INT); - - - -} - - - -void test_setGeld_2(void) { - - - - runde = 0; - - - - UnityAssertEqualNumber((UNITY_INT)((300)), (UNITY_INT)((setGeld(3))), ( - - ((void *)0) - - ), (UNITY_UINT)(31), UNITY_DISPLAY_STYLE_INT); - - - - - -} - - - -void test_crandomNumber(void){ - - int result = crandomNumber(); - - do {if ((result >= 0 && result <= 9)) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(38)));}} while(0); - - - -} diff --git a/build/test/preprocess/includes/test_casualQuiz.c b/build/test/preprocess/includes/test_casualQuiz.c deleted file mode 100644 index dcd024e..0000000 --- a/build/test/preprocess/includes/test_casualQuiz.c +++ /dev/null @@ -1 +0,0 @@ ---- [] diff --git a/build/test/preprocess/includes/test_quizduell.c b/build/test/preprocess/includes/test_quizduell.c deleted file mode 100644 index dcd024e..0000000 --- a/build/test/preprocess/includes/test_quizduell.c +++ /dev/null @@ -1 +0,0 @@ ---- [] diff --git a/build/test/preprocess/includes/test_timequiz.c b/build/test/preprocess/includes/test_timequiz.c deleted file mode 100644 index dcd024e..0000000 --- a/build/test/preprocess/includes/test_timequiz.c +++ /dev/null @@ -1 +0,0 @@ ---- [] diff --git a/build/test/preprocess/includes/test_wwm.c b/build/test/preprocess/includes/test_wwm.c deleted file mode 100644 index 29c3226..0000000 --- a/build/test/preprocess/includes/test_wwm.c +++ /dev/null @@ -1,3 +0,0 @@ ---- -- C:/Ruby30/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h -- src/wwm.h diff --git a/build/test/results/test_casualQuiz.pass b/build/test/results/test_casualQuiz.pass deleted file mode 100644 index 2a6ecb3..0000000 --- a/build/test/results/test_casualQuiz.pass +++ /dev/null @@ -1,14 +0,0 @@ ---- -:source: - :path: test - :file: test_casualQuiz.c -:successes: [] -:failures: [] -:ignores: [] -:counts: - :total: 0 - :passed: 0 - :failed: 0 - :ignored: 0 -:stdout: [] -:time: 0.09232900000642985 diff --git a/build/test/results/test_quizduell.pass b/build/test/results/test_quizduell.pass deleted file mode 100644 index bdc0e8f..0000000 --- a/build/test/results/test_quizduell.pass +++ /dev/null @@ -1,14 +0,0 @@ ---- -:source: - :path: test - :file: test_quizduell.c -:successes: [] -:failures: [] -:ignores: [] -:counts: - :total: 0 - :passed: 0 - :failed: 0 - :ignored: 0 -:stdout: [] -:time: 0.07104519999120384 diff --git a/build/test/results/test_timequiz.pass b/build/test/results/test_timequiz.pass deleted file mode 100644 index c7ff187..0000000 --- a/build/test/results/test_timequiz.pass +++ /dev/null @@ -1,14 +0,0 @@ ---- -:source: - :path: test - :file: test_timequiz.c -:successes: [] -:failures: [] -:ignores: [] -:counts: - :total: 0 - :passed: 0 - :failed: 0 - :ignored: 0 -:stdout: [] -:time: 0.06864710000809282 diff --git a/build/test/results/test_wwm.pass b/build/test/results/test_wwm.pass deleted file mode 100644 index 1a322fc..0000000 --- a/build/test/results/test_wwm.pass +++ /dev/null @@ -1,26 +0,0 @@ ---- -:source: - :path: test - :file: test_wwm.c -:successes: -- :test: test_setGeld_1 - :line: 14 - :message: '' - :unity_test_time: 0 -- :test: test_setGeld_2 - :line: 27 - :message: '' - :unity_test_time: 0 -- :test: test_crandomNumber - :line: 36 - :message: '' - :unity_test_time: 0 -:failures: [] -:ignores: [] -:counts: - :total: 3 - :passed: 3 - :failed: 0 - :ignored: 0 -:stdout: [] -:time: 0.46659269998781383 diff --git a/build/test/runners/test_casualQuiz_runner.c b/build/test/runners/test_casualQuiz_runner.c deleted file mode 100644 index 78eb33b..0000000 --- a/build/test/runners/test_casualQuiz_runner.c +++ /dev/null @@ -1,57 +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); - - -/*=======Mock Management=====*/ -static void CMock_Init(void) -{ - GlobalExpectCount = 0; - GlobalVerifyOrder = 0; - GlobalOrderError = NULL; -} -static void CMock_Verify(void) -{ -} -static void CMock_Destroy(void) -{ -} - -/*=======Setup (stub)=====*/ -void setUp(void) {} - -/*=======Teardown (stub)=====*/ -void tearDown(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(); -} - -/*=======MAIN=====*/ -int main(void) -{ - UnityBegin("test_casualQuiz.c"); - - return UnityEnd(); -} diff --git a/build/test/runners/test_quizduell_runner.c b/build/test/runners/test_quizduell_runner.c deleted file mode 100644 index a93b0e4..0000000 --- a/build/test/runners/test_quizduell_runner.c +++ /dev/null @@ -1,57 +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); - - -/*=======Mock Management=====*/ -static void CMock_Init(void) -{ - GlobalExpectCount = 0; - GlobalVerifyOrder = 0; - GlobalOrderError = NULL; -} -static void CMock_Verify(void) -{ -} -static void CMock_Destroy(void) -{ -} - -/*=======Setup (stub)=====*/ -void setUp(void) {} - -/*=======Teardown (stub)=====*/ -void tearDown(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(); -} - -/*=======MAIN=====*/ -int main(void) -{ - UnityBegin("test_quizduell.c"); - - return UnityEnd(); -} diff --git a/build/test/runners/test_timequiz_runner.c b/build/test/runners/test_timequiz_runner.c deleted file mode 100644 index cab2e2f..0000000 --- a/build/test/runners/test_timequiz_runner.c +++ /dev/null @@ -1,57 +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); - - -/*=======Mock Management=====*/ -static void CMock_Init(void) -{ - GlobalExpectCount = 0; - GlobalVerifyOrder = 0; - GlobalOrderError = NULL; -} -static void CMock_Verify(void) -{ -} -static void CMock_Destroy(void) -{ -} - -/*=======Setup (stub)=====*/ -void setUp(void) {} - -/*=======Teardown (stub)=====*/ -void tearDown(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(); -} - -/*=======MAIN=====*/ -int main(void) -{ - UnityBegin("test_timequiz.c"); - - return UnityEnd(); -} diff --git a/build/test/runners/test_wwm_runner.c b/build/test/runners/test_wwm_runner.c deleted file mode 100644 index cdd1eb8..0000000 --- a/build/test/runners/test_wwm_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_setGeld_1(void); -extern void test_setGeld_2(void); -extern void test_crandomNumber(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_wwm.c"); - run_test(test_setGeld_1, "test_setGeld_1", 14); - run_test(test_setGeld_2, "test_setGeld_2", 27); - run_test(test_crandomNumber, "test_crandomNumber", 36); - - return UnityEnd(); -} diff --git a/src/quizduell.c b/src/quizduell.c index e69de29..752db04 100644 --- a/src/quizduell.c +++ b/src/quizduell.c @@ -0,0 +1,206 @@ +#include "quizduell.h" +#include +#include +#include +#include + +int pruefeAntwort(QuizFrage frage, char antwort) { + return (frage.korrekteAntwort == antwort); +} + +QuizFrage erstelleFrage(const char* frage, const char* antwortA, const char* antwortB, const char* antwortC, const char* antwortD, char korrekteAntwort) { + QuizFrage neueFrage; + strcpy(neueFrage.frage, frage); + strcpy(neueFrage.antwortA, antwortA); + strcpy(neueFrage.antwortB, antwortB); + strcpy(neueFrage.antwortC, antwortC); + strcpy(neueFrage.antwortD, antwortD); + neueFrage.korrekteAntwort = korrekteAntwort; + return neueFrage; + +} + +int spieleKategorie(Kategorie* kategorie) { + int punktzahl = 0; + int jokerVerwendet = 0; + + for (int i = 0; i < kategorie->anzahlFragen; i++) { + char benutzerAntwort[10]; + + printf("\nQuestion %d:\n%s", i + 1, kategorie->fragen[i].frage); + + char jokerAntwort[10]; + + do { + printf("\nA) %s\nB) %s\nC) %s\nD) %s\n", kategorie->fragen[i].antwortA, kategorie->fragen[i].antwortB, kategorie->fragen[i].antwortC, kategorie->fragen[i].antwortD); + + if (!jokerVerwendet) { + printf("\nDo you want to use the joker? (Y/N): "); + scanf("%s", jokerAntwort); + printf(jokerAntwort); + + if (toupper(jokerAntwort[0]) == 'Y') { + if (kategorie->joker > 0) { + kategorie->joker -= 1; + jokerVerwendet = 1; + printf("Joker inserted! Two incorrect answer options were deleted.\n"); + + char korrekteAntwort = kategorie->fragen[i].korrekteAntwort; + int gestrichen = 0; + + for (char option = 'A'; option <= 'D'; option++) { + if (option != korrekteAntwort && gestrichen < 2) { + switch (option) { + case 'A': + strcpy(kategorie->fragen[i].antwortA, "XXXXXX"); + gestrichen++; + break; + case 'B': + strcpy(kategorie->fragen[i].antwortB, "XXXXXX"); + gestrichen++; + break; + case 'C': + strcpy(kategorie->fragen[i].antwortC, "XXXXXX"); + gestrichen++; + break; + case 'D': + strcpy(kategorie->fragen[i].antwortD, "XXXXXX"); + gestrichen++; + break; + } + } + } + + // Zeigt die Antworten erneut an + printf("\nA) %s\nB) %s\nC) %s\nD) %s\n", kategorie->fragen[i].antwortA, kategorie->fragen[i].antwortB, kategorie->fragen[i].antwortC, kategorie->fragen[i].antwortD); + + break; + + } + else { + printf("No Joker left. Choose a different Category.\n"); + } + } + else if (toupper(jokerAntwort[0]) == 'N') { + break; // Beendet die Schleife, wenn der Spieler keinen Joker verwenden möchte + } + else { + printf("Invalid input. Please type in 'Y'' for yes or 'N' for no.\n"); + } + } + else { + break; // Wenn der Joker bereits verwendet wurde, beendet die Schleife ohne nachzufragen + } + + printf("Your answer: "); + scanf("%s", benutzerAntwort); + + benutzerAntwort[0] = toupper(benutzerAntwort[0]); + getchar(); + + if (pruefeAntwort(kategorie->fragen[i], benutzerAntwort[0])) { + printf("Correct!\n"); + punktzahl++; + } + else { + printf("Wrong! The correct Answer is %c\n", kategorie->fragen[i].korrekteAntwort); + } + + } while (0); + } + return punktzahl; +} + +void zeigeVerfuegbareKategorien(Kategorie kategorien[]) { + printf("\nChoose a Category:\n"); + if (kategorien[0].fragen != NULL) printf("Mountains\n"); + if (kategorien[1].fragen != NULL) printf("Cooking\n"); + if (kategorien[2].fragen != NULL) printf("Sports\n"); +} + +void befreieKategorie(Kategorie* kategorie) { + free(kategorie->fragen); + kategorie->fragen = NULL; + kategorie->anzahlFragen = 0; + kategorie->joker = 0; +} + +void quizduell() { + printf("Welcome to the singleplayer quizduell!\n"); + + Kategorie kategorien[MAX_CATEGORIES]; + kategorien[0].fragen = (QuizFrage*)malloc(MAX_QUESTIONS_PER_CATEGORY * sizeof(QuizFrage)); + kategorien[0].fragen[0] = erstelleFrage("Whats the height of the Zugspitze?", "2482 Meter", "2867 Meter", "2962 Meter", "3173 Meter", 'C'); + kategorien[0].fragen[1] = erstelleFrage("In which Federal State is the Zugspitze?", "Bayern", "Baden-Wuerttemberg", "Hessen", "Thueringen", 'A'); + kategorien[0].fragen[2] = erstelleFrage("Which Mountain is the highest following after the Zugspitze?", "Grossglockner", "Watzmann", "Feldberg", "Meissner", 'B'); + kategorien[0].anzahlFragen = MAX_QUESTIONS_PER_CATEGORY; + kategorien[0].joker = 1; + + kategorien[1].fragen = (QuizFrage*)malloc(MAX_QUESTIONS_PER_CATEGORY * sizeof(QuizFrage)); + kategorien[1].fragen[0] = erstelleFrage("Which Ingredient is used traditionally for Pesto?", "Tomatoes", "Basil", "Spinach", "Oregano", 'B'); + kategorien[1].fragen[1] = erstelleFrage("Which meal is known for its usage of rice?", "Lasagna", "Sushi", "Pizza", "Hamburger", 'B'); + kategorien[1].fragen[2] = erstelleFrage("Which color has a ripe banana?", "Red", "Green", "Yellow", "Orange", 'C'); + kategorien[1].anzahlFragen = MAX_QUESTIONS_PER_CATEGORY; + kategorien[1].joker = 1; + + kategorien[2].fragen = (QuizFrage*)malloc(MAX_QUESTIONS_PER_CATEGORY * sizeof(QuizFrage)); + kategorien[2].fragen[0] = erstelleFrage("In which sport is the term 'home run' used?", "Soccer/Football", "Baseball", "Tennis", "Golf", 'B'); + kategorien[2].fragen[1] = erstelleFrage("How many players are there normally on the pitch in a soccer/football team?", "9", "11", "7", "5", 'B'); + kategorien[2].fragen[2] = erstelleFrage("What sport is played on a pitch and has a 'wicket'?", "Rugby", "Cricket", "American Football", "Hockey", 'B'); + kategorien[2].anzahlFragen = MAX_QUESTIONS_PER_CATEGORY; + kategorien[2].joker = 1; + + while (1) { + char auswahl[50]; + + zeigeVerfuegbareKategorien(kategorien); + + printf("Your selection: "); + scanf("%s", auswahl); + + int auswahlIndex = -1; + + for (int i = 0; i < MAX_CATEGORIES; i++) { + if (kategorien[i].fragen != NULL && strcmp(auswahl, "Mountains") == 0) { + auswahlIndex = 0; + break; + } + else if (kategorien[i].fragen != NULL && strcmp(auswahl, "Cooking") == 0) { + auswahlIndex = 1; + break; + } + else if (kategorien[i].fragen != NULL && strcmp(auswahl, "Sports") == 0) { + auswahlIndex = 2; + break; + } + } + + if (auswahlIndex != -1 && kategorien[auswahlIndex].fragen != NULL) { + int punkte = spieleKategorie(&kategorien[auswahlIndex]); + printf("\nPoints in this category: %d\n", punkte); + + befreieKategorie(&kategorien[auswahlIndex]); + } + + else { + + printf("Invalid selection.\n"); + + } + + int verfuegbareKategorien = 0; + for (int i = 0; i < MAX_CATEGORIES; i++) { + if (kategorien[i].fragen != NULL) { + verfuegbareKategorien++; + } + } + + if (verfuegbareKategorien == 0) { + printf("No more available categories. Game over!\n"); + return; + } + + return; + + } +} \ No newline at end of file diff --git a/src/quizduell.h b/src/quizduell.h index 631b6bd..96ec749 100644 --- a/src/quizduell.h +++ b/src/quizduell.h @@ -1,6 +1,31 @@ #ifndef QUIZDUELL_H #define QUIZDUELL_H +#define MAX_FRAGE_LENGTH 100 +#define MAX_ANTWORT_LENGTH 50 +#define MAX_CATEGORIES 3 +#define MAX_QUESTIONS_PER_CATEGORY 3 + +typedef struct { + char frage[MAX_FRAGE_LENGTH]; + char antwortA[MAX_ANTWORT_LENGTH]; + char antwortB[MAX_ANTWORT_LENGTH]; + char antwortC[MAX_ANTWORT_LENGTH]; + char antwortD[MAX_ANTWORT_LENGTH]; + char korrekteAntwort; +} QuizFrage; + +typedef struct { + QuizFrage* fragen; + int anzahlFragen; + int joker; +} Kategorie; + +int pruefeAntwort(QuizFrage frage, char antwort); +QuizFrage erstelleFrage(const char* frage, const char* antwortA, const char* antwortB, const char* antwortC, const char* antwortD, char korrekteAntwort); +int spieleKategorie(Kategorie* kategorie); +void zeigeVerfuegbareKategorien(Kategorie kategorien[]); +void befreieKategorie(Kategorie* kategorie); void quizduell(); #endif // ende QUIZDUELL_H diff --git a/test/test_quizduell.c b/test/test_quizduell.c index e69de29..391d8d5 100644 --- a/test/test_quizduell.c +++ b/test/test_quizduell.c @@ -0,0 +1,190 @@ +#ifdef TEST + +#include +#include +#include "unity.h" +#include "quizduell.h" + +void setUp(void) {} + +void tearDown(void) {} + +void test_erstelleFrage(void) { + QuizFrage testFrage = erstelleFrage("Testfrage", "AntwortA", "AntwortB", "AntwortC", "AntwortD", 'A'); + + TEST_ASSERT_EQUAL_STRING("Testfrage", testFrage.frage); + TEST_ASSERT_EQUAL_STRING("AntwortA", testFrage.antwortA); + TEST_ASSERT_EQUAL_STRING("AntwortB", testFrage.antwortB); + TEST_ASSERT_EQUAL_STRING("AntwortC", testFrage.antwortC); + TEST_ASSERT_EQUAL_STRING("AntwortD", testFrage.antwortD); + TEST_ASSERT_EQUAL_CHAR('A', testFrage.korrekteAntwort); +} + +void test_CookingFragen(void) { + Kategorie kategorien[MAX_CATEGORIES]; + + kategorien[1].fragen = (QuizFrage*)malloc(MAX_QUESTIONS_PER_CATEGORY * sizeof(QuizFrage)); + + kategorien[1].fragen[0] = erstelleFrage("Which Ingredient is used traditionally for Pesto?", "Tomatoes", "Basil", "Spinach", "Oregano", 'B'); + kategorien[1].fragen[1] = erstelleFrage("Which meal is known for its usage of rice?", "Lasagna", "Sushi", "Pizza", "Hamburger", 'B'); + kategorien[1].fragen[2] = erstelleFrage("Which color has a ripe banana?", "Red", "Green", "Yellow", "Orange", 'C'); + + kategorien[1].anzahlFragen = MAX_QUESTIONS_PER_CATEGORY; + kategorien[1].joker = 1; + + TEST_ASSERT_EQUAL_STRING("Which Ingredient is used traditionally for Pesto?", kategorien[1].fragen[0].frage); + TEST_ASSERT_EQUAL_STRING("Tomatoes", kategorien[1].fragen[0].antwortA); + TEST_ASSERT_EQUAL_STRING("Basil", kategorien[1].fragen[0].antwortB); + TEST_ASSERT_EQUAL_STRING("Spinach", kategorien[1].fragen[0].antwortC); + TEST_ASSERT_EQUAL_STRING("Oregano", kategorien[1].fragen[0].antwortD); + TEST_ASSERT_EQUAL_CHAR('B', kategorien[1].fragen[0].korrekteAntwort); + + + free(kategorien[1].fragen); +} +void test_MountainsFragen(void) { + Kategorie kategorien[MAX_CATEGORIES]; + + kategorien[0].fragen = (QuizFrage*)malloc(MAX_QUESTIONS_PER_CATEGORY * sizeof(QuizFrage)); + + kategorien[0].fragen[0] = erstelleFrage("Whats the height of the Zugspitze?", "2482 Meter", "2867 Meter", "2962 Meter", "3173 Meter", 'C'); + kategorien[0].fragen[1] = erstelleFrage("In which Federal State is the Zugspitze?", "Bayern", "Baden-Wuerttemberg", "Hessen", "Thueringen", 'A'); + kategorien[0].fragen[2] = erstelleFrage("Which Mountain is the highest following after the Zugspitze?", "Grossglockner", "Watzmann", "Feldberg", "Meissner", 'B'); + + kategorien[0].anzahlFragen = MAX_QUESTIONS_PER_CATEGORY; + kategorien[0].joker = 1; + + TEST_ASSERT_EQUAL_STRING("Whats the height of the Zugspitze?", kategorien[0].fragen[0].frage); + TEST_ASSERT_EQUAL_STRING("2482 Meter", kategorien[0].fragen[0].antwortA); + TEST_ASSERT_EQUAL_STRING("2867 Meter", kategorien[0].fragen[0].antwortB); + TEST_ASSERT_EQUAL_STRING("2962 Meter", kategorien[0].fragen[0].antwortC); + TEST_ASSERT_EQUAL_STRING("3173 Meter", kategorien[0].fragen[0].antwortD); + TEST_ASSERT_EQUAL_CHAR('C', kategorien[0].fragen[0].korrekteAntwort); + + free(kategorien[0].fragen); +} +void test_createCategory2WithQuestions(void) { + Kategorie kategorien[MAX_CATEGORIES]; + + kategorien[2].fragen = (QuizFrage*)malloc(MAX_QUESTIONS_PER_CATEGORY * sizeof(QuizFrage)); + + kategorien[2].fragen[0] = erstelleFrage("In which sport is the term 'home run' used?", "Soccer/Football", "Baseball", "Tennis", "Golf", 'B'); + kategorien[2].fragen[1] = erstelleFrage("How many players are there normally on the pitch in a soccer/football team?", "9", "11", "7", "5", 'B'); + kategorien[2].fragen[2] = erstelleFrage("What sport is played on a pitch and has a 'wicket'?", "Rugby", "Cricket", "American Football", "Hockey", 'B'); + + kategorien[2].anzahlFragen = MAX_QUESTIONS_PER_CATEGORY; + kategorien[2].joker = 1; + + TEST_ASSERT_EQUAL_STRING("In which sport is the term 'home run' used?", kategorien[2].fragen[0].frage); + TEST_ASSERT_EQUAL_STRING("Soccer/Football", kategorien[2].fragen[0].antwortA); + TEST_ASSERT_EQUAL_STRING("Baseball", kategorien[2].fragen[0].antwortB); + TEST_ASSERT_EQUAL_STRING("Tennis", kategorien[2].fragen[0].antwortC); + TEST_ASSERT_EQUAL_STRING("Golf", kategorien[2].fragen[0].antwortD); + TEST_ASSERT_EQUAL_CHAR('B', kategorien[2].fragen[0].korrekteAntwort); + + free(kategorien[2].fragen); +} +void test_befreieKategorie(void) { + Kategorie testKategorie; + testKategorie.fragen = (QuizFrage*)malloc(MAX_QUESTIONS_PER_CATEGORY * sizeof(QuizFrage)); + testKategorie.anzahlFragen = 3; + testKategorie.joker = 1; + + befreieKategorie(&testKategorie); + + TEST_ASSERT_NULL(testKategorie.fragen); + TEST_ASSERT_EQUAL_INT(0, testKategorie.anzahlFragen); + TEST_ASSERT_EQUAL_INT(0, testKategorie.joker); +} +void test_pruefeAntwort_CorrectAnswer(void) { + QuizFrage frage = erstelleFrage("Test Question", "Option A", "Option B", "Option C", "Option D", 'A'); + TEST_ASSERT_EQUAL_INT(1, pruefeAntwort(frage, 'A')); +} +void test_pruefeAntwort_WrongAnswer(void) { + QuizFrage frage = erstelleFrage("Test Question", "Option A", "Option B", "Option C", "Option D", 'A'); + TEST_ASSERT_EQUAL_INT(0, pruefeAntwort(frage, 'B')); +} +void test_sportsCategoryInitialization(void) { + Kategorie kategorien[MAX_CATEGORIES]; + + kategorien[2].fragen = (QuizFrage*)malloc(MAX_QUESTIONS_PER_CATEGORY * sizeof(QuizFrage)); + + kategorien[2].fragen[0] = erstelleFrage("In which sport is the term 'home run' used?", "Soccer/Football", "Baseball", "Tennis", "Golf", 'B'); + kategorien[2].fragen[1] = erstelleFrage("How many players are there normally on the pitch in a soccer/football team?", "9", "11", "7", "5", 'B'); + kategorien[2].fragen[2] = erstelleFrage("What sport is played on a pitch and has a 'wicket'?", "Rugby", "Cricket", "American Football", "Hockey", 'B'); + kategorien[2].anzahlFragen = MAX_QUESTIONS_PER_CATEGORY; + kategorien[2].joker = 1; + + TEST_ASSERT_NOT_NULL(kategorien[2].fragen); + TEST_ASSERT_EQUAL_STRING("In which sport is the term 'home run' used?", kategorien[2].fragen[0].frage); + TEST_ASSERT_EQUAL_STRING("Soccer/Football", kategorien[2].fragen[0].antwortA); + TEST_ASSERT_EQUAL_STRING("Baseball", kategorien[2].fragen[0].antwortB); + TEST_ASSERT_EQUAL_STRING("Tennis", kategorien[2].fragen[0].antwortC); + TEST_ASSERT_EQUAL_STRING("Golf", kategorien[2].fragen[0].antwortD); + TEST_ASSERT_EQUAL('B', kategorien[2].fragen[0].korrekteAntwort); + TEST_ASSERT_EQUAL_STRING("How many players are there normally on the pitch in a soccer/football team?", kategorien[2].fragen[1].frage); + TEST_ASSERT_EQUAL_STRING("9", kategorien[2].fragen[1].antwortA); + TEST_ASSERT_EQUAL_STRING("11", kategorien[2].fragen[1].antwortB); + TEST_ASSERT_EQUAL_STRING("7", kategorien[2].fragen[1].antwortC); + TEST_ASSERT_EQUAL_STRING("5", kategorien[2].fragen[1].antwortD); + TEST_ASSERT_EQUAL('B', kategorien[2].fragen[1].korrekteAntwort); + TEST_ASSERT_EQUAL_STRING("What sport is played on a pitch and has a 'wicket'?", kategorien[2].fragen[2].frage); + TEST_ASSERT_EQUAL_STRING("Rugby", kategorien[2].fragen[2].antwortA); + TEST_ASSERT_EQUAL_STRING("Cricket", kategorien[2].fragen[2].antwortB); + TEST_ASSERT_EQUAL_STRING("American Football", kategorien[2].fragen[2].antwortC); + TEST_ASSERT_EQUAL_STRING("Hockey", kategorien[2].fragen[2].antwortD); + TEST_ASSERT_EQUAL('B', kategorien[2].fragen[2].korrekteAntwort); + TEST_ASSERT_EQUAL(MAX_QUESTIONS_PER_CATEGORY, kategorien[2].anzahlFragen); + TEST_ASSERT_EQUAL(1, kategorien[2].joker); + + free(kategorien[2].fragen); + kategorien[2].fragen = NULL; +} +void test_categorySelection_Cooking(void) { + Kategorie kategorien[MAX_CATEGORIES]; + + char auswahl[50] = "Cooking"; + + int auswahlIndex = -1; + + for (int i = 0; i < MAX_CATEGORIES; i++) { + if (kategorien[i].fragen != NULL && strcmp(auswahl, "Mountains") == 0) { + auswahlIndex = 0; + break; + } + else if (kategorien[i].fragen != NULL && strcmp(auswahl, "Cooking") == 0) { + auswahlIndex = 1; + break; + } + else if (kategorien[i].fragen != NULL && strcmp(auswahl, "Sports") == 0) { + auswahlIndex = 2; + break; + } + } + TEST_ASSERT_EQUAL(1, auswahlIndex); +} +void test_categorySelection_Sports(void) { + Kategorie kategorien[MAX_CATEGORIES]; + + char auswahl[50] = "Sports"; + + int auswahlIndex = -1; + + for (int i = 0; i < MAX_CATEGORIES; i++) { + if (kategorien[i].fragen != NULL && strcmp(auswahl, "Mountains") == 0) { + auswahlIndex = 0; + break; + } + else if (kategorien[i].fragen != NULL && strcmp(auswahl, "Cooking") == 0) { + auswahlIndex = 1; + break; + } + else if (kategorien[i].fragen != NULL && strcmp(auswahl, "Sports") == 0) { + auswahlIndex = 2; + break; + } + } + + TEST_ASSERT_EQUAL(2, auswahlIndex); +} +#endif //TEST \ No newline at end of file