|
|
#ifdef TEST
#include "unity.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include "Spieler.h"
#include "Koenig.h"
char** ErstelleTestBrett() { char** Brett = malloc(8 * sizeof(char*)); for (int i = 0; i < 8; i++) { Brett[i] = malloc(8 * sizeof(char)); for (int j = 0; j < 8; j++) { Brett[i][j] = ' '; //Erstelle komplett leeres Brett
} } return Brett; }
void freeTestBrett(char** Brett) { for (int i = 0; i < 8; i++) { free(Brett[i]); } free(Brett); }
void test_GreiftBauerAn(void) { char** Brett = ErstelleTestBrett();
// Plaziert weißen Bauer auf d5 (3,4) und testet 'angriff' auf c6 (2,5) und e6 (4,5)
Brett[4][3] = 'P'; Player player = PLAYER_BLACK; TEST_ASSERT_TRUE(GreiftBauerAn(Brett, 2, 5, player)); TEST_ASSERT_TRUE(GreiftBauerAn(Brett, 4, 5, player));
// Plaziert schwarzen Bauer auf e4 (4,3) und testet 'angriff' auf d3 (3,2) und f3 (5,2)
Brett[3][4] = 'p'; player = PLAYER_WHITE; TEST_ASSERT_TRUE(GreiftBauerAn(Brett, 3, 2, player)); TEST_ASSERT_TRUE(GreiftBauerAn(Brett, 5, 2, player));
// Test ein Feld ohne Bedrohung
TEST_ASSERT_FALSE(GreiftBauerAn(Brett, 0, 0, player));
freeTestBrett(Brett); }
void test_GreiftSpringerAn(void) { char** Brett = ErstelleTestBrett();
// Plaziert ein schwarzen Springer (3,4) und testet 'Angriff' auf e3 (4,2)
Brett[4][3] = 'n'; Player player = PLAYER_WHITE; TEST_ASSERT_TRUE(GreiftSpringerAn(Brett, 4, 2, player));
// Plaziert ein weißen Springer (5,2) und testet 'Angriff' auf e5 (4,4)
Brett[2][5] = 'N'; player = PLAYER_BLACK; TEST_ASSERT_TRUE(GreiftSpringerAn(Brett, 4, 4, player));
// Testet Feld ohne Bedrohung
TEST_ASSERT_FALSE(GreiftSpringerAn(Brett, 0, 0, player));
freeTestBrett(Brett); } #endif // TEST
|