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.

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