diff --git a/Startcode/makefile b/Startcode/makefile index 4439c46..7246e47 100644 --- a/Startcode/makefile +++ b/Startcode/makefile @@ -50,8 +50,8 @@ graphicalGame.o: $(codefolder)/graphicalGame.c # -------------------------- TEST_BIN = runTests -test: input.o $(codefolder)/unit_tests.c $(unityfolder)/unity.c - $(CC) -Wall -I$(unityfolder) -o $(TEST_BIN) input.o $(codefolder)/unit_tests.c $(unityfolder)/unity.c +test: input.o game.o $(codefolder)/unit_tests.c $(unityfolder)/unity.c + $(CC) -Wall -I$(unityfolder) -o $(TEST_BIN) input.o game.o $(codefolder)/unit_tests.c $(unityfolder)/unity.c # -------------------------- # Clean # -------------------------- diff --git a/Startcode/unit_tests.c b/Startcode/unit_tests.c index f93ba8e..34b07ed 100644 --- a/Startcode/unit_tests.c +++ b/Startcode/unit_tests.c @@ -66,69 +66,69 @@ void test_readWords_empty_file(void) { } // ---------- Tests für game.c ---------- -// void test_createWordSalad_all_fit(void) { -// char words[3][MAX_WORD_LEN] = {"CAT", "DOG", "MOUSE"}; -// char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN]; +void test_createWordSalad_all_fit(void) { + char words[3][MAX_WORD_LEN] = {"CAT", "DOG", "MOUSE"}; + char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN]; -// int placed = createWordSalad(salad, 20, words, 3); + int placed = createWordSalad(salad, 20, words, 3); -// TEST_ASSERT_EQUAL_INT(3, placed); + TEST_ASSERT_EQUAL_INT(3, placed); -// // Sicherstellen, dass alle Felder gefüllt sind -// for (int i = 0; i < 20; i++) { -// for (int j = 0; j < 20; j++) { -// TEST_ASSERT_GREATER_OR_EQUAL('A', salad[i][j]); -// TEST_ASSERT_LESS_OR_EQUAL('Z', salad[i][j]); -// } -// } -// } + // Sicherstellen, dass alle Felder gefüllt sind + for (int i = 0; i < 20; i++) { + for (int j = 0; j < 20; j++) { + TEST_ASSERT_GREATER_OR_EQUAL('A', salad[i][j]); + TEST_ASSERT_LESS_OR_EQUAL('Z', salad[i][j]); + } + } +} -// void test_createWordSalad_too_small(void) { -// char words[2][MAX_WORD_LEN] = {"ELEPHANT", "GIRAFFE"}; -// char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN]; +void test_createWordSalad_too_small(void) { + char words[2][MAX_WORD_LEN] = {"ELEPHANT", "GIRAFFE"}; + char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN]; -// int placed = createWordSalad(salad, 5, words, 2); + int placed = createWordSalad(salad, 5, words, 2); -// TEST_ASSERT_GREATER_OR_EQUAL(0, placed); -// TEST_ASSERT_LESS_OR_EQUAL(2, placed); + TEST_ASSERT_GREATER_OR_EQUAL(0, placed); + TEST_ASSERT_LESS_OR_EQUAL(2, placed); -// // Feld muss vollständig gefüllt sein -// for (int i = 0; i < 5; i++) { -// for (int j = 0; j < 5; j++) { -// TEST_ASSERT_GREATER_OR_EQUAL('A', salad[i][j]); -// TEST_ASSERT_LESS_OR_EQUAL('Z', salad[i][j]); -// } -// } -// } + // Feld muss vollständig gefüllt sein + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + TEST_ASSERT_GREATER_OR_EQUAL('A', salad[i][j]); + TEST_ASSERT_LESS_OR_EQUAL('Z', salad[i][j]); + } + } +} -// 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]; +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]; -// } -// } + 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."); -// } + 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_ASSERT_EQUAL_INT(3, placed); +} // ---------- Test Setup und TearDown Funktionen ---------- @@ -162,9 +162,9 @@ int main(void) { RUN_TEST(test_readWords_simple); RUN_TEST(test_readWords_with_delimiters); RUN_TEST(test_readWords_empty_file); - //RUN_TEST(test_createWordSalad_all_fit); - //RUN_TEST(test_createWordSalad_too_small); - //RUN_TEST(test_createWordSalad_allWordsPlaced); + 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);