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.

183 lines
5.6 KiB

2 years ago
2 years ago
  1. using MiniGames.Client.ViewModel;
  2. using MiniGames.Shared.Models;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using Xunit;
  9. namespace MiniGamesTests
  10. {
  11. public class SchereSteinPapierEchseSpockTest
  12. {
  13. SchereSteinPapierEchseSpock Spiel = new();
  14. SchereSteinPapierEchseSpockModel SpieleModel = new();
  15. private const string stein = "Stein";
  16. private const string schere = "Schere";
  17. private const string papier = "Papier";
  18. private const string echse = "Echse";
  19. private const string spock = "Spock";
  20. private const string gewonnen = "Gewonnen";
  21. private const string verloren = "Verloren";
  22. private const string unentschieden = "Unentschieden";
  23. private void GetSampleModels()
  24. {
  25. SpieleModel.SpielerListe = new()
  26. {
  27. new SpielerModel
  28. {
  29. SpielerName = "Andrej",
  30. Punkte = 0
  31. },
  32. new SpielerModel
  33. {
  34. SpielerName = "CPU",
  35. Punkte = 0
  36. }
  37. };
  38. }
  39. [Theory]
  40. [InlineData(stein, stein, unentschieden)]
  41. [InlineData(stein, schere, gewonnen)]
  42. [InlineData(stein, papier, verloren)]
  43. [InlineData(stein, echse, gewonnen)]
  44. [InlineData(stein, spock, verloren)]
  45. public void IsStone(string hand, string gegner, string erwartet)
  46. {
  47. //arrange
  48. string spielerHand = hand;
  49. string gegnerHand = gegner;
  50. string erwartetesErg = erwartet;
  51. //act
  52. string getestetesErg = Spiel.SpielerStein(spielerHand, gegnerHand);
  53. //assert
  54. Assert.Equal(erwartetesErg, getestetesErg);
  55. }
  56. [Theory]
  57. [InlineData(schere, stein, verloren)]
  58. [InlineData(schere, schere, unentschieden)]
  59. [InlineData(schere, papier, gewonnen)]
  60. [InlineData(schere, echse, gewonnen)]
  61. [InlineData(schere, spock, verloren)]
  62. public void IsScissor(string hand, string gegner, string erwartet)
  63. {
  64. //arrange
  65. string spielerHand = hand;
  66. string gegnerHand = gegner;
  67. string erwartetesErg = erwartet;
  68. //act
  69. string getestetesErg = Spiel.SpielerSchere(spielerHand, gegnerHand);
  70. //assert
  71. Assert.Equal(erwartetesErg, getestetesErg);
  72. }
  73. [Theory]
  74. [InlineData(papier, stein, gewonnen)]
  75. [InlineData(papier, schere, verloren)]
  76. [InlineData(papier, papier, unentschieden)]
  77. [InlineData(papier, echse, verloren)]
  78. [InlineData(papier, spock, gewonnen)]
  79. public void IsPaper(string hand, string gegner, string erwartet)
  80. {
  81. //arrange
  82. string spielerHand = hand;
  83. string gegnerHand = gegner;
  84. string erwartetesErg = erwartet;
  85. //act
  86. string getestetesErg = Spiel.SpielerPapier(spielerHand, gegnerHand);
  87. //assert
  88. Assert.Equal(erwartetesErg, getestetesErg);
  89. }
  90. [Theory]
  91. [InlineData(echse, stein, verloren)]
  92. [InlineData(echse, schere, verloren)]
  93. [InlineData(echse, papier, gewonnen)]
  94. [InlineData(echse, echse, unentschieden)]
  95. [InlineData(echse, spock, gewonnen)]
  96. public void IsLizard(string hand, string gegner, string erwartet)
  97. {
  98. //arrange
  99. string spielerHand = hand;
  100. string gegnerHand = gegner;
  101. string erwartetesErg = erwartet;
  102. //act
  103. string getestetesErg = Spiel.SpielerEchse(spielerHand, gegnerHand);
  104. //assert
  105. Assert.Equal(erwartetesErg, getestetesErg);
  106. }
  107. [Theory]
  108. [InlineData(spock, stein, gewonnen)]
  109. [InlineData(spock, schere, gewonnen)]
  110. [InlineData(spock, papier, verloren)]
  111. [InlineData(spock, echse, verloren)]
  112. [InlineData(spock, spock, unentschieden)]
  113. public void IsSpock(string hand, string gegner, string erwartet)
  114. {
  115. //arrange
  116. string spielerHand = hand;
  117. string gegnerHand = gegner;
  118. string erwartetesErg = erwartet;
  119. //act
  120. string getestetesErg = Spiel.SpielerSpock(spielerHand, gegnerHand);
  121. //assert
  122. Assert.Equal(erwartetesErg, getestetesErg);
  123. }
  124. [Theory]
  125. [InlineData(0, stein)]
  126. [InlineData(1, schere)]
  127. [InlineData(2, papier)]
  128. [InlineData(3, echse)]
  129. [InlineData(4, spock)]
  130. public void PChand(int index, string erwartet)
  131. {
  132. //arrange
  133. int _index = index;
  134. string _erwartet = erwartet;
  135. //act
  136. string erg = Spiel.CPUHand(_index);
  137. //assert
  138. Assert.Equal(_erwartet, erg);
  139. }
  140. [Theory]
  141. [InlineData(0, 1, gewonnen)]
  142. [InlineData(0, 0, verloren)]
  143. [InlineData(1, 1, verloren)]
  144. [InlineData(1, 0, gewonnen)]
  145. public void ErgebnisBerechnungTest(int player, int punkte, string ergebnis)
  146. {
  147. GetSampleModels();
  148. //arrange
  149. int _player = player;
  150. int _punkte = punkte;
  151. string _ergebnis = ergebnis;
  152. //act
  153. SchereSteinPapierEchseSpockModel endPunktzahl = SchereSteinPapierEchseSpock.PunkteBerechnung(SpieleModel, _ergebnis);
  154. //assert
  155. Assert.Equal(_punkte, endPunktzahl.SpielerListe[_player].Punkte);
  156. }
  157. }
  158. }