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.

77 lines
2.1 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. // nicht erlaubte Eingabe
  40. assert(istzugerlaubt_Laeufer(brett, 1, 1, 8, 8, player) == false);
  41. assert(istzugerlaubt_Laeufer(brett, -1, -1, 7, 7, player) == false);
  42. // erlaubte Eingabe
  43. assert(istzugerlaubt_Laeufer(brett, 2, 2, 5, 5, player) == true);
  44. assert(istzugerlaubt_Laeufer(brett, 4, 4, 2, 2, player) == true);
  45. for (int i = 0; i < 8; i++) {
  46. free(brett[i]);
  47. }
  48. free(brett);
  49. }
  50. void test_Laeufer_Weg_frei(void){
  51. char** brett = Schachbrett_erstellen();
  52. Player player = PLAYER_WHITE;
  53. brett[2][2] = 'P';
  54. assert(istzugerlaubt_Laeufer(brett, 1, 1, 3, 3, player)==false);
  55. assert(istzugerlaubt_Laeufer(brett, 3, 3, 6, 6, player)==true);
  56. for (int i = 0; i < 8; i++) {
  57. free(brett[i]);
  58. }
  59. free(brett);
  60. }
  61. #endif // TEST