|
@ -6,6 +6,7 @@ |
|
|
#include "Spieler.h" |
|
|
#include "Spieler.h" |
|
|
#include "Schachbrett.h" |
|
|
#include "Schachbrett.h" |
|
|
#include "Koenig.h" |
|
|
#include "Koenig.h" |
|
|
|
|
|
#include "Spielstatus.h" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void test_istzugerlaubt_Koenig_LegalMoves(void) { |
|
|
void test_istzugerlaubt_Koenig_LegalMoves(void) { |
|
@ -47,26 +48,30 @@ void test_istzugerlaubt_Koenig_IllegalMoves(void) { |
|
|
} |
|
|
} |
|
|
void test_Koenigbewegung_ValidMove(void) { |
|
|
void test_Koenigbewegung_ValidMove(void) { |
|
|
char** Brett = Schachbrett_erstellen(); |
|
|
char** Brett = Schachbrett_erstellen(); |
|
|
|
|
|
Spielstatus status; |
|
|
|
|
|
initalisiereSpielstatus(&status); |
|
|
Brett[4][4] = 'K'; |
|
|
Brett[4][4] = 'K'; |
|
|
Player player = PLAYER_WHITE; |
|
|
Player player = PLAYER_WHITE; |
|
|
bewegeKoenig(Brett, 4, 4, 5, 4, player); // Bewege König von e5 zu e6 |
|
|
|
|
|
|
|
|
bewegeKoenig(Brett, 4, 4, 5, 4, player,&status); // Bewege König von e5 zu e6 |
|
|
TEST_ASSERT_EQUAL('K', Brett[4][5]); // Schauen ob der König an der neuen stelle ist |
|
|
TEST_ASSERT_EQUAL('K', Brett[4][5]); // Schauen ob der König an der neuen stelle ist |
|
|
TEST_ASSERT_EQUAL(' ', Brett[4][4]); // Schauen ob die alte stelle leer ist |
|
|
TEST_ASSERT_EQUAL(' ', Brett[4][4]); // Schauen ob die alte stelle leer ist |
|
|
|
|
|
|
|
|
|
|
|
TEST_ASSERT_TRUE(status.BewegteSichWeißerKoenig);//Schauen ob sich passend der spielstatus ändert |
|
|
|
|
|
|
|
|
Schachbrettspeicher_freigeben(Brett); |
|
|
Schachbrettspeicher_freigeben(Brett); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void test_Koenigbewegung_InvalidMove(void) { |
|
|
void test_Koenigbewegung_InvalidMove(void) { |
|
|
char** Brett = Schachbrett_erstellen(); |
|
|
char** Brett = Schachbrett_erstellen(); |
|
|
|
|
|
Spielstatus status; |
|
|
|
|
|
initalisiereSpielstatus(&status); |
|
|
Brett[4][4] = 'K'; |
|
|
Brett[4][4] = 'K'; |
|
|
Player player = PLAYER_WHITE; |
|
|
Player player = PLAYER_WHITE; |
|
|
|
|
|
|
|
|
bewegeKoenig(Brett, 4, 4, 6, 6, player); // Versucht illegalen Zug zu machen |
|
|
|
|
|
|
|
|
bewegeKoenig(Brett, 4, 4, 6, 6, player,&status); // Versucht illegalen Zug zu machen |
|
|
|
|
|
|
|
|
TEST_ASSERT_EQUAL('K', Brett[4][4]); // Schauen ob der König an der alten stelle ist |
|
|
TEST_ASSERT_EQUAL('K', Brett[4][4]); // Schauen ob der König an der alten stelle ist |
|
|
TEST_ASSERT_EQUAL(' ', Brett[4][6]); // Schauen ob die Zielstelle leer ist |
|
|
TEST_ASSERT_EQUAL(' ', Brett[4][6]); // Schauen ob die Zielstelle leer ist |
|
|
|
|
|
|
|
|
|
|
|
TEST_ASSERT_FALSE(status.BewegteSichWeißerKoenig);//Schauen ob sich der spielstatus passend verhält |
|
|
Schachbrettspeicher_freigeben(Brett); |
|
|
Schachbrettspeicher_freigeben(Brett); |
|
|
} |
|
|
} |
|
|
#endif // TEST |
|
|
#endif // TEST |