You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.3 KiB

  1. #ifdef TEST
  2. #include "unity.h"
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <stdbool.h>
  6. #include <assert.h>
  7. #include "Spieler.h"
  8. #include "Schachbrett.h"
  9. #include "Laeufer.h"
  10. #include "Spielstatus.h"
  11. void test_Laeufer_diagonal_Bewegung(void) {
  12. char** brett = Schachbrett_erstellen();
  13. Player player = PLAYER_WHITE;
  14. // Prüfen, ob der Zug eine Diagonale ist == true
  15. assert(istzugerlaubt_Laeufer(brett, 1, 1, 3, 3, player) == true);
  16. // Prüfen ob der Zug keine Diagonale ist == false
  17. assert(istzugerlaubt_Laeufer(brett, 1, 1, 3, 2, player) == false);
  18. for (int i = 0; i < 8; i++) {
  19. free(brett[i]);
  20. }
  21. free(brett);
  22. }
  23. void test_Laeufer_input_imFeld(void){
  24. char** brett = Schachbrett_erstellen();
  25. Player player = PLAYER_WHITE;
  26. // Prüfen, ob Zug außerhalb des Bretts liegt
  27. assert(istzugerlaubt_Laeufer(brett, 1, 1, 8, 8, player) == false);
  28. for (int i = 0; i < 8; i++) {
  29. free(brett[i]);
  30. }
  31. free(brett);
  32. }
  33. void test_Laeufer_Weg_frei(void){
  34. char** brett = Schachbrett_erstellen();
  35. Player player = PLAYER_WHITE;
  36. brett[2][2] = 'P';
  37. assert(istzugerlaubt_Laeufer(brett, 1, 1, 3, 3, player)==false);
  38. assert(istzugerlaubt_Laeufer(brett, 3, 3, 6, 6, player)==true);
  39. for (int i = 0; i < 8; i++) {
  40. free(brett[i]);
  41. }
  42. free(brett);
  43. }
  44. #endif // TEST