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.

72 lines
1.8 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_white_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_black_diagonal_Bewegung(void) {
  24. char** brett = Schachbrett_erstellen();
  25. Player player = PLAYER_BLACK;
  26. // Prüfen, ob der Zug eine Diagonale ist == true
  27. assert(istzugerlaubt_Laeufer(brett, 6, 6, 3, 3, player) == true);
  28. // Prüfen ob der Zug keine Diagonale ist == false
  29. assert(istzugerlaubt_Laeufer(brett, 6, 6, 3, 2, player) == false);
  30. for (int i = 0; i < 8; i++) {
  31. free(brett[i]);
  32. }
  33. free(brett);
  34. }
  35. void test_Laeufer_input_imFeld(void){
  36. char** brett = Schachbrett_erstellen();
  37. Player player = PLAYER_WHITE;
  38. // Prüfen, ob Zug außerhalb des Bretts liegt
  39. assert(istzugerlaubt_Laeufer(brett, 1, 1, 8, 8, player) == false);
  40. for (int i = 0; i < 8; i++) {
  41. free(brett[i]);
  42. }
  43. free(brett);
  44. }
  45. void test_Laeufer_Weg_frei(void){
  46. char** brett = Schachbrett_erstellen();
  47. Player player = PLAYER_WHITE;
  48. brett[2][2] = 'P';
  49. assert(istzugerlaubt_Laeufer(brett, 1, 1, 3, 3, player)==false);
  50. assert(istzugerlaubt_Laeufer(brett, 3, 3, 6, 6, player)==true);
  51. for (int i = 0; i < 8; i++) {
  52. free(brett[i]);
  53. }
  54. free(brett);
  55. }
  56. #endif // TEST