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.

144 lines
3.8 KiB

  1. using MiniGames.Shared.Models;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using Xunit;
  8. namespace MiniGamesTests
  9. {
  10. public class TicTacToeBrettTest
  11. {
  12. public TicTacToeBrett TestBrett(
  13. int a = -1, int b = -1, int c = -1,
  14. int d = -1, int e = -1, int f = -1,
  15. int g = -1, int h = -1, int i = -1
  16. )
  17. {
  18. return new(
  19. new int[,]
  20. {
  21. { a, b, c, },
  22. { d, e, f, },
  23. { g, h, i, },
  24. }
  25. );
  26. }
  27. [Fact]
  28. public void Set_FreiesFeldBelegenTest()
  29. {
  30. // arrange
  31. TicTacToeBrett brett = new();
  32. TicTacToeBrett erwartetesBrett = TestBrett(-1, -1, -1, -1, 0);
  33. int pos = 4;
  34. int wert = 0;
  35. bool erwartetGesetzt = true;
  36. // act
  37. bool erhaltenGesetzt = brett.Set(pos, wert);
  38. // assert
  39. Assert.Equal(erwartetGesetzt, erhaltenGesetzt);
  40. Assert.True(brett.Gleich(erwartetesBrett));
  41. }
  42. [Fact]
  43. public void Set_BelegtesFeldBelegenTest()
  44. {
  45. // arrange
  46. TicTacToeBrett brett = TestBrett(1);
  47. TicTacToeBrett erwartetesBrett = TestBrett(1);
  48. int pos = 0;
  49. int wert = 1;
  50. bool erwartetGesetzt = false;
  51. // act
  52. bool erhaltenGesetzt = brett.Set(pos, wert);
  53. // assert
  54. Assert.Equal(erwartetGesetzt, erhaltenGesetzt);
  55. Assert.True(brett.Gleich(erwartetesBrett));
  56. }
  57. [Theory]
  58. [InlineData(-1)]
  59. [InlineData(9)]
  60. public void Set_OutOfBoundsTest(int pos)
  61. {
  62. // arrange
  63. TicTacToeBrett brett = new();
  64. TicTacToeBrett erwartetesBrett = new();
  65. int wert = 0;
  66. bool erwartetGesetzt = false;
  67. // act
  68. bool erhaltenGesetzt = brett.Set(pos, wert);
  69. // assert
  70. Assert.Equal(erwartetGesetzt, erhaltenGesetzt);
  71. Assert.True(brett.Gleich(erwartetesBrett));
  72. }
  73. [Fact]
  74. public void Gleich_LeereBretterGleichTest()
  75. {
  76. // arrange
  77. TicTacToeBrett b1 = new();
  78. TicTacToeBrett b2 = new();
  79. bool erwartetGleich = true;
  80. // act
  81. bool erhaltenGleich = b1.Gleich(b2);
  82. // assert
  83. Assert.Equal(erwartetGleich, erhaltenGleich);
  84. }
  85. [Fact]
  86. public void Gleich_NichtLeereBretterGleichTest()
  87. {
  88. // arrange
  89. TicTacToeBrett b1 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
  90. TicTacToeBrett b2 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
  91. bool erwartetGleich = true;
  92. // act
  93. bool erhaltenGleich = b1.Gleich(b2);
  94. // assert
  95. Assert.Equal(erwartetGleich, erhaltenGleich);
  96. }
  97. [Fact]
  98. public void Gleich_ErsteUngleichTest()
  99. {
  100. // arrange
  101. TicTacToeBrett b1 = TestBrett(1);
  102. TicTacToeBrett b2 = TestBrett(2);
  103. bool erwartetGleich = false;
  104. // act
  105. bool erhaltenGleich = b1.Gleich(b2);
  106. // assert
  107. Assert.Equal(erwartetGleich, erhaltenGleich);
  108. }
  109. [Fact]
  110. public void Gleich_LetzteUngleichTest()
  111. {
  112. // arrange
  113. TicTacToeBrett b1 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
  114. TicTacToeBrett b2 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 10);
  115. bool erwartetGleich = false;
  116. // act
  117. bool erhaltenGleich = b1.Gleich(b2);
  118. // assert
  119. Assert.Equal(erwartetGleich, erhaltenGleich);
  120. }
  121. }
  122. }