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.

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