Browse Source

nachsterSpielerTest erstellt

feature/uno
Dato88 2 years ago
parent
commit
04225dc7eb
  1. 31
      BlazorSolution/MiniGames/Client/ViewModel/Uno.cs
  2. 29
      BlazorSolution/MiniGamesTests/UnoTest.cs

31
BlazorSolution/MiniGames/Client/ViewModel/Uno.cs

@ -11,6 +11,7 @@ namespace MiniGames.Client.ViewModel
public StapelModel KartenAblageStapel { get; set; } = new();
public StapelModel ZiehKartenStapel { get; set; } = new();
public List<HandKartenModel> Spieler { get; set; } = new();
public int NaechsterSpielerId { get; set; }
public bool IstAblageStapelFarbeGleichZuLegendeKarte(string neueKarteFarbe)
{
@ -87,6 +88,32 @@ namespace MiniGames.Client.ViewModel
});
}
public void SpielerWahl(int aktuellerSpielerId, bool uhrZeigerSinn)
{
var aktuellerSpielerIndex = Spieler.FindIndex(x => x.SpielerModel.Id == aktuellerSpielerId);
if (uhrZeigerSinn)
{
if (aktuellerSpielerIndex == Spieler.Count() - 1)
{
NaechsterSpielerId = 1;
}
else
{
NaechsterSpielerId = Spieler[aktuellerSpielerIndex + 1].SpielerModel.Id;
}
}
else
{
if (aktuellerSpielerIndex != 0)
{
NaechsterSpielerId = Spieler[aktuellerSpielerIndex - 1].SpielerModel.Id;
}
else
{
NaechsterSpielerId = Spieler.LastOrDefault().SpielerModel.Id;
}
}
}
#region Stapel Erstellen
public static StapelModel ErstelleStandardKarten()
@ -163,8 +190,8 @@ namespace MiniGames.Client.ViewModel
}
return stapelModel;
}
}
public void ZiehKartenStapelZusammenstellen()
{
var standardKarten = Uno.ErstelleStandardKarten();

29
BlazorSolution/MiniGamesTests/UnoTest.cs

@ -122,6 +122,35 @@ namespace MiniGamesTests
Assert.NotNull(ergebnis[2].KartenModels);
}
[Theory]
[InlineData("Andrej", 1, "Paul", 2, "Erhard", 3, true, 2, 3)]
[InlineData("Sabine", 1, "Erich", 2, "Anna", 3, false, 3, 2)]
[InlineData("Thomas", 1, "Mike", 2, "Robin", 3, true, 2, 3)]
[InlineData("Andrej", 1, "Paul", 2, "Erhard", 3, true, 3, 1)]
[InlineData("Sabine", 1, "Erich", 2, "Anna", 3, false, 1, 3)]
private void NaechsterSpielerTest(string spielerEinsName, int spielerEinsId, string spielerZweiName, int spielerZweiId, string spielerDreiName, int spielerDreiId, bool uhrZeigerSinn, int aktuellerSpieler, int naechsterErwartung)
{
//arrange
var _spielerEinsName = spielerEinsName;
var _spielerEinsId = spielerEinsId;
var _spielerZweiName = spielerZweiName;
var _spielerZweiId = spielerZweiId;
var _spielerDreiName = spielerDreiName;
var _spielerDreiId = spielerDreiId;
var _uhrZeigerSinn = uhrZeigerSinn;
var _aktuellerSpieler = aktuellerSpieler;
var _naechsterErwartung = naechsterErwartung;
//act
UnoRegeln.SpielerErstellen(_spielerEinsName);
UnoRegeln.SpielerErstellen(_spielerZweiName);
UnoRegeln.SpielerErstellen(_spielerDreiName);
UnoRegeln.SpielerWahl(_aktuellerSpieler, _uhrZeigerSinn);
//assert
Assert.Equal(_naechsterErwartung, UnoRegeln.NaechsterSpielerId);
}
#endregion

Loading…
Cancel
Save