diff --git a/.idea/info2Praktikum-Wortsalat-JMP.iml b/.idea/info2Praktikum-Wortsalat-JMP.iml
new file mode 100644
index 0000000..bc2cd87
--- /dev/null
+++ b/.idea/info2Praktikum-Wortsalat-JMP.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..0e84386
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Start_Linux/linux/libraylib.a b/Start_Linux/linux/libraylib.a
index bdc65fc..1f20160 100644
Binary files a/Start_Linux/linux/libraylib.a and b/Start_Linux/linux/libraylib.a differ
diff --git a/Start_Linux/makefile b/Start_Linux/makefile
index 096695a..a8d8f59 100644
--- a/Start_Linux/makefile
+++ b/Start_Linux/makefile
@@ -1,9 +1,9 @@
CC = gcc
-CFLAGS = -g -Wall -I$(raylibfolder)
+CFLAGS = -g -Wall
LDFLAGS = -lGL -lX11 -lm
BINARIES = ./linux
-raylib_folder = ./raylib
+raylibfolder = ./raylib
unityfolder = ./unity
# --------------------------
@@ -28,7 +28,7 @@ game.o: game.c
$(CC) $(CFLAGS) -c game.c
graphicalGame.o: graphicalGame.c
- $(CC) $(CFLAGS) -c graphicalGame.c
+ $(CC) $(CFLAGS) -I$(raylibfolder) -c graphicalGame.c
# --------------------------
# Unit Tests
diff --git a/Start_Linux/unit_tests.c b/Start_Linux/unit_tests.c
index d1a15f5..34b07ed 100644
--- a/Start_Linux/unit_tests.c
+++ b/Start_Linux/unit_tests.c
@@ -101,7 +101,37 @@ void test_createWordSalad_too_small(void) {
}
}
+void test_createWordSalad_allWordsPlaced() {
+ char words[3][MAX_WORD_LEN] = {"CAT", "DOG", "MOUSE"};
+ char saladHoriz[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN];
+ char saladVert[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN];
+
+ int placed = createWordSalad(saladHoriz, 20, words, 3);
+ for(int i = 0; i < MAX_SEARCH_FIELD_LEN; i++)
+ {
+ for(int j = 0; j < MAX_SEARCH_FIELD_LEN; j++)
+ {
+ saladVert[j][i] = saladHoriz[i][j];
+ }
+ }
+
+ for(int i = 0; i < 3; i++) {
+ const char* word = words[i];
+ int wordFound = 0;
+ for(int j = 0; j < MAX_SEARCH_FIELD_LEN; j++)
+ {
+ const char* row = saladHoriz[j];
+ const char* col = saladVert[j];
+ wordFound |= strstr(row, word) || strstr(col, word);
+ }
+ TEST_ASSERT_TRUE_MESSAGE(wordFound, "Not all words were placed.");
+ }
+
+ TEST_ASSERT_EQUAL_INT(3, placed);
+}
+
// ---------- Test Setup und TearDown Funktionen ----------
+
// Hier Setup- und TearDown-Funktionen definieren,
// falls Vor- und Nachbereitungen für die Tests benötigt.
@@ -134,9 +164,10 @@ int main(void) {
RUN_TEST(test_readWords_empty_file);
RUN_TEST(test_createWordSalad_all_fit);
RUN_TEST(test_createWordSalad_too_small);
+ RUN_TEST(test_createWordSalad_allWordsPlaced);
int result = UNITY_END(); // Test-Ergebnisse
print_test_result(result);
return result;
-}
\ No newline at end of file
+}
diff --git a/Start_Mac/macos-x64/libraylib.a b/Start_Mac/macos-x86_64/libraylib.a
similarity index 100%
rename from Start_Mac/macos-x64/libraylib.a
rename to Start_Mac/macos-x86_64/libraylib.a
diff --git a/Start_Mac/macos-x64/libunity.a b/Start_Mac/macos-x86_64/libunity.a
similarity index 100%
rename from Start_Mac/macos-x64/libunity.a
rename to Start_Mac/macos-x86_64/libunity.a
diff --git a/Start_Mac/macos-x64/libwordsalad.a b/Start_Mac/macos-x86_64/libwordsalad.a
similarity index 100%
rename from Start_Mac/macos-x64/libwordsalad.a
rename to Start_Mac/macos-x86_64/libwordsalad.a
diff --git a/Start_Mac/macos-x64/libwordsalad_complete.a b/Start_Mac/macos-x86_64/libwordsalad_complete.a
similarity index 100%
rename from Start_Mac/macos-x64/libwordsalad_complete.a
rename to Start_Mac/macos-x86_64/libwordsalad_complete.a
diff --git a/Start_Mac/makefile b/Start_Mac/makefile
index 49654ae..1d3b4a6 100644
--- a/Start_Mac/makefile
+++ b/Start_Mac/makefile
@@ -4,7 +4,7 @@ LDFLAGS = -framework OpenGL -framework CoreFoundation -framework CoreGraphics -f
ARCH := $(shell uname -m)
BINARIES = ./macos-$(ARCH)
-raylib_folder = ./raylib
+raylibfolder = ./raylib
unityfolder = ./unity
# --------------------------
@@ -43,4 +43,4 @@ test: input.o game.o unit_tests.c $(BINARIES)/libunity.a
# Clean
# --------------------------
clean:
- rm -f *.o wordsalad
+ rm -f *.o wordsalad $(TEST_BIN)
diff --git a/Start_Mac/unit_tests.c b/Start_Mac/unit_tests.c
index 50a62cf..34b07ed 100644
--- a/Start_Mac/unit_tests.c
+++ b/Start_Mac/unit_tests.c
@@ -101,6 +101,35 @@ void test_createWordSalad_too_small(void) {
}
}
+void test_createWordSalad_allWordsPlaced() {
+ char words[3][MAX_WORD_LEN] = {"CAT", "DOG", "MOUSE"};
+ char saladHoriz[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN];
+ char saladVert[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN];
+
+ int placed = createWordSalad(saladHoriz, 20, words, 3);
+ for(int i = 0; i < MAX_SEARCH_FIELD_LEN; i++)
+ {
+ for(int j = 0; j < MAX_SEARCH_FIELD_LEN; j++)
+ {
+ saladVert[j][i] = saladHoriz[i][j];
+ }
+ }
+
+ for(int i = 0; i < 3; i++) {
+ const char* word = words[i];
+ int wordFound = 0;
+ for(int j = 0; j < MAX_SEARCH_FIELD_LEN; j++)
+ {
+ const char* row = saladHoriz[j];
+ const char* col = saladVert[j];
+ wordFound |= strstr(row, word) || strstr(col, word);
+ }
+ TEST_ASSERT_TRUE_MESSAGE(wordFound, "Not all words were placed.");
+ }
+
+ TEST_ASSERT_EQUAL_INT(3, placed);
+}
+
// ---------- Test Setup und TearDown Funktionen ----------
// Hier Setup- und TearDown-Funktionen definieren,
@@ -135,6 +164,7 @@ int main(void) {
RUN_TEST(test_readWords_empty_file);
RUN_TEST(test_createWordSalad_all_fit);
RUN_TEST(test_createWordSalad_too_small);
+ RUN_TEST(test_createWordSalad_allWordsPlaced);
int result = UNITY_END(); // Test-Ergebnisse
print_test_result(result);
diff --git a/Start_Windows/unit_tests.c b/Start_Windows/unit_tests.c
index 50a62cf..34b07ed 100644
--- a/Start_Windows/unit_tests.c
+++ b/Start_Windows/unit_tests.c
@@ -101,6 +101,35 @@ void test_createWordSalad_too_small(void) {
}
}
+void test_createWordSalad_allWordsPlaced() {
+ char words[3][MAX_WORD_LEN] = {"CAT", "DOG", "MOUSE"};
+ char saladHoriz[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN];
+ char saladVert[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN];
+
+ int placed = createWordSalad(saladHoriz, 20, words, 3);
+ for(int i = 0; i < MAX_SEARCH_FIELD_LEN; i++)
+ {
+ for(int j = 0; j < MAX_SEARCH_FIELD_LEN; j++)
+ {
+ saladVert[j][i] = saladHoriz[i][j];
+ }
+ }
+
+ for(int i = 0; i < 3; i++) {
+ const char* word = words[i];
+ int wordFound = 0;
+ for(int j = 0; j < MAX_SEARCH_FIELD_LEN; j++)
+ {
+ const char* row = saladHoriz[j];
+ const char* col = saladVert[j];
+ wordFound |= strstr(row, word) || strstr(col, word);
+ }
+ TEST_ASSERT_TRUE_MESSAGE(wordFound, "Not all words were placed.");
+ }
+
+ TEST_ASSERT_EQUAL_INT(3, placed);
+}
+
// ---------- Test Setup und TearDown Funktionen ----------
// Hier Setup- und TearDown-Funktionen definieren,
@@ -135,6 +164,7 @@ int main(void) {
RUN_TEST(test_readWords_empty_file);
RUN_TEST(test_createWordSalad_all_fit);
RUN_TEST(test_createWordSalad_too_small);
+ RUN_TEST(test_createWordSalad_allWordsPlaced);
int result = UNITY_END(); // Test-Ergebnisse
print_test_result(result);