diff --git a/BlazorSolution/MiniGames/Client/ViewModel/SchereSteinPapierEchseSpock.cs b/BlazorSolution/MiniGames/Client/ViewModel/SchereSteinPapierEchseSpock.cs index 274fd87..1f4b1ca 100644 --- a/BlazorSolution/MiniGames/Client/ViewModel/SchereSteinPapierEchseSpock.cs +++ b/BlazorSolution/MiniGames/Client/ViewModel/SchereSteinPapierEchseSpock.cs @@ -71,5 +71,20 @@ namespace MiniGames.Client.ViewModel } } - + public string SpielerSpock(string spielerHand, string gegnerHand) + { + if (spielerHand.Equals(RegelModel.hand[4]) && (gegnerHand.Equals(RegelModel.hand[0]) || gegnerHand.Equals(RegelModel.hand[1]))) + { + return RegelModel.erg[0]; + } + else if (spielerHand.Equals(RegelModel.hand[4]) && (gegnerHand.Equals(RegelModel.hand[2]) || gegnerHand.Equals(RegelModel.hand[3]))) + { + return RegelModel.erg[1]; + } + else + { + return RegelModel.erg[2]; + } + } + } } diff --git a/BlazorSolution/MiniGamesTests/SchereSteinPapierEchseSpockTest.cs b/BlazorSolution/MiniGamesTests/SchereSteinPapierEchseSpockTest.cs index 20f1f19..7f53eeb 100644 --- a/BlazorSolution/MiniGamesTests/SchereSteinPapierEchseSpockTest.cs +++ b/BlazorSolution/MiniGamesTests/SchereSteinPapierEchseSpockTest.cs @@ -103,6 +103,24 @@ namespace MiniGamesTests Assert.Equal(erwartetesErg, getestetesErg); } - + [Theory] + [InlineData(spock, stein, gewonnen)] + [InlineData(spock, schere, gewonnen)] + [InlineData(spock, papier, verloren)] + [InlineData(spock, echse, verloren)] + [InlineData(spock, spock, unentschieden)] + public void IsSpock(string hand, string gegner, string erwartet) + { + //arrange + string spielerHand = hand; + string gegnerHand = gegner; + string erwartetesErg = erwartet; + + //act + string getestetesErg = Spiel.SpielerSpock(spielerHand, gegnerHand); + + //assert + Assert.Equal(erwartetesErg, getestetesErg); + } } }