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 (uhrZeigerSinn)
{ {
if (aktuellerSpielerIndex == Spieler.Count() - 1)
if (aktuellerSpielerId == Spieler.LastOrDefault().SpielerModel.Id)
{ {
NaechsterSpielerId = 2; NaechsterSpielerId = 2;
} }
else if (aktuellerSpielerId == Spieler.LastOrDefault().SpielerModel.Id - 1)
{
NaechsterSpielerId = 1;
}
else else
{ {
NaechsterSpielerId = Spieler[aktuellerSpielerIndex + 2].SpielerModel.Id;
NaechsterSpielerId = aktuellerSpielerId + 2;
} }
} }
else 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 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(4, "Klaus");
BeispielSpielerModelsFüllen(5, "Brigitte"); BeispielSpielerModelsFüllen(5, "Brigitte");
break; 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: default:
break; break;
} }
@ -361,7 +369,24 @@ namespace MiniGamesTests
[Theory] [Theory]
[InlineData(4, 1, 3, true)] [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 //arrange
UnoRegeln.ZiehKartenStapelZusammenstellen(); UnoRegeln.ZiehKartenStapelZusammenstellen();
@ -372,17 +397,16 @@ namespace MiniGamesTests
UnoRegeln.SpielerErstellen(spieler.SpielerName); 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); var beispielZuLegendeKarte = BeispielKarte(Kartenbezeichnung.AussetzenKarte.ToString(), Farbe.Rot.ToString(), true);
UnoRegeln.Uhrzeigersinn = uhrzeigerSinn; UnoRegeln.Uhrzeigersinn = uhrzeigerSinn;
//act //act
UnoRegeln.KarteAufStapelLegen(UnoRegeln.Spieler[_aktuellerSpielerIndex].SpielerModel.Id, beispielZuLegendeKarte);
UnoRegeln.KarteAufStapelLegen(_aktuellerSpielerId, beispielZuLegendeKarte);
//assert //assert
Assert.Equal(erwartetNaechsterSpielerIndex, UnoRegeln.Spieler.FindIndex(x => x.SpielerModel.Id == UnoRegeln.NaechsterSpielerId));
Assert.Equal(erwartetNaechsterSpielerId, UnoRegeln.NaechsterSpielerId);
} }
#region Stapel erstellen #region Stapel erstellen

Loading…
Cancel
Save