From 15472005218f2c68a4332c8cf433cc75944f32db Mon Sep 17 00:00:00 2001 From: fdai7492 Date: Mon, 5 Feb 2024 03:03:24 +0000 Subject: [PATCH] =?UTF-8?q?Tests=20f=C3=BCr=20imSchachdurchSpringer,=20Ant?= =?UTF-8?q?on=20Lohrey?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/test_imSchachstehen.c | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/test/test_imSchachstehen.c b/test/test_imSchachstehen.c index c619cab..424c1fd 100644 --- a/test/test_imSchachstehen.c +++ b/test/test_imSchachstehen.c @@ -105,4 +105,50 @@ void test_SchachDurchTurm(void) { freeTestBrett(Brett); } +void test_SchachDurchSpringer(void) { + char** Brett = ErstelleTestBrett(); + + // Weißer König bedroht durch schwarzen Springer + Brett[4][4] = 'K'; + Brett[3][6] = 'n'; + TEST_ASSERT_TRUE(istKoenigImSchach(Brett, PLAYER_WHITE)); + + freeTestBrett(Brett); + Brett = ErstelleTestBrett(); + + // Schwarzer König bedroht durch weißen Springer + Brett[3][3] = 'k'; + Brett[5][4] = 'N'; + TEST_ASSERT_TRUE(istKoenigImSchach(Brett, PLAYER_BLACK)); + + freeTestBrett(Brett); + Brett = ErstelleTestBrett(); + + // Weißer könig nicht bedroht + Brett[4][4] = 'K'; + Brett[7][7] = 'n'; + TEST_ASSERT_FALSE(istKoenigImSchach(Brett, PLAYER_WHITE)); + + freeTestBrett(Brett); + Brett = ErstelleTestBrett(); + + // Schwarzer könig durch mehrere Springer bedroht + Brett[0][0] = 'k'; + Brett[1][2] = 'N'; + Brett[2][1] = 'N'; + TEST_ASSERT_TRUE(istKoenigImSchach(Brett, PLAYER_BLACK)); + + freeTestBrett(Brett); + Brett = ErstelleTestBrett(); + + // Schwarzer König wird trotz Mauer angegriffen + Brett[0][0] = 'k'; + Brett[0][1] = 'p'; + Brett[1][0] = 'p'; + Brett[1][1] = 'p'; + Brett[1][2] = 'N'; + TEST_ASSERT_TRUE(istKoenigImSchach(Brett, PLAYER_BLACK)); + + freeTestBrett(Brett); +} #endif // TEST