Browse Source

refactoring vom AussetzenKarteAufStapelLegenTest Code

feature/uno
ADato88 3 years ago
parent
commit
df22fc5b39
  1. 21
      BlazorSolution/MiniGames/Client/ViewModel/Uno.cs
  2. 36
      BlazorSolution/MiniGamesTests/UnoTest.cs

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

@ -129,29 +129,36 @@ namespace MiniGames.Client.ViewModel
}
}
public void AussetzenKarteSpielerWahl(int aktuellerSpielerId, bool uhrZeigerSinn)
private void AussetzenKarteSpielerWahl(int aktuellerSpielerId, bool uhrZeigerSinn)
{
var aktuellerSpielerIndex = Spieler.FindIndex(x => x.SpielerModel.Id == aktuellerSpielerId);
if (uhrZeigerSinn)
{
if (aktuellerSpielerIndex == Spieler.Count() - 1)
if (aktuellerSpielerId == Spieler.LastOrDefault().SpielerModel.Id)
{
NaechsterSpielerId = 2;
}
else if (aktuellerSpielerId == Spieler.LastOrDefault().SpielerModel.Id - 1)
{
NaechsterSpielerId = 1;
}
else
{
NaechsterSpielerId = Spieler[aktuellerSpielerIndex + 2].SpielerModel.Id;
NaechsterSpielerId = aktuellerSpielerId + 2;
}
}
else
{
if (aktuellerSpielerIndex != 0)
if (aktuellerSpielerId > 2)
{
NaechsterSpielerId = aktuellerSpielerId - 2;
}
else if (aktuellerSpielerId == 2)
{
NaechsterSpielerId = Spieler[aktuellerSpielerIndex - 2].SpielerModel.Id;
NaechsterSpielerId = Spieler.LastOrDefault().SpielerModel.Id;
}
else
{
NaechsterSpielerId = Spieler[Spieler.Count() - 2].SpielerModel.Id;
NaechsterSpielerId = Spieler.LastOrDefault().SpielerModel.Id - 1;
}
}
}

36
BlazorSolution/MiniGamesTests/UnoTest.cs

@ -91,6 +91,14 @@ namespace MiniGamesTests
BeispielSpielerModelsFüllen(4, "Klaus");
BeispielSpielerModelsFüllen(5, "Brigitte");
break;
case 6:
BeispielSpielerModelsFüllen(1, "Hans");
BeispielSpielerModelsFüllen(2, "Peter");
BeispielSpielerModelsFüllen(3, "Anna");
BeispielSpielerModelsFüllen(4, "Klaus");
BeispielSpielerModelsFüllen(5, "Brigitte");
BeispielSpielerModelsFüllen(6, "Morty");
break;
default:
break;
}
@ -361,7 +369,24 @@ namespace MiniGamesTests
[Theory]
[InlineData(4, 1, 3, true)]
private void AussetzenKarteAufStapelLegenTest(int anzahlSpieler, int aktuellerSpielerIndex, int naechsterSpielerIndex, bool uhrzeigerSinn)
[InlineData(4, 1, 3, false)]
[InlineData(4, 2, 4, true)]
[InlineData(4, 2, 4, false)]
[InlineData(4, 3, 1, true)]
[InlineData(4, 3, 1, false)]
[InlineData(6, 1, 3, true)]
[InlineData(6, 1, 5, false)]
[InlineData(6, 2, 4, true)]
[InlineData(6, 2, 6, false)]
[InlineData(6, 3, 5, true)]
[InlineData(6, 3, 1, false)]
[InlineData(6, 4, 6, true)]
[InlineData(6, 4, 2, false)]
[InlineData(6, 5, 1, true)]
[InlineData(6, 5, 3, false)]
[InlineData(6, 6, 2, true)]
[InlineData(6, 6, 4, false)]
private void AussetzenKarteAufStapelLegenTest(int anzahlSpieler, int aktuellerSpielerId, int naechsterSpielerId, bool uhrzeigerSinn)
{
//arrange
UnoRegeln.ZiehKartenStapelZusammenstellen();
@ -372,17 +397,16 @@ namespace MiniGamesTests
UnoRegeln.SpielerErstellen(spieler.SpielerName);
}
var erwartetNaechsterSpielerIndex = naechsterSpielerIndex;
var _aktuellerSpielerIndex = aktuellerSpielerIndex;
var erwartetNaechsterSpielerId = naechsterSpielerId;
var _aktuellerSpielerId = aktuellerSpielerId;
var beispielZuLegendeKarte = BeispielKarte(Kartenbezeichnung.AussetzenKarte.ToString(), Farbe.Rot.ToString(), true);
UnoRegeln.Uhrzeigersinn = uhrzeigerSinn;
//act
UnoRegeln.KarteAufStapelLegen(UnoRegeln.Spieler[_aktuellerSpielerIndex].SpielerModel.Id, beispielZuLegendeKarte);
UnoRegeln.KarteAufStapelLegen(_aktuellerSpielerId, beispielZuLegendeKarte);
//assert
Assert.Equal(erwartetNaechsterSpielerIndex, UnoRegeln.Spieler.FindIndex(x => x.SpielerModel.Id == UnoRegeln.NaechsterSpielerId));
Assert.Equal(erwartetNaechsterSpielerId, UnoRegeln.NaechsterSpielerId);
}
#region Stapel erstellen

Loading…
Cancel
Save