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.

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