Browse Source

AblagestapelZusammenstellenTest erstellt

feature/uno
ADato88 3 years ago
parent
commit
10c4e09531
  1. 17
      BlazorSolution/MiniGames/Client/ViewModel/Uno.cs
  2. 69
      BlazorSolution/MiniGamesTests/UnoTest.cs

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

@ -37,7 +37,7 @@ namespace MiniGames.Client.ViewModel
stapelModel.KartenModels = new(); stapelModel.KartenModels = new();
for (int f = 1; f <= 4; f++) for (int f = 1; f <= 4; f++)
{ {
for (int k = 1; k <= 9; k++)
for (int k = 1; k <= 19; k++)
{ {
var kartenbezeichnung = (Kartenbezeichnung)k; var kartenbezeichnung = (Kartenbezeichnung)k;
var kartenfarbe = (Farbe)f; var kartenfarbe = (Farbe)f;
@ -106,5 +106,20 @@ namespace MiniGames.Client.ViewModel
return stapelModel; return stapelModel;
} }
public static StapelModel AblagestapelZusammenstellen()
{
var standardKarten = Uno.ErstelleStandardKarten();
var spezialKarten = Uno.ErstelleFarbigeSpezialKarten();
var jokerKarten = Uno.ErstelleJokerKarten();
StapelModel stapelModel = new();
stapelModel.KartenModels = new();
stapelModel.KartenModels.AddRange(standardKarten.KartenModels);
stapelModel.KartenModels.AddRange(spezialKarten.KartenModels);
stapelModel.KartenModels.AddRange(jokerKarten.KartenModels);
return stapelModel;
}
} }
} }

69
BlazorSolution/MiniGamesTests/UnoTest.cs

@ -120,19 +120,20 @@ namespace MiniGamesTests
} }
[Theory] [Theory]
[InlineData((Kartenbezeichnung)2, Farbe.Gelb, false)]
[InlineData((Kartenbezeichnung)7, Farbe.Blau, false)]
[InlineData((Kartenbezeichnung)9, Farbe.Gruen, false)]
[InlineData((Kartenbezeichnung)4, Farbe.Rot, false)]
[InlineData((Kartenbezeichnung)5, Farbe.Blau, false)]
[InlineData((Kartenbezeichnung)9, Farbe.Gelb, false)]
[InlineData((Kartenbezeichnung)6, Farbe.Gruen, false)]
private void ErstelleStandardKartenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial)
[InlineData((Kartenbezeichnung)2, Farbe.Gelb, false, 19)]
[InlineData((Kartenbezeichnung)7, Farbe.Blau, false, 19)]
[InlineData((Kartenbezeichnung)9, Farbe.Gruen, false, 19)]
[InlineData((Kartenbezeichnung)4, Farbe.Rot, false, 19)]
[InlineData((Kartenbezeichnung)5, Farbe.Blau, false, 19)]
[InlineData((Kartenbezeichnung)9, Farbe.Gelb, false, 19)]
[InlineData((Kartenbezeichnung)6, Farbe.Gruen, false, 19)]
private void ErstelleStandardKartenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial, int anzahl)
{ {
//arrange //arrange
var _kartenbezeichnung = kartenbezeichnung.ToString(); var _kartenbezeichnung = kartenbezeichnung.ToString();
var _farbe = farbe.ToString(); var _farbe = farbe.ToString();
var _spezial = spezial; var _spezial = spezial;
var _anzahl = anzahl;
var erwartet = BeispielKarte(_kartenbezeichnung, _farbe, _spezial); var erwartet = BeispielKarte(_kartenbezeichnung, _farbe, _spezial);
//act //act
@ -143,10 +144,10 @@ namespace MiniGamesTests
var anzahlGelb = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Gelb.ToString())).Count(); var anzahlGelb = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Gelb.ToString())).Count();
//assert //assert
Assert.Equal(9, anzahlBlau);
Assert.Equal(9, anzahlRot);
Assert.Equal(9, anzahlGruen);
Assert.Equal(9, anzahlGelb);
Assert.Equal(_anzahl, anzahlBlau);
Assert.Equal(_anzahl, anzahlRot);
Assert.Equal(_anzahl, anzahlGruen);
Assert.Equal(_anzahl, anzahlGelb);
Assert.Contains(neuesDeck.KartenModels, n => Assert.Contains(neuesDeck.KartenModels, n =>
n.Name.Equals(erwartet.Name) && n.Name.Equals(erwartet.Name) &&
@ -156,20 +157,21 @@ namespace MiniGamesTests
} }
[Theory] [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)
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Gelb, true, 6)]
[InlineData(Kartenbezeichnung.RetoureKarte, Farbe.Rot, true, 6)]
[InlineData(Kartenbezeichnung.AussetzenKarte, Farbe.Gelb, true, 6)]
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Blau, true, 6)]
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Gruen, true, 6)]
[InlineData(Kartenbezeichnung.RetoureKarte, Farbe.Gelb, true, 6)]
[InlineData(Kartenbezeichnung.AussetzenKarte, Farbe.Gruen, true, 6)]
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Rot, true, 6)]
private void ErstelleFarbigeSpezialKartenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial, int anzahl)
{ {
//arrange //arrange
var _kartenbezeichnung = kartenbezeichnung.ToString(); var _kartenbezeichnung = kartenbezeichnung.ToString();
var _farbe = farbe.ToString(); var _farbe = farbe.ToString();
var _spezial = spezial; var _spezial = spezial;
var _anzahl = anzahl;
var erwartet = BeispielKarte(_kartenbezeichnung, _farbe, _spezial); var erwartet = BeispielKarte(_kartenbezeichnung, _farbe, _spezial);
//act //act
@ -181,10 +183,10 @@ namespace MiniGamesTests
//assert //assert
Assert.Equal(6, anzahlBlau);
Assert.Equal(6, anzahlRot);
Assert.Equal(6, anzahlGruen);
Assert.Equal(6, anzahlGelb);
Assert.Equal(_anzahl, anzahlBlau);
Assert.Equal(_anzahl, anzahlRot);
Assert.Equal(_anzahl, anzahlGruen);
Assert.Equal(_anzahl, anzahlGelb);
Assert.Contains(neuesDeck.KartenModels, n => Assert.Contains(neuesDeck.KartenModels, n =>
n.Name.Equals(erwartet.Name) && n.Name.Equals(erwartet.Name) &&
@ -194,14 +196,15 @@ namespace MiniGamesTests
} }
[Theory] [Theory]
[InlineData(Kartenbezeichnung.FarbwahlKarte, Farbe.Keine, true)]
[InlineData(Kartenbezeichnung.ZiehVierFarbenwahlkarte, Farbe.Keine, true)]
private void ErstelleJokerKartenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial)
[InlineData(Kartenbezeichnung.FarbwahlKarte, Farbe.Keine, true, 4)]
[InlineData(Kartenbezeichnung.ZiehVierFarbenwahlkarte, Farbe.Keine, true, 4)]
private void ErstelleJokerKartenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial, int anzahl)
{ {
//arrange //arrange
var _kartenbezeichnung = kartenbezeichnung.ToString(); var _kartenbezeichnung = kartenbezeichnung.ToString();
var _farbe = farbe.ToString(); var _farbe = farbe.ToString();
var _spezial = spezial; var _spezial = spezial;
var _anzahl = anzahl;
var erwartet = BeispielKarte(_kartenbezeichnung, _farbe, _spezial); var erwartet = BeispielKarte(_kartenbezeichnung, _farbe, _spezial);
//act //act
@ -209,12 +212,20 @@ namespace MiniGamesTests
var ergebnisAnzahl = neuesDeck.KartenModels.Where(x => x.Name.Equals(kartenbezeichnung.ToString())).Count(); var ergebnisAnzahl = neuesDeck.KartenModels.Where(x => x.Name.Equals(kartenbezeichnung.ToString())).Count();
//assert //assert
Assert.Equal(4, ergebnisAnzahl);
Assert.Equal(_anzahl, ergebnisAnzahl);
Assert.Contains(neuesDeck.KartenModels, n => Assert.Contains(neuesDeck.KartenModels, n =>
n.Name.Equals(erwartet.Name) && n.Name.Equals(erwartet.Name) &&
n.Farbe.Equals(erwartet.Farbe) && n.Farbe.Equals(erwartet.Farbe) &&
n.Spezial == erwartet.Spezial n.Spezial == erwartet.Spezial
); );
} }
[Fact]
private void AblagestapelZusammenstellenTest()
{
var ergebnis = Uno.AblagestapelZusammenstellen();
Assert.Equal(108, ergebnis.KartenModels.Count());
}
} }
} }
Loading…
Cancel
Save