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.

184 lines
4.1 KiB

  1. #include "unity.h"
  2. #include "Spiellogik.h"
  3. #include "Umgebung.h"
  4. #include <stdlib.h>
  5. void setUp(void){
  6. }
  7. void tearDown(void){
  8. }
  9. //Test für sucheXWert
  10. void test_sucheXWert(void){
  11. int realU[N][N] = {0};
  12. realU[15][19] = 12;
  13. int result = sucheXWert(realU);
  14. TEST_ASSERT_EQUAL_INT(15, result);
  15. }
  16. //Test für sucheYWert
  17. void test_sucheYWert(void){
  18. int realU[N][N] = {0};
  19. realU[15][19] = 12;
  20. int result = sucheYWert(realU);
  21. TEST_ASSERT_EQUAL_INT(19, result);
  22. }
  23. //Test für sucheXWert
  24. void test_sucheXWert2(void){
  25. int realU[N][N] = {0};
  26. realU[16][13] = 12;
  27. int result = sucheXWert(realU);
  28. TEST_ASSERT_EQUAL_INT(16, result);
  29. }
  30. //Test für sucheYWert
  31. void test_sucheYWert2(void){
  32. int realU[N][N] = {0};
  33. realU[16][13] = 12;
  34. int result = sucheYWert(realU);
  35. TEST_ASSERT_EQUAL_INT(13, result);
  36. }
  37. //Tests für Funktion win
  38. //Testet ob die Schlange lang genug ist
  39. void test_win_SchlangegroesseAusreichend(void){
  40. int realU[N][N] = {0};
  41. realU[15][19] = (N*N)-1;
  42. int result = win(realU);
  43. TEST_ASSERT_EQUAL_INT(1, result);
  44. }
  45. //Test Schlange nicht lang genug
  46. void test_win_SchlangeNichtAusreichend(void){
  47. int realU[N][N] = {0};
  48. realU[15][5] = 15;
  49. int result = win(realU);
  50. TEST_ASSERT_EQUAL_INT(0, result);
  51. }
  52. //Tests für die Methode lose
  53. //Test der Methode lose mit einer Bewegung nach oben auf
  54. //ein freies Feld
  55. void test_lose_up_freiesFeld(void){
  56. int realU[20][20] = { 0 };
  57. realU[10][12] = 4;
  58. int result = lose(realU, 'u');
  59. TEST_ASSERT_EQUAL_INT(0, result);
  60. }
  61. //Test der Methode lose mit einer Bewegung nach oben auf
  62. //ein bereits belegtes Feld
  63. void test_lose_up_belegtesFeld(void){
  64. int realU[20][20] = { 0 };
  65. realU[10][12] = 4;
  66. realU[9][12] = 3;
  67. int result = lose(realU, 'u');
  68. TEST_ASSERT_EQUAL_INT(1, result);
  69. }
  70. //Test der Methode lose mit einer Bewegung nach oben ausserhalb
  71. //der Spielfeld Begrenzungen
  72. void test_lose_up_Obererrand(void){
  73. int realU[20][20] = { 0 };
  74. realU[0][12] = 4;
  75. int result = lose(realU, 'u');
  76. TEST_ASSERT_EQUAL_INT(1, result);
  77. }
  78. //Test der Methode lose mit einer Bewegung nach unten auf
  79. //ein freies Feld
  80. void test_lose_down_freiesFeld(void){
  81. int realU[20][20] = { 0 };
  82. realU[10][12] = 4;
  83. int result = lose(realU, 'd');
  84. TEST_ASSERT_EQUAL_INT(0, result);
  85. }
  86. //Test der Methode lose mit einer Bewegung nach unten auf
  87. //ein belegtes Feld
  88. void test_lose_down_belegtesFeld(void){
  89. int realU[20][20] = { 0 };
  90. realU[10][12] = 4;
  91. realU[11][12] = 3;
  92. int result = lose(realU, 'd');
  93. TEST_ASSERT_EQUAL_INT(1, result);
  94. }
  95. //Test der Methode lose mit einer Bewegung nach links auf
  96. //ein freies Feld
  97. void test_lose_left_freiesFeld(void){
  98. int realU[20][20] = { 0 };
  99. realU[5][12] = 4;
  100. int result = lose(realU, 'l');
  101. TEST_ASSERT_EQUAL_INT(0, result);
  102. }
  103. //Test der Methode lose mit einer Bewegung nach links auf
  104. //ein belegtes Feld
  105. void test_lose_left_belegtesFeld(void){
  106. int realU[20][20] = { 0 };
  107. realU[5][12] = 4;
  108. realU[5][11] = 3;
  109. int result = lose(realU, 'l');
  110. TEST_ASSERT_EQUAL_INT(1, result);
  111. }
  112. //Test der Methode lose mit einer Bewegung nach links über
  113. //den linken Spielfeldrand
  114. void test_lose_left_linkerRand(void){
  115. int realU[20][20] = { 0 };
  116. realU[5][0] = 4;
  117. int result = lose(realU, 'l');
  118. TEST_ASSERT_EQUAL_INT(1, result);
  119. }
  120. //Test der Methode lose mit einer Bewegung nach rechts auf
  121. //ein freies Feld
  122. void test_lose_right_freiesFeld(void){
  123. int realU[20][20] = { 0 };
  124. realU[5][12] = 4;
  125. int result = lose(realU, 'r');
  126. TEST_ASSERT_EQUAL_INT(0, result);
  127. }
  128. //Test der Methode lose mit einer Bewegung nach rechts auf
  129. //ein belegtes Feld
  130. void test_lose_right_belegtesFeld(void){
  131. int realU[20][20] = { 0 };
  132. realU[5][12] = 4;
  133. realU[5][13] = 3;
  134. int result = lose(realU, 'r');
  135. TEST_ASSERT_EQUAL_INT(1, result);
  136. }
  137. //Test der Methode lose mit einer Bewegung nach links über
  138. //den rechten Spielfeldrand
  139. void test_lose_right_rechterRand(void){
  140. int realU[20][20] = { 0 };
  141. realU[5][N] = 4;
  142. int result = lose(realU, 'l');
  143. TEST_ASSERT_EQUAL_INT(1, result);
  144. }