diff --git a/BlazorSolution/MiniGames/Client/ViewModel/Uno.cs b/BlazorSolution/MiniGames/Client/ViewModel/Uno.cs index fa5d7cb..90dd257 100644 --- a/BlazorSolution/MiniGames/Client/ViewModel/Uno.cs +++ b/BlazorSolution/MiniGames/Client/ViewModel/Uno.cs @@ -79,5 +79,30 @@ namespace MiniGames.Client.ViewModel return stapelModel; } + + public static StapelModel ErstelleJokerKarten() + { + StapelModel stapelModel = new(); + stapelModel.KartenModels = new(); + + for (int k = 13; k <= 14; k++) + { + for (int a = 0; a < 4; a++) + { + var kartenbezeichnung = (Kartenbezeichnung)k; + stapelModel.KartenModels.Add( + new KartenModel + { + Name = kartenbezeichnung.ToString(), + Farbe = Farbe.Keine.ToString(), + Spezial = true + } + ); + } + + } + + return stapelModel; + } } } diff --git a/BlazorSolution/MiniGamesTests/UnoTest.cs b/BlazorSolution/MiniGamesTests/UnoTest.cs index 9732f0b..aa24957 100644 --- a/BlazorSolution/MiniGamesTests/UnoTest.cs +++ b/BlazorSolution/MiniGamesTests/UnoTest.cs @@ -192,5 +192,28 @@ namespace MiniGamesTests n.Spezial == erwartet.Spezial ); } + + [Theory] + [InlineData(Kartenbezeichnung.FarbwahlKarte, Farbe.Keine, true)] + private void ErstelleJokerKartenTest(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.ErstelleJokerKarten(); + var ergebnisAnzahl = neuesDeck.KartenModels.Where(x => x.Name.Equals(kartenbezeichnung.ToString())).Count(); + + //assert + Assert.Equal(4, ergebnisAnzahl); + Assert.Contains(neuesDeck.KartenModels, n => + n.Name.Equals(erwartet.Name) && + n.Farbe.Equals(erwartet.Farbe) && + n.Spezial == erwartet.Spezial + ); + } } }