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.

145 lines
4.5 KiB

3 years ago
3 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. [Theory]
  24. [InlineData(stein, stein, unentschieden)]
  25. [InlineData(stein, schere, gewonnen)]
  26. [InlineData(stein, papier, verloren)]
  27. [InlineData(stein, echse, gewonnen)]
  28. [InlineData(stein, spock, verloren)]
  29. public void IsStone(string hand, string gegner, string erwartet)
  30. {
  31. //arrange
  32. string spielerHand = hand;
  33. string gegnerHand = gegner;
  34. string erwartetesErg = erwartet;
  35. //act
  36. string getestetesErg = Spiel.SpielerStein(spielerHand, gegnerHand);
  37. //assert
  38. Assert.Equal(erwartetesErg, getestetesErg);
  39. }
  40. [Theory]
  41. [InlineData(schere, stein, verloren)]
  42. [InlineData(schere, schere, unentschieden)]
  43. [InlineData(schere, papier, gewonnen)]
  44. [InlineData(schere, echse, gewonnen)]
  45. [InlineData(schere, spock, verloren)]
  46. public void IsScissor(string hand, string gegner, string erwartet)
  47. {
  48. //arrange
  49. string spielerHand = hand;
  50. string gegnerHand = gegner;
  51. string erwartetesErg = erwartet;
  52. //act
  53. string getestetesErg = Spiel.SpielerSchere(spielerHand, gegnerHand);
  54. //assert
  55. Assert.Equal(erwartetesErg, getestetesErg);
  56. }
  57. [Theory]
  58. [InlineData(papier, stein, gewonnen)]
  59. [InlineData(papier, schere, verloren)]
  60. [InlineData(papier, papier, unentschieden)]
  61. [InlineData(papier, echse, verloren)]
  62. [InlineData(papier, spock, gewonnen)]
  63. public void IsPaper(string hand, string gegner, string erwartet)
  64. {
  65. //arrange
  66. string spielerHand = hand;
  67. string gegnerHand = gegner;
  68. string erwartetesErg = erwartet;
  69. //act
  70. string getestetesErg = Spiel.SpielerPapier(spielerHand, gegnerHand);
  71. //assert
  72. Assert.Equal(erwartetesErg, getestetesErg);
  73. }
  74. [Theory]
  75. [InlineData(echse, stein, verloren)]
  76. [InlineData(echse, schere, verloren)]
  77. [InlineData(echse, papier, gewonnen)]
  78. [InlineData(echse, echse, unentschieden)]
  79. [InlineData(echse, spock, gewonnen)]
  80. public void IsLizard(string hand, string gegner, string erwartet)
  81. {
  82. //arrange
  83. string spielerHand = hand;
  84. string gegnerHand = gegner;
  85. string erwartetesErg = erwartet;
  86. //act
  87. string getestetesErg = Spiel.SpielerEchse(spielerHand, gegnerHand);
  88. //assert
  89. Assert.Equal(erwartetesErg, getestetesErg);
  90. }
  91. [Theory]
  92. [InlineData(spock, stein, gewonnen)]
  93. [InlineData(spock, schere, gewonnen)]
  94. [InlineData(spock, papier, verloren)]
  95. [InlineData(spock, echse, verloren)]
  96. [InlineData(spock, spock, unentschieden)]
  97. public void IsSpock(string hand, string gegner, string erwartet)
  98. {
  99. //arrange
  100. string spielerHand = hand;
  101. string gegnerHand = gegner;
  102. string erwartetesErg = erwartet;
  103. //act
  104. string getestetesErg = Spiel.SpielerSpock(spielerHand, gegnerHand);
  105. //assert
  106. Assert.Equal(erwartetesErg, getestetesErg);
  107. }
  108. [Theory]
  109. [InlineData(0, stein)]
  110. [InlineData(1, schere)]
  111. [InlineData(2, papier)]
  112. [InlineData(3, echse)]
  113. [InlineData(4, spock)]
  114. public void PChand(int index, string erwartet)
  115. {
  116. //arrange
  117. int _index = index;
  118. string _erwartet = erwartet;
  119. //act
  120. string erg = Spiel.CPUHand(_index);
  121. //assert
  122. Assert.Equal(_erwartet, erg);
  123. }
  124. }
  125. }