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.

113 lines
2.3 KiB

  1. #ifdef TEST
  2. #include "unity.h"
  3. #include <stdlib.h>
  4. #include "Schachbrett.h"
  5. #include "Historie.h"
  6. #include "En_Passaut.h"
  7. #include "Bauer.h"
  8. #include "Spieler.h"
  9. void setUp(void) {
  10. }
  11. void tearDown(void) {
  12. }
  13. void test_En_Passaut_Weiss(void) {
  14. int MAX_ZUEGE = 70;
  15. int ZUG_INFO = 5;
  16. // Historie erstellen
  17. int** meineHistorie = erstellen_historie();
  18. // Testdaten
  19. int startX = 1;
  20. int startY = 6;
  21. int endX = 1;
  22. int endY = 4;
  23. Player currentPlayer = PLAYER_BLACK;
  24. int anzahl_Zuege = 0;
  25. // Züge zur Historie hinzufügen
  26. hinzufuegen_historie(meineHistorie, startX, startY, endX, endY, currentPlayer, anzahl_Zuege);
  27. char** brett = Schachbrett_erstellen();
  28. clear_Schachbrett(brett);
  29. TEST_ASSERT_NOT_NULL(brett);
  30. brett[endY][endX] = 'p';
  31. anzahl_Zuege++;
  32. startX = 2;
  33. startY = 4;
  34. endX = 1;
  35. endY = 5;
  36. currentPlayer = PLAYER_WHITE;
  37. TEST_ASSERT_TRUE(ist_En_Passaut_erlaubt_Bauer(brett,startX,startY,endX,endY,currentPlayer,anzahl_Zuege,meineHistorie));
  38. for (int i = 0; i < 8; i++) {
  39. free(brett[i]);
  40. }
  41. free(brett);
  42. // Speicher freigeben
  43. for (int i = 0; i < MAX_ZUEGE; i++) {
  44. free(meineHistorie[i]);
  45. }
  46. }
  47. void test_En_Passaut_Schwarz(void) {
  48. int MAX_ZUEGE = 70;
  49. int ZUG_INFO = 5;
  50. // Historie erstellen
  51. int** meineHistorie = erstellen_historie();
  52. // Testdaten
  53. int startX = 1;
  54. int startY = 1;
  55. int endX = 1;
  56. int endY = 3;
  57. Player currentPlayer = PLAYER_WHITE;
  58. int anzahl_Zuege = 0;
  59. // Züge zur Historie hinzufügen
  60. hinzufuegen_historie(meineHistorie, startX, startY, endX, endY, currentPlayer, anzahl_Zuege);
  61. char** brett = Schachbrett_erstellen();
  62. clear_Schachbrett(brett);
  63. TEST_ASSERT_NOT_NULL(brett);
  64. brett[endY][endX] = 'P';
  65. anzahl_Zuege++;
  66. startX = 2;
  67. startY = 3;
  68. endX = 1;
  69. endY = 2;
  70. currentPlayer = PLAYER_BLACK;
  71. TEST_ASSERT_TRUE(ist_En_Passaut_erlaubt_Bauer(brett,startX,startY,endX,endY,currentPlayer,anzahl_Zuege,meineHistorie));
  72. for (int i = 0; i < 8; i++) {
  73. free(brett[i]);
  74. }
  75. free(brett);
  76. // Speicher freigeben
  77. for (int i = 0; i < MAX_ZUEGE; i++) {
  78. free(meineHistorie[i]);
  79. }
  80. }
  81. #endif // TEST