Browse Source

restliche Tests, Anton Lohrey

remotes/origin/Läufer-fertig,-Hendrik-Voß
fdai7492 11 months ago
parent
commit
c0343cbf96
  1. 88
      test/test_imSchachstehen.c

88
test/test_imSchachstehen.c

@ -151,4 +151,92 @@ void test_SchachDurchSpringer(void) {
freeTestBrett(Brett); freeTestBrett(Brett);
} }
void test_SchachDurchLaeufer(void) {
char** Brett = ErstelleTestBrett();
// Weißer König wird von schwarzen Läufer bedroht
Brett[4][4] = 'K';
Brett[2][2] = 'b';
TEST_ASSERT_TRUE(istKoenigImSchach(Brett, PLAYER_WHITE));
freeTestBrett(Brett);
Brett = ErstelleTestBrett();
// Schwarzer König wird von weißen Läufer bedroht
Brett[3][3] = 'k';
Brett[6][0] = 'B';
TEST_ASSERT_TRUE(istKoenigImSchach(Brett, PLAYER_BLACK));
freeTestBrett(Brett);
Brett = ErstelleTestBrett();
// Weißer König wird nicht bedroht
Brett[4][4] = 'K';
Brett[6][7] = 'b';
TEST_ASSERT_FALSE(istKoenigImSchach(Brett, PLAYER_WHITE));
freeTestBrett(Brett);
Brett = ErstelleTestBrett();
// Schwarzer König wird von mehreren Läufer bedroht
Brett[4][4] = 'k';
Brett[6][6] = 'B';
Brett[0][0] = 'B';
TEST_ASSERT_TRUE(istKoenigImSchach(Brett, PLAYER_BLACK));
freeTestBrett(Brett);
Brett = ErstelleTestBrett();
// Schwarzer könig nicht in gefahr weil Läufer blockiert wird
Brett[0][0] = 'k';
Brett[2][2] = 'P';
Brett[4][4] = 'B';
TEST_ASSERT_FALSE(istKoenigImSchach(Brett, PLAYER_BLACK));
freeTestBrett(Brett);
}
void test_SchachDurchDame(void) {
char** Brett = ErstelleTestBrett();
// Weißer könig wird von schwarzer Dame bedroht (Horizontal)
Brett[4][4] = 'K';
Brett[4][7] = 'q';
TEST_ASSERT_TRUE(istKoenigImSchach(Brett, PLAYER_WHITE));
freeTestBrett(Brett);
Brett = ErstelleTestBrett();
// Schwarzer könig wird von weißer Dame bedroht (Vertikal)
Brett[3][3] = 'k';
Brett[0][3] = 'Q';
TEST_ASSERT_TRUE(istKoenigImSchach(Brett, PLAYER_BLACK));
freeTestBrett(Brett);
Brett = ErstelleTestBrett();
// Weißer könig wird nicht von schwarzer Dame bedroht aufgrund blockierender Figur
Brett[4][4] = 'K';
Brett[4][2] = 'p';
Brett[4][0] = 'q';
TEST_ASSERT_FALSE(istKoenigImSchach(Brett, PLAYER_WHITE));
freeTestBrett(Brett);
Brett = ErstelleTestBrett();
// Schwarzer könig wird von weißer Dame bedroht (Diagonal)
Brett[0][0] = 'k';
Brett[7][7] = 'Q';
TEST_ASSERT_TRUE(istKoenigImSchach(Brett, PLAYER_BLACK));
freeTestBrett(Brett);
Brett = ErstelleTestBrett();
// Schwarzer könig wird nicht von weißer Dame bedroht aufgrund blockierender Figur
Brett[7][7] = 'k';
Brett[5][5] = 'P';
Brett[3][3] = 'Q';
TEST_ASSERT_FALSE(istKoenigImSchach(Brett, PLAYER_BLACK));
freeTestBrett(Brett);
}
#endif // TEST #endif // TEST
Loading…
Cancel
Save