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.

165 lines
3.8 KiB

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