diff --git a/src/Bauernumwandlung.c b/src/Bauernumwandlung.c index f232c77..8bb0ecb 100644 --- a/src/Bauernumwandlung.c +++ b/src/Bauernumwandlung.c @@ -7,6 +7,13 @@ bool ist_umwandlung_gerlaubt_Bauer(char** Brett, int startX, int startY, int endX, int endY, Player player) { + if((player == PLAYER_WHITE) && (endY == 7) && (Brett[startY][startX] == 'P')){ + return true; + }else if((player == PLAYER_BLACK) && (endY == 0) && (Brett[startY][startX] == 'p')){ + return true; + }else{ + return false; + } } @@ -15,6 +22,6 @@ char bauer_umwandel_abfrage(){ } void bauer_umwandeln(){ - + } diff --git a/src/Bauernumwandlung.h b/src/Bauernumwandlung.h index 70dc060..ac2048f 100644 --- a/src/Bauernumwandlung.h +++ b/src/Bauernumwandlung.h @@ -4,7 +4,7 @@ #include #include "spieler.h" -bool ist_umwandlung_gerlaubt_Bauer(char** Brett, int startX, int startY, int endX, int endY, Player player) { +bool ist_umwandlung_gerlaubt_Bauer(char** Brett, int startX, int startY, int endX, int endY, Player player); char bauer_umwandel_abfrage(); void bauer_umwandeln(); diff --git a/test/test_Bauernumwandlung.c b/test/test_Bauernumwandlung.c new file mode 100644 index 0000000..159ab83 --- /dev/null +++ b/test/test_Bauernumwandlung.c @@ -0,0 +1,37 @@ +#ifdef TEST +#include "unity.h" +#include +#include "Schachbrett.h" +#include "Bauer.h" +#include "Bauernumwandlung.h" + +void setUp(void) { +} + +void tearDown(void) { +} + +void test_Bauernumwandlung_erlaubt(void) { + + char** brett = Schachbrett_erstellen(); + int startX = 6; + int startY = 6; + int endX = 6; + int endY = 7; + Player player = PLAYER_WHITE; + + + TEST_ASSERT_NOT_NULL(brett); + + brett[6][6] = 'P'; + brett[7][6] = ' '; + + TEST_ASSERT_TRUE(ist_umwandlung_gerlaubt_Bauer( brett, startX, startY, endX, endY, player)); + + + for (int i = 0; i < 8; i++) { + free(brett[i]); + } + free(brett); +} +#endif // TEST