Browse Source

refactoring vom IsStone Code

feature/scheresteinpapier
ADato88 3 years ago
parent
commit
a44ee95d4b
  1. 12
      BlazorSolution/MiniGames/Client/ViewModel/SchereSteinPapierEchseSpock.cs
  2. 2
      BlazorSolution/MiniGames/Shared/Models/SchereSteinPapierEchseSpockModel.cs
  3. 23
      BlazorSolution/MiniGamesTests/SchereSteinPapierEchseSpockTest.cs

12
BlazorSolution/MiniGames/Client/ViewModel/SchereSteinPapierEchseSpock.cs

@ -7,17 +7,17 @@ namespace MiniGames.Client.ViewModel
{ {
SchereSteinPapierEchseSpockModel RegelModel = new(); SchereSteinPapierEchseSpockModel RegelModel = new();
public string SpielerStein(int hand, int gegner)
public string SpielerStein(string spielerHand, string gegnerHand)
{ {
if(hand == 0 && (gegner == 1 || gegner == 3))
if(spielerHand.Equals(RegelModel.hand[0]) && (gegnerHand.Equals(RegelModel.hand[1]) || gegnerHand.Equals(RegelModel.hand[3])))
{ {
return RegelModel.erg[0].ToString();
} else if(hand == 0 && (gegner == 2 || gegner == 4))
return RegelModel.erg[0];
} else if(spielerHand.Equals(RegelModel.hand[0]) && (gegnerHand.Equals(RegelModel.hand[2]) || gegnerHand.Equals(RegelModel.hand[4])))
{ {
return RegelModel.erg[1].ToString();
return RegelModel.erg[1];
} else } else
{ {
return RegelModel.erg[2].ToString();
return RegelModel.erg[2];
} }
} }
} }

2
BlazorSolution/MiniGames/Shared/Models/SchereSteinPapierEchseSpockModel.cs

@ -11,8 +11,8 @@ namespace MiniGames.Shared.Models
public string[] hand = new[] public string[] hand = new[]
{ {
"Stein", "Stein",
"Papier",
"Schere", "Schere",
"Papier",
"Echse", "Echse",
"Spock" "Spock"
}; };

23
BlazorSolution/MiniGamesTests/SchereSteinPapierEchseSpockTest.cs

@ -12,19 +12,32 @@ namespace MiniGamesTests
public class SchereSteinPapierEchseSpockTest public class SchereSteinPapierEchseSpockTest
{ {
SchereSteinPapierEchseSpock Spiel = new(); SchereSteinPapierEchseSpock Spiel = new();
SchereSteinPapierEchseSpockModel SpieleModel = new();
private const string stein = "Stein";
private const string schere = "Schere";
private const string papier = "Papier";
private const string echse = "Echse";
private const string spock = "Spock";
private const string gewonnen = "Gewonnen";
private const string verloren = "Verloren";
private const string unentschieden = "Unentschieden";
[Theory] [Theory]
[InlineData(0, 0, "Unentschieden")]
public void IsStone(int hand, int gegnerHand, string erwartet)
[InlineData(stein, stein, unentschieden)]
[InlineData(stein, schere, gewonnen)]
[InlineData(stein, papier, verloren)]
[InlineData(stein, echse, gewonnen)]
[InlineData(stein, spock, verloren)]
public void IsStone(string hand, string gegner, string erwartet)
{ {
//arrange //arrange
int handId = hand;
int gegnerId = gegnerHand;
string spielerHand = hand;
string gegnerHand = gegner;
string erwartetesErg = erwartet; string erwartetesErg = erwartet;
//act //act
string getestetesErg = Spiel.SpielerStein(handId, gegnerId);
string getestetesErg = Spiel.SpielerStein(spielerHand, gegnerHand);
//assert //assert
Assert.Equal(erwartetesErg, getestetesErg); Assert.Equal(erwartetesErg, getestetesErg);

Loading…
Cancel
Save