#ifdef TEST #include "unity.h" #include #include #include #include "Spieler.h" #include "Schachbrett.h" #include "Koenig.h" void test_istzugerlaubt_Koenig_LegalMoves(void) { char **Brett = Schachbrett_erstellen(); Player player = PLAYER_WHITE; //Vorbereitung für Test Brett[1][4] = ' '; Brett[2][4] = 'p'; // Test bewegung TEST_ASSERT_TRUE(istzugerlaubt_Koenig(Brett, 4, 0, 4, 1, player)); // e1 zu e2 TEST_ASSERT_TRUE(istzugerlaubt_Koenig(Brett, 4, 1, 4, 2, player)); // e2 zu e3 (Einnehmen von Figur) Schachbrettspeicher_freigeben(Brett); Brett = Schachbrett_erstellen(); player = PLAYER_BLACK; //Vorbereitung für Test Brett[6][4] = ' '; Brett[5][4] = 'P'; // Test bewegung TEST_ASSERT_TRUE(istzugerlaubt_Koenig(Brett, 4, 7, 4, 6, player)); // e8 zu e7 TEST_ASSERT_TRUE(istzugerlaubt_Koenig(Brett, 4, 6, 4, 5, player)); // e7 zu e6 (Einnehmen von Figur) Schachbrettspeicher_freigeben(Brett); } void test_istzugerlaubt_Koenig_IllegalMoves(void) { char **Brett = Schachbrett_erstellen(); Player player = PLAYER_WHITE; // Illegaler zug: König versucht sich 2 Felder zu bewegen TEST_ASSERT_FALSE(istzugerlaubt_Koenig(Brett, 4, 0, 4, 2, player)); // Illegaler zug: König versucht sich auf besetztes Feld zu bewegen TEST_ASSERT_FALSE(istzugerlaubt_Koenig(Brett, 4, 0, 3, 1, player)); Schachbrettspeicher_freigeben(Brett); } #endif // TEST