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.

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