2 Commits

  1. 25
      BlazorSolution/MiniGames/Client/ViewModel/Uno.cs
  2. 10
      BlazorSolution/MiniGames/Shared/Enums/Enums.cs
  3. 46
      BlazorSolution/MiniGamesTests/UnoTest.cs

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

@ -54,5 +54,30 @@ namespace MiniGames.Client.ViewModel
return stapelModel;
}
public static StapelModel ErstelleFarbigeSpezialKarten(string kartenbezeichnung)
{
var _kartenbezeichnung = kartenbezeichnung;
StapelModel stapelModel = new();
stapelModel.KartenModels = new();
for (int f = 1; f <= 4; f++)
{
for (int i = 0; i < 2; i++)
{
var kartenfarbe = (Farbe)f;
stapelModel.KartenModels.Add(
new KartenModel
{
Name = _kartenbezeichnung.ToString(),
Farbe = kartenfarbe.ToString(),
Spezial = true
}
);
}
}
return stapelModel;
}
}
}

10
BlazorSolution/MiniGames/Shared/Enums/Enums.cs

@ -18,11 +18,11 @@ namespace MiniGames.Shared.Enums
Sieben = 7,
Acht = 8,
Neun = 9,
PlusZweiKarte,
RetoureKarte,
AussetzenKarte,
FarbwahlKarte,
ZiehVierFarbenwahlkarte
PlusZweiKarte = 10,
RetoureKarte = 11,
AussetzenKarte = 12,
FarbwahlKarte = 13,
ZiehVierFarbenwahlkarte = 14
}
[Flags]

46
BlazorSolution/MiniGamesTests/UnoTest.cs

@ -137,14 +137,60 @@ namespace MiniGamesTests
//act
var neuesDeck = Uno.ErstelleStandardKarten();
var anzahlBlau = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Blau.ToString())).Count();
var anzahlRot = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Rot.ToString())).Count();
var anzahlGruen = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Gruen.ToString())).Count();
var anzahlGelb = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Gelb.ToString())).Count();
//assert
Assert.Equal(9, anzahlBlau);
Assert.Equal(9, anzahlRot);
Assert.Equal(9, anzahlGruen);
Assert.Equal(9, anzahlGelb);
Assert.Contains(neuesDeck.KartenModels, n =>
n.Name.Equals(erwartet.Name) &&
n.Farbe.Equals(erwartet.Farbe) &&
n.Spezial == erwartet.Spezial
);
}
[Theory]
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Gelb, true)]
[InlineData(Kartenbezeichnung.RetoureKarte, Farbe.Rot, true)]
[InlineData(Kartenbezeichnung.AussetzenKarte, Farbe.Gelb, true)]
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Blau, true)]
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Gruen, true)]
[InlineData(Kartenbezeichnung.RetoureKarte, Farbe.Gelb, true)]
[InlineData(Kartenbezeichnung.AussetzenKarte, Farbe.Gruen, true)]
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Rot, true)]
private void ErstelleFarbigeSpezialKartenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial)
{
//arrange
var _kartenbezeichnung = kartenbezeichnung.ToString();
var _farbe = farbe.ToString();
var _spezial = spezial;
var erwartet = BeispielKarte(_kartenbezeichnung, _farbe, _spezial);
//act
var neuesDeck = Uno.ErstelleFarbigeSpezialKarten(_kartenbezeichnung.ToString());
var anzahlBlau = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Blau.ToString())).Count();
var anzahlRot = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Rot.ToString())).Count();
var anzahlGruen = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Gruen.ToString())).Count();
var anzahlGelb = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Gelb.ToString())).Count();
//assert
Assert.Equal(2, anzahlBlau);
Assert.Equal(2, anzahlRot);
Assert.Equal(2, anzahlGruen);
Assert.Equal(2, anzahlGelb);
Assert.Contains(neuesDeck.KartenModels, n =>
n.Name.Equals(erwartet.Name) &&
n.Farbe.Equals(erwartet.Farbe) &&
n.Spezial == erwartet.Spezial
);
}
}
}
Loading…
Cancel
Save