You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.5 KiB
48 lines
1.5 KiB
#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
|