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