|
@ -0,0 +1,48 @@ |
|
|
|
|
|
#ifdef TEST |
|
|
|
|
|
#include "unity.h" |
|
|
|
|
|
#include <stdio.h> |
|
|
|
|
|
#include <stdlib.h> |
|
|
|
|
|
#include <stdbool.h> |
|
|
|
|
|
#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 |