Continous Integration in der Praxis Gruppenarbeit
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.

187 lines
5.0 KiB

  1. using MiniGames.Shared.Models;
  2. using Xunit;
  3. namespace MiniGamesTests
  4. {
  5. public class TicTacToeBrettTest
  6. {
  7. public TicTacToeBrett TestBrett(
  8. int a = TicTacToeBrett.LEER, int b = TicTacToeBrett.LEER, int c = TicTacToeBrett.LEER,
  9. int d = TicTacToeBrett.LEER, int e = TicTacToeBrett.LEER, int f = TicTacToeBrett.LEER,
  10. int g = TicTacToeBrett.LEER, int h = TicTacToeBrett.LEER, int i = TicTacToeBrett.LEER
  11. )
  12. {
  13. return new(
  14. new int[,]
  15. {
  16. { a, b, c, },
  17. { d, e, f, },
  18. { g, h, i, },
  19. }
  20. );
  21. }
  22. [Fact]
  23. public void Set_FreiesFeldBelegenTest()
  24. {
  25. // arrange
  26. TicTacToeBrett brett = new();
  27. TicTacToeBrett erwartetesBrett = TestBrett(
  28. TicTacToeBrett.LEER,
  29. TicTacToeBrett.LEER,
  30. TicTacToeBrett.LEER,
  31. TicTacToeBrett.LEER,
  32. 0
  33. );
  34. int pos = 4;
  35. int wert = 0;
  36. bool erwartetGesetzt = true;
  37. // act
  38. bool erhaltenGesetzt = brett.Set(pos, wert);
  39. // assert
  40. Assert.Equal(erwartetGesetzt, erhaltenGesetzt);
  41. Assert.True(brett.Gleich(erwartetesBrett));
  42. }
  43. [Fact]
  44. public void Set_BelegtesFeldBelegenTest()
  45. {
  46. // arrange
  47. TicTacToeBrett brett = TestBrett(1);
  48. TicTacToeBrett erwartetesBrett = TestBrett(1);
  49. int pos = 0;
  50. int wert = 1;
  51. bool erwartetGesetzt = false;
  52. // act
  53. bool erhaltenGesetzt = brett.Set(pos, wert);
  54. // assert
  55. Assert.Equal(erwartetGesetzt, erhaltenGesetzt);
  56. Assert.True(brett.Gleich(erwartetesBrett));
  57. }
  58. [Theory]
  59. [InlineData(-1)]
  60. [InlineData(9)]
  61. public void Set_OutOfBoundsTest(int pos)
  62. {
  63. // arrange
  64. TicTacToeBrett brett = new();
  65. TicTacToeBrett erwartetesBrett = new();
  66. int wert = 0;
  67. bool erwartetGesetzt = false;
  68. // act
  69. bool erhaltenGesetzt = brett.Set(pos, wert);
  70. // assert
  71. Assert.Equal(erwartetGesetzt, erhaltenGesetzt);
  72. Assert.True(brett.Gleich(erwartetesBrett));
  73. }
  74. [Fact]
  75. public void Gleich_LeereBretterGleichTest()
  76. {
  77. // arrange
  78. TicTacToeBrett b1 = new();
  79. TicTacToeBrett b2 = new();
  80. bool erwartetGleich = true;
  81. // act
  82. bool erhaltenGleich = b1.Gleich(b2);
  83. // assert
  84. Assert.Equal(erwartetGleich, erhaltenGleich);
  85. }
  86. [Fact]
  87. public void Gleich_NichtLeereBretterGleichTest()
  88. {
  89. // arrange
  90. TicTacToeBrett b1 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
  91. TicTacToeBrett b2 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
  92. bool erwartetGleich = true;
  93. // act
  94. bool erhaltenGleich = b1.Gleich(b2);
  95. // assert
  96. Assert.Equal(erwartetGleich, erhaltenGleich);
  97. }
  98. [Fact]
  99. public void Gleich_ErsteUngleichTest()
  100. {
  101. // arrange
  102. TicTacToeBrett b1 = TestBrett(1);
  103. TicTacToeBrett b2 = TestBrett(2);
  104. bool erwartetGleich = false;
  105. // act
  106. bool erhaltenGleich = b1.Gleich(b2);
  107. // assert
  108. Assert.Equal(erwartetGleich, erhaltenGleich);
  109. }
  110. [Fact]
  111. public void Gleich_LetzteUngleichTest()
  112. {
  113. // arrange
  114. TicTacToeBrett b1 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
  115. TicTacToeBrett b2 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 10);
  116. bool erwartetGleich = false;
  117. // act
  118. bool erhaltenGleich = b1.Gleich(b2);
  119. // assert
  120. Assert.Equal(erwartetGleich, erhaltenGleich);
  121. }
  122. [Fact]
  123. public void Voll_LeeresBrettTest()
  124. {
  125. // arrange
  126. TicTacToeBrett brett = TestBrett();
  127. bool erwartetVoll = false;
  128. // act
  129. bool erhaltenVoll = brett.Voll();
  130. // assert
  131. Assert.Equal(erwartetVoll, erhaltenVoll);
  132. }
  133. [Fact]
  134. public void Voll_VollesBrettTest()
  135. {
  136. // arrange
  137. TicTacToeBrett brett = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
  138. bool erwartetVoll = true;
  139. // act
  140. bool erhaltenVoll = brett.Voll();
  141. // assert
  142. Assert.Equal(erwartetVoll, erhaltenVoll);
  143. }
  144. [Fact]
  145. public void Voll_FastVollesBrettTest()
  146. {
  147. // arrange
  148. TicTacToeBrett brett = TestBrett(1, 2, 3, 4, 5, 6, 7, 8);
  149. bool erwartetVoll = false;
  150. // act
  151. bool erhaltenVoll = brett.Voll();
  152. // assert
  153. Assert.Equal(erwartetVoll, erhaltenVoll);
  154. }
  155. }
  156. }