diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..06b0842
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "C_Cpp.dimInactiveRegions": false
+}
\ No newline at end of file
diff --git a/build/artifacts/test/report.xml b/build/artifacts/test/report.xml
new file mode 100644
index 0000000..b2e0187
--- /dev/null
+++ b/build/artifacts/test/report.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ test/test_Input.c::test_getUserInput
+
+
+ test/test_Moving.c::test_Bauern_bewegen
+
+
+ test/test_Schachbrett.c::test_Schachbrett_erstellen
+
+
+
+
+ 3
+ 0
+ 0
+ 0
+ 0
+
+
diff --git a/build/test/cache/defines_dependency.yml b/build/test/cache/defines_dependency.yml
new file mode 100644
index 0000000..d665b37
--- /dev/null
+++ b/build/test/cache/defines_dependency.yml
@@ -0,0 +1,7 @@
+---
+src/Input.c:
+- TEST
+src/Schachbrett.c:
+- TEST
+src/Moving.c:
+- TEST
diff --git a/build/test/cache/input.yml b/build/test/cache/input.yml
new file mode 100644
index 0000000..c123a99
--- /dev/null
+++ b/build/test/cache/input.yml
@@ -0,0 +1,244 @@
+---
+: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-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor
+ :defines: []
+:cmock:
+ :vendor_path: C:/Ruby30-x64/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-x64/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-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/../plugins
+ :enabled:
+ - stdout_pretty_tests_report
+ - module_generator
+ - xml_tests_report
+ :display_raw_test_results: false
+ :stdout_pretty_tests_report_path: C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/../plugins/stdout_pretty_tests_report
+ :module_generator_path: C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/../plugins/module_generator
+ :xml_tests_report_path: C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/../plugins/xml_tests_report
+: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_Input.c b/build/test/cache/test_Input.c
new file mode 100644
index 0000000..2dfe949
--- /dev/null
+++ b/build/test/cache/test_Input.c
@@ -0,0 +1,67 @@
+#include "src/Input.h"
+#include "C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h"
+
+
+
+
+
+
+void setUp(void) {
+
+}
+
+
+
+void tearDown(void) {
+
+}
+
+
+
+void test_getUserInput(void) {
+
+ const char *test_input = "a1";
+
+ FILE *tempInputFile;
+
+
+
+ tempInputFile = fopen("temp_input.txt", "w");
+
+ fprintf(tempInputFile, "%s\n", test_input);
+
+ fclose(tempInputFile);
+
+
+
+
+
+ tempInputFile = freopen("temp_input.txt", "r",
+
+ (__acrt_iob_func(0))
+
+ );
+
+
+
+
+
+ char *actual_input = getUserInput();
+
+ UnityAssertEqualString((const char*)((test_input)), (const char*)((actual_input)), (
+
+ ((void *)0)
+
+ ), (UNITY_UINT)(38));
+
+
+
+
+
+ free(actual_input);
+
+ fclose(tempInputFile);
+
+ remove("temp_input.txt");
+
+}
diff --git a/build/test/cache/test_Moving.c b/build/test/cache/test_Moving.c
new file mode 100644
index 0000000..d974b57
--- /dev/null
+++ b/build/test/cache/test_Moving.c
@@ -0,0 +1,75 @@
+#include "src/Spieler.h"
+#include "src/Moving.h"
+#include "src/Schachbrett.h"
+#include "C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h"
+
+
+
+
+void setUp(void) {
+
+}
+
+
+
+void tearDown(void) {
+
+}
+
+
+
+void test_Bauern_bewegen(void) {
+
+ char** brett = Schachbrett_erstellen();
+
+ int startX = 0;
+
+ int startY = 1;
+
+ int endX = 0;
+
+ int endY = 2;
+
+ Player player = PLAYER_WHITE;
+
+
+
+
+
+ do {if ((((brett)) !=
+
+ ((void *)0)
+
+ )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(22))));}} while(0);
+
+
+
+ machezug( brett, startX, startY, endX, endY, player);
+
+
+
+ UnityAssertEqualNumber((UNITY_INT)(('P')), (UNITY_INT)((brett[0][2])), (
+
+ ((void *)0)
+
+ ), (UNITY_UINT)(26), UNITY_DISPLAY_STYLE_INT);
+
+ UnityAssertEqualNumber((UNITY_INT)((' ')), (UNITY_INT)((brett[0][1])), (
+
+ ((void *)0)
+
+ ), (UNITY_UINT)(27), UNITY_DISPLAY_STYLE_INT);
+
+
+
+
+
+ for (int i = 0; i < 8; i++) {
+
+ free(brett[i]);
+
+ }
+
+ free(brett);
+
+}
diff --git a/build/test/cache/test_Schachbrett.c b/build/test/cache/test_Schachbrett.c
new file mode 100644
index 0000000..184e5d8
--- /dev/null
+++ b/build/test/cache/test_Schachbrett.c
@@ -0,0 +1,63 @@
+#include "src/Schachbrett.h"
+#include "C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h"
+
+
+
+
+void setUp(void) {
+
+}
+
+
+
+void tearDown(void) {
+
+}
+
+
+
+void test_Schachbrett_erstellen(void) {
+
+ char** brett = Schachbrett_erstellen();
+
+
+
+ do {if ((((brett)) !=
+
+ ((void *)0)
+
+ )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(15))));}} while(0);
+
+
+
+
+
+ UnityAssertEqualNumber((UNITY_INT)(('R')), (UNITY_INT)((brett[0][0])), (
+
+ ((void *)0)
+
+ ), (UNITY_UINT)(18), UNITY_DISPLAY_STYLE_INT);
+
+ UnityAssertEqualNumber((UNITY_INT)(('p')), (UNITY_INT)((brett[6][0])), (
+
+ ((void *)0)
+
+ ), (UNITY_UINT)(19), UNITY_DISPLAY_STYLE_INT);
+
+ UnityAssertEqualNumber((UNITY_INT)((' ')), (UNITY_INT)((brett[4][4])), (
+
+ ((void *)0)
+
+ ), (UNITY_UINT)(20), UNITY_DISPLAY_STYLE_INT);
+
+
+
+ for (int i = 0; i < 8; i++) {
+
+ free(brett[i]);
+
+ }
+
+ free(brett);
+
+}
diff --git a/build/test/dependencies/Input.d b/build/test/dependencies/Input.d
new file mode 100644
index 0000000..813cbf7
--- /dev/null
+++ b/build/test/dependencies/Input.d
@@ -0,0 +1 @@
+build/test/out/c/Input.o: src/Input.c
diff --git a/build/test/dependencies/Moving.d b/build/test/dependencies/Moving.d
new file mode 100644
index 0000000..55e658d
--- /dev/null
+++ b/build/test/dependencies/Moving.d
@@ -0,0 +1 @@
+build/test/out/c/Moving.o: src/Moving.c src/spieler.h
diff --git a/build/test/dependencies/Schachbrett.d b/build/test/dependencies/Schachbrett.d
new file mode 100644
index 0000000..5f87cef
--- /dev/null
+++ b/build/test/dependencies/Schachbrett.d
@@ -0,0 +1 @@
+build/test/out/c/Schachbrett.o: src/Schachbrett.c
diff --git a/build/test/dependencies/cmock.d b/build/test/dependencies/cmock.d
new file mode 100644
index 0000000..bdf4cc9
--- /dev/null
+++ b/build/test/dependencies/cmock.d
@@ -0,0 +1,6 @@
+build/test/out/c/cmock.o: \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.c \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.h \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock_internals.h \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h
diff --git a/build/test/dependencies/test_Input.d b/build/test/dependencies/test_Input.d
new file mode 100644
index 0000000..874bc20
--- /dev/null
+++ b/build/test/dependencies/test_Input.d
@@ -0,0 +1,4 @@
+build/test/out/c/test_Input.o: test/test_Input.c \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h \
+ src/Input.h
diff --git a/build/test/dependencies/test_Input_runner.d b/build/test/dependencies/test_Input_runner.d
new file mode 100644
index 0000000..870d17d
--- /dev/null
+++ b/build/test/dependencies/test_Input_runner.d
@@ -0,0 +1,4 @@
+build/test/out/c/test_Input_runner.o: \
+ build/test/runners/test_Input_runner.c \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h
diff --git a/build/test/dependencies/test_Moving.d b/build/test/dependencies/test_Moving.d
new file mode 100644
index 0000000..ba306a1
--- /dev/null
+++ b/build/test/dependencies/test_Moving.d
@@ -0,0 +1,4 @@
+build/test/out/c/test_Moving.o: test/test_Moving.c \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h \
+ src/Schachbrett.h src/Moving.h src/spieler.h src/Spieler.h
diff --git a/build/test/dependencies/test_Moving_runner.d b/build/test/dependencies/test_Moving_runner.d
new file mode 100644
index 0000000..8a481db
--- /dev/null
+++ b/build/test/dependencies/test_Moving_runner.d
@@ -0,0 +1,4 @@
+build/test/out/c/test_Moving_runner.o: \
+ build/test/runners/test_Moving_runner.c \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h
diff --git a/build/test/dependencies/test_Schachbrett.d b/build/test/dependencies/test_Schachbrett.d
new file mode 100644
index 0000000..1b35295
--- /dev/null
+++ b/build/test/dependencies/test_Schachbrett.d
@@ -0,0 +1,4 @@
+build/test/out/c/test_Schachbrett.o: test/test_Schachbrett.c \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h \
+ src/Schachbrett.h
diff --git a/build/test/dependencies/test_Schachbrett_runner.d b/build/test/dependencies/test_Schachbrett_runner.d
new file mode 100644
index 0000000..462c294
--- /dev/null
+++ b/build/test/dependencies/test_Schachbrett_runner.d
@@ -0,0 +1,4 @@
+build/test/out/c/test_Schachbrett_runner.o: \
+ build/test/runners/test_Schachbrett_runner.c \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \
+ C:/Ruby30-x64/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
new file mode 100644
index 0000000..0baf56c
--- /dev/null
+++ b/build/test/dependencies/unity.d
@@ -0,0 +1,4 @@
+build/test/out/c/unity.o: \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.c \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \
+ C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h
diff --git a/build/test/out/c/Input.o b/build/test/out/c/Input.o
new file mode 100644
index 0000000..92d40c6
Binary files /dev/null and b/build/test/out/c/Input.o differ
diff --git a/build/test/out/c/Moving.o b/build/test/out/c/Moving.o
new file mode 100644
index 0000000..9141142
Binary files /dev/null and b/build/test/out/c/Moving.o differ
diff --git a/build/test/out/c/Schachbrett.o b/build/test/out/c/Schachbrett.o
new file mode 100644
index 0000000..c0a1d98
Binary files /dev/null and b/build/test/out/c/Schachbrett.o differ
diff --git a/build/test/out/c/cmock.o b/build/test/out/c/cmock.o
new file mode 100644
index 0000000..6e80141
Binary files /dev/null and b/build/test/out/c/cmock.o differ
diff --git a/build/test/out/c/test_Input.o b/build/test/out/c/test_Input.o
new file mode 100644
index 0000000..d802e02
Binary files /dev/null and b/build/test/out/c/test_Input.o differ
diff --git a/build/test/out/c/test_Input_runner.o b/build/test/out/c/test_Input_runner.o
new file mode 100644
index 0000000..a3a30cf
Binary files /dev/null and b/build/test/out/c/test_Input_runner.o differ
diff --git a/build/test/out/c/test_Moving.o b/build/test/out/c/test_Moving.o
new file mode 100644
index 0000000..ed25842
Binary files /dev/null and b/build/test/out/c/test_Moving.o differ
diff --git a/build/test/out/c/test_Moving_runner.o b/build/test/out/c/test_Moving_runner.o
new file mode 100644
index 0000000..f7fd8bf
Binary files /dev/null and b/build/test/out/c/test_Moving_runner.o differ
diff --git a/build/test/out/c/test_Schachbrett.o b/build/test/out/c/test_Schachbrett.o
new file mode 100644
index 0000000..36a112b
Binary files /dev/null and b/build/test/out/c/test_Schachbrett.o differ
diff --git a/build/test/out/c/test_Schachbrett_runner.o b/build/test/out/c/test_Schachbrett_runner.o
new file mode 100644
index 0000000..af84a9b
Binary files /dev/null and b/build/test/out/c/test_Schachbrett_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..a836583
Binary files /dev/null and b/build/test/out/c/unity.o differ
diff --git a/build/test/out/test_Input.out b/build/test/out/test_Input.out
new file mode 100644
index 0000000..0d184f5
Binary files /dev/null and b/build/test/out/test_Input.out differ
diff --git a/build/test/out/test_Moving.out b/build/test/out/test_Moving.out
new file mode 100644
index 0000000..b16863e
Binary files /dev/null and b/build/test/out/test_Moving.out differ
diff --git a/build/test/out/test_Schachbrett.out b/build/test/out/test_Schachbrett.out
new file mode 100644
index 0000000..49f9841
Binary files /dev/null and b/build/test/out/test_Schachbrett.out differ
diff --git a/build/test/preprocess/files/test_Input.c b/build/test/preprocess/files/test_Input.c
new file mode 100644
index 0000000..2dfe949
--- /dev/null
+++ b/build/test/preprocess/files/test_Input.c
@@ -0,0 +1,67 @@
+#include "src/Input.h"
+#include "C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h"
+
+
+
+
+
+
+void setUp(void) {
+
+}
+
+
+
+void tearDown(void) {
+
+}
+
+
+
+void test_getUserInput(void) {
+
+ const char *test_input = "a1";
+
+ FILE *tempInputFile;
+
+
+
+ tempInputFile = fopen("temp_input.txt", "w");
+
+ fprintf(tempInputFile, "%s\n", test_input);
+
+ fclose(tempInputFile);
+
+
+
+
+
+ tempInputFile = freopen("temp_input.txt", "r",
+
+ (__acrt_iob_func(0))
+
+ );
+
+
+
+
+
+ char *actual_input = getUserInput();
+
+ UnityAssertEqualString((const char*)((test_input)), (const char*)((actual_input)), (
+
+ ((void *)0)
+
+ ), (UNITY_UINT)(38));
+
+
+
+
+
+ free(actual_input);
+
+ fclose(tempInputFile);
+
+ remove("temp_input.txt");
+
+}
diff --git a/build/test/preprocess/files/test_Moving.c b/build/test/preprocess/files/test_Moving.c
new file mode 100644
index 0000000..d974b57
--- /dev/null
+++ b/build/test/preprocess/files/test_Moving.c
@@ -0,0 +1,75 @@
+#include "src/Spieler.h"
+#include "src/Moving.h"
+#include "src/Schachbrett.h"
+#include "C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h"
+
+
+
+
+void setUp(void) {
+
+}
+
+
+
+void tearDown(void) {
+
+}
+
+
+
+void test_Bauern_bewegen(void) {
+
+ char** brett = Schachbrett_erstellen();
+
+ int startX = 0;
+
+ int startY = 1;
+
+ int endX = 0;
+
+ int endY = 2;
+
+ Player player = PLAYER_WHITE;
+
+
+
+
+
+ do {if ((((brett)) !=
+
+ ((void *)0)
+
+ )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(22))));}} while(0);
+
+
+
+ machezug( brett, startX, startY, endX, endY, player);
+
+
+
+ UnityAssertEqualNumber((UNITY_INT)(('P')), (UNITY_INT)((brett[0][2])), (
+
+ ((void *)0)
+
+ ), (UNITY_UINT)(26), UNITY_DISPLAY_STYLE_INT);
+
+ UnityAssertEqualNumber((UNITY_INT)((' ')), (UNITY_INT)((brett[0][1])), (
+
+ ((void *)0)
+
+ ), (UNITY_UINT)(27), UNITY_DISPLAY_STYLE_INT);
+
+
+
+
+
+ for (int i = 0; i < 8; i++) {
+
+ free(brett[i]);
+
+ }
+
+ free(brett);
+
+}
diff --git a/build/test/preprocess/files/test_Schachbrett.c b/build/test/preprocess/files/test_Schachbrett.c
new file mode 100644
index 0000000..184e5d8
--- /dev/null
+++ b/build/test/preprocess/files/test_Schachbrett.c
@@ -0,0 +1,63 @@
+#include "src/Schachbrett.h"
+#include "C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h"
+
+
+
+
+void setUp(void) {
+
+}
+
+
+
+void tearDown(void) {
+
+}
+
+
+
+void test_Schachbrett_erstellen(void) {
+
+ char** brett = Schachbrett_erstellen();
+
+
+
+ do {if ((((brett)) !=
+
+ ((void *)0)
+
+ )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(15))));}} while(0);
+
+
+
+
+
+ UnityAssertEqualNumber((UNITY_INT)(('R')), (UNITY_INT)((brett[0][0])), (
+
+ ((void *)0)
+
+ ), (UNITY_UINT)(18), UNITY_DISPLAY_STYLE_INT);
+
+ UnityAssertEqualNumber((UNITY_INT)(('p')), (UNITY_INT)((brett[6][0])), (
+
+ ((void *)0)
+
+ ), (UNITY_UINT)(19), UNITY_DISPLAY_STYLE_INT);
+
+ UnityAssertEqualNumber((UNITY_INT)((' ')), (UNITY_INT)((brett[4][4])), (
+
+ ((void *)0)
+
+ ), (UNITY_UINT)(20), UNITY_DISPLAY_STYLE_INT);
+
+
+
+ for (int i = 0; i < 8; i++) {
+
+ free(brett[i]);
+
+ }
+
+ free(brett);
+
+}
diff --git a/build/test/preprocess/includes/test_Input.c b/build/test/preprocess/includes/test_Input.c
new file mode 100644
index 0000000..f7e1f34
--- /dev/null
+++ b/build/test/preprocess/includes/test_Input.c
@@ -0,0 +1,3 @@
+---
+- C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h
+- src/Input.h
diff --git a/build/test/preprocess/includes/test_Moving.c b/build/test/preprocess/includes/test_Moving.c
new file mode 100644
index 0000000..daf1b20
--- /dev/null
+++ b/build/test/preprocess/includes/test_Moving.c
@@ -0,0 +1,5 @@
+---
+- C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h
+- src/Schachbrett.h
+- src/Moving.h
+- src/Spieler.h
diff --git a/build/test/preprocess/includes/test_Schachbrett.c b/build/test/preprocess/includes/test_Schachbrett.c
new file mode 100644
index 0000000..da56b6a
--- /dev/null
+++ b/build/test/preprocess/includes/test_Schachbrett.c
@@ -0,0 +1,3 @@
+---
+- C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h
+- src/Schachbrett.h
diff --git a/build/test/results/test_Input.pass b/build/test/results/test_Input.pass
new file mode 100644
index 0000000..a648d34
--- /dev/null
+++ b/build/test/results/test_Input.pass
@@ -0,0 +1,19 @@
+---
+:source:
+ :path: test
+ :file: test_Input.c
+:successes:
+- :test: test_getUserInput
+ :line: 13
+ :message: ''
+ :unity_test_time: 0
+:failures: []
+:ignores: []
+:counts:
+ :total: 1
+ :passed: 1
+ :failed: 0
+ :ignored: 0
+:stdout:
+- "-> "
+:time: 0.035566499980632216
diff --git a/build/test/results/test_Moving.pass b/build/test/results/test_Moving.pass
new file mode 100644
index 0000000..599e3d0
--- /dev/null
+++ b/build/test/results/test_Moving.pass
@@ -0,0 +1,18 @@
+---
+:source:
+ :path: test
+ :file: test_Moving.c
+:successes:
+- :test: test_Bauern_bewegen
+ :line: 13
+ :message: ''
+ :unity_test_time: 0
+:failures: []
+:ignores: []
+:counts:
+ :total: 1
+ :passed: 1
+ :failed: 0
+ :ignored: 0
+:stdout: []
+:time: 0.032800800050608814
diff --git a/build/test/results/test_Schachbrett.pass b/build/test/results/test_Schachbrett.pass
new file mode 100644
index 0000000..28ad2b5
--- /dev/null
+++ b/build/test/results/test_Schachbrett.pass
@@ -0,0 +1,18 @@
+---
+:source:
+ :path: test
+ :file: test_Schachbrett.c
+:successes:
+- :test: test_Schachbrett_erstellen
+ :line: 12
+ :message: ''
+ :unity_test_time: 0
+:failures: []
+:ignores: []
+:counts:
+ :total: 1
+ :passed: 1
+ :failed: 0
+ :ignored: 0
+:stdout: []
+:time: 0.033765100000891834
diff --git a/build/test/runners/test_Input_runner.c b/build/test/runners/test_Input_runner.c
new file mode 100644
index 0000000..221ce52
--- /dev/null
+++ b/build/test/runners/test_Input_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_getUserInput(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_Input.c");
+ run_test(test_getUserInput, "test_getUserInput", 13);
+
+ return UnityEnd();
+}
diff --git a/build/test/runners/test_Moving_runner.c b/build/test/runners/test_Moving_runner.c
new file mode 100644
index 0000000..16910fb
--- /dev/null
+++ b/build/test/runners/test_Moving_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_Bauern_bewegen(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_Moving.c");
+ run_test(test_Bauern_bewegen, "test_Bauern_bewegen", 13);
+
+ return UnityEnd();
+}
diff --git a/build/test/runners/test_Schachbrett_runner.c b/build/test/runners/test_Schachbrett_runner.c
new file mode 100644
index 0000000..7a8a641
--- /dev/null
+++ b/build/test/runners/test_Schachbrett_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_Schachbrett_erstellen(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_Schachbrett.c");
+ run_test(test_Schachbrett_erstellen, "test_Schachbrett_erstellen", 12);
+
+ return UnityEnd();
+}
diff --git a/src/Moving.c b/src/Moving.c
index f15e0ce..a89af87 100644
--- a/src/Moving.c
+++ b/src/Moving.c
@@ -11,7 +11,13 @@ bool istzugerlaubt(char** Brett, int startX, int startY, int endX, int endY, Pla
return true wenn möglich oder false falls nicht.
*/
+ return true;
}
-void machezug(char** Brett, int startX, int startY, int endX, int endY) {
+void machezug(char** Brett, int startX, int startY, int endX, int endY,Player player) {
//wenn istzugerlaubt true ist wird das hier ausgeführt
+
+ if(istzugerlaubt(Brett,startX,startY,endX,endY,player) == true){
+ Brett[endX][endY] = Brett[startY][startX];
+ Brett[startX][startY] = ' ';
+ }
}
diff --git a/src/Moving.h b/src/Moving.h
index 8a9c252..24b8a08 100644
--- a/src/Moving.h
+++ b/src/Moving.h
@@ -5,6 +5,6 @@
#include "spieler.h"
bool istzugerlaubt(char** Brett, int startX, int startY, int endX, int endY, Player player);
-void machezug(char** Brett, int startX, int startY, int endX, int endY);
+void machezug(char** Brett, int startX, int startY, int endX, int endY, Player player);
#endif // MOVING_H
\ No newline at end of file
diff --git a/test/test_Moving.c b/test/test_Moving.c
new file mode 100644
index 0000000..630830c
--- /dev/null
+++ b/test/test_Moving.c
@@ -0,0 +1,35 @@
+#ifdef TEST
+#include "unity.h"
+#include "Schachbrett.h"
+#include "Moving.h"
+#include "Spieler.h"
+
+void setUp(void) {
+}
+
+void tearDown(void) {
+}
+
+void test_Bauern_bewegen(void) {
+ char** brett = Schachbrett_erstellen();
+ int startX = 0;
+ int startY = 1;
+ int endX = 0;
+ int endY = 2;
+ Player player = PLAYER_WHITE;
+
+
+ TEST_ASSERT_NOT_NULL(brett);
+
+ machezug( brett, startX, startY, endX, endY, player);
+
+ TEST_ASSERT_EQUAL('P', brett[0][2]);
+ TEST_ASSERT_EQUAL(' ', brett[0][1]);
+
+
+ for (int i = 0; i < 8; i++) {
+ free(brett[i]);
+ }
+ free(brett);
+}
+#endif // TEST
diff --git a/test/test_Schachbrett.c b/test/test_Schachbrett.c
index 3a94210..a331283 100644
--- a/test/test_Schachbrett.c
+++ b/test/test_Schachbrett.c
@@ -1,5 +1,6 @@
#ifdef TEST
#include "unity.h"
+#include
#include "Schachbrett.h"
void setUp(void) {