From 0a591aab0d891a39ef446b487fd9cd346ea98546 Mon Sep 17 00:00:00 2001 From: fdai7492 Date: Mon, 5 Feb 2024 02:42:43 +0000 Subject: [PATCH] =?UTF-8?q?Test=20f=C3=BCr=20Schach=20durch=20Turm,=20Anto?= =?UTF-8?q?n=20Lohrey?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/test_imSchachstehen.c | 43 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/test/test_imSchachstehen.c b/test/test_imSchachstehen.c index 4e02f60..c619cab 100644 --- a/test/test_imSchachstehen.c +++ b/test/test_imSchachstehen.c @@ -62,4 +62,47 @@ void test_SchachDurchBauer(void) { freeTestBrett(Brett); } +void test_SchachDurchTurm(void) { + char** Brett = ErstelleTestBrett(); + + // Weißer König wird von schwarzen Turm bedroht (Horizontal) + Brett[4][4] = 'K'; + Brett[4][7] = 'r'; + TEST_ASSERT_TRUE(istKoenigImSchach(Brett, PLAYER_WHITE)); + + freeTestBrett(Brett); + Brett = ErstelleTestBrett(); + + // Weißer König wird von schwarzen Turm bedroht (Vertikal) + Brett[4][4] = 'K'; + Brett[0][4] = 'r'; + TEST_ASSERT_TRUE(istKoenigImSchach(Brett, PLAYER_WHITE)); + + freeTestBrett(Brett); + Brett = ErstelleTestBrett(); + + // Schwarzer König wird von weißen Turm bedroht (Horizontal) + Brett[3][3] = 'k'; + Brett[3][0] = 'R'; + TEST_ASSERT_TRUE(istKoenigImSchach(Brett, PLAYER_BLACK)); + + freeTestBrett(Brett); + Brett = ErstelleTestBrett(); + + // Schwarzer König wird nicht bedroht weil er von einer Figur beschützt wird + Brett[3][3] = 'k'; + Brett[3][1] = 'R'; + Brett[3][2] = 'p'; + TEST_ASSERT_FALSE(istKoenigImSchach(Brett, PLAYER_BLACK)); + + freeTestBrett(Brett); + Brett = ErstelleTestBrett(); + + // Weißer König nicht in gefahr + Brett[4][4] = 'K'; + Brett[5][5] = 'r'; + TEST_ASSERT_FALSE(istKoenigImSchach(Brett, PLAYER_WHITE)); + + freeTestBrett(Brett); +} #endif // TEST