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.

46 lines
1.1 KiB

  1. #ifdef TEST
  2. #include "unity.h"
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <stdbool.h>
  6. #include "Spieler.h"
  7. #include "Koenig.h"
  8. char** ErstelleTestBrett() {
  9. char** Brett = malloc(8 * sizeof(char*));
  10. for (int i = 0; i < 8; i++) {
  11. Brett[i] = malloc(8 * sizeof(char));
  12. for (int j = 0; j < 8; j++) {
  13. Brett[i][j] = ' '; //Erstelle komplett leeres Brett
  14. }
  15. }
  16. return Brett;
  17. }
  18. void freeTestBrett(char** Brett) {
  19. for (int i = 0; i < 8; i++) {
  20. free(Brett[i]);
  21. }
  22. free(Brett);
  23. }
  24. void test_GreiftSpringerAn(void) {
  25. char** Brett = ErstelleTestBrett();
  26. // Plaziert ein schwarzen Springer (3,4) und testet 'Angriff' auf e3 (4,2)
  27. Brett[4][3] = 'n';
  28. Player player = PLAYER_WHITE;
  29. TEST_ASSERT_TRUE(GreiftSpringerAn(Brett, 4, 2, player));
  30. // Plaziert ein weißen Springer (5,2) und testet 'Angriff' auf e5 (4,4)
  31. Brett[2][5] = 'N';
  32. player = PLAYER_BLACK;
  33. TEST_ASSERT_TRUE(GreiftSpringerAn(Brett, 4, 4, player));
  34. // Testet Feld ohne Bedrohung
  35. TEST_ASSERT_FALSE(GreiftSpringerAn(Brett, 0, 0, player));
  36. freeTestBrett(Brett);
  37. }
  38. #endif // TEST