#ifdef TEST #include "unity.h" #include "Schachbrett.h" #include "Moving.h" #include "Spieler.h" #include "Turm.h" #include "Bauer.h" #include "Koenig.h" #include "Springer.h" #include "Dame.h" #include "Laeufer.h" #include void setUp(void) { } void tearDown(void) { } void test_Bauern_bewegen(void) { char** brett = Schachbrett_erstellen(); int startX = 0; int startY = 1; int endX = 0; int endY = 2; Player player = PLAYER_WHITE; TEST_ASSERT_NOT_NULL(brett); machezug( brett, startX, startY, endX, endY, player); print_Schachfeld(brett); TEST_ASSERT_EQUAL('P', brett[2][0]); TEST_ASSERT_EQUAL(' ', brett[1][0]); for (int i = 0; i < 8; i++) { free(brett[i]); } free(brett); } void test_istzugerlaubt_Koenig_Verknuepfung(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(Brett, 4, 0, 4, 1, player)); // e1 zu e2 TEST_ASSERT_TRUE(istzugerlaubt(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(Brett, 4, 7, 4, 6, player)); // e8 zu e7 TEST_ASSERT_TRUE(istzugerlaubt(Brett, 4, 6, 4, 5, player)); // e7 zu e6 (Einnehmen von Figur) Schachbrettspeicher_freigeben(Brett); } void test_Bauer_Y_Verknuepfung_Bewegung(void) { char** brett = Schachbrett_erstellen(); int startX = 1; int startY = 1; int endX = 1; int endY = 2; Player player = PLAYER_WHITE; TEST_ASSERT_NOT_NULL(brett); TEST_ASSERT_TRUE(istzugerlaubt( brett, startX, startY, endX, endY, player)); for (int i = 0; i < 8; i++) { free(brett[i]); } free(brett); } void test_istzugerlaubt_Springer_Verknuepfung(void) { char **Brett = Schachbrett_erstellen(); // Viele Test um legale Züge zu prüfen TEST_ASSERT_TRUE(istzugerlaubt(Brett, 1, 0, 0, 2, PLAYER_WHITE)); TEST_ASSERT_TRUE(istzugerlaubt(Brett, 4, 3, 6, 2, PLAYER_BLACK)); Schachbrettspeicher_freigeben(Brett); } void test_istzugerlaubt(void){ char** brett = Schachbrett_erstellen(); int startX = 1; int startY = 1; int endX = 1; int endY = 1; Player player = PLAYER_WHITE; //istzugerlaubt(brett,startX,startY,endX,endY,player); TEST_ASSERT_FALSE(istzugerlaubt(brett,startX,startY,endX,endY,player)); for (int i = 0; i < 8; i++) { free(brett[i]); } free(brett); } void test_istzugerlaubt_Turm(void){ char** brett = Schachbrett_erstellen(); int startX = 0; int startY = 4; int endX = 0; int endY = 2; Player player = PLAYER_WHITE; TEST_ASSERT_NOT_NULL(brett); brett[4][0] = 'r'; print_Schachfeld(brett); TEST_ASSERT_TRUE(istzugerlaubt(brett, startX, startY, endX, endY, player)); for (int i = 0; i < 8; i++) { free(brett[i]); } free(brett); } void test_Laeufer_black_Moving(void) { char** brett = Schachbrett_erstellen(); Player player = PLAYER_BLACK; // Prüfen, ob der Zug eine Diagonale ist == true brett[6][6] = 'b'; TEST_ASSERT_TRUE(istzugerlaubt(brett, 6, 6, 3, 3, player)); for (int i = 0; i < 8; i++) { free(brett[i]); } free(brett); } #endif // TEST