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.

125 lines
3.3 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. [Fact]
  58. public void Gleich_LeereBretterGleichTest()
  59. {
  60. // arrange
  61. TicTacToeBrett b1 = new();
  62. TicTacToeBrett b2 = new();
  63. bool erwartetGleich = true;
  64. // act
  65. bool erhaltenGleich = b1.Gleich(b2);
  66. // assert
  67. Assert.Equal(erwartetGleich, erhaltenGleich);
  68. }
  69. [Fact]
  70. public void Gleich_NichtLeereBretterGleichTest()
  71. {
  72. // arrange
  73. TicTacToeBrett b1 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
  74. TicTacToeBrett b2 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
  75. bool erwartetGleich = true;
  76. // act
  77. bool erhaltenGleich = b1.Gleich(b2);
  78. // assert
  79. Assert.Equal(erwartetGleich, erhaltenGleich);
  80. }
  81. [Fact]
  82. public void Gleich_ErsteUngleichTest()
  83. {
  84. // arrange
  85. TicTacToeBrett b1 = TestBrett(1);
  86. TicTacToeBrett b2 = TestBrett(2);
  87. bool erwartetGleich = false;
  88. // act
  89. bool erhaltenGleich = b1.Gleich(b2);
  90. // assert
  91. Assert.Equal(erwartetGleich, erhaltenGleich);
  92. }
  93. [Fact]
  94. public void Gleich_LetzteUngleichTest()
  95. {
  96. // arrange
  97. TicTacToeBrett b1 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
  98. TicTacToeBrett b2 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 10);
  99. bool erwartetGleich = false;
  100. // act
  101. bool erhaltenGleich = b1.Gleich(b2);
  102. // assert
  103. Assert.Equal(erwartetGleich, erhaltenGleich);
  104. }
  105. }
  106. }