diff --git a/BlazorSolution/MiniGames/Client/ViewModel/Uno.cs b/BlazorSolution/MiniGames/Client/ViewModel/Uno.cs index 72cdcb1..6092ea8 100644 --- a/BlazorSolution/MiniGames/Client/ViewModel/Uno.cs +++ b/BlazorSolution/MiniGames/Client/ViewModel/Uno.cs @@ -24,6 +24,18 @@ namespace MiniGames.Client.ViewModel } } + public bool IstAblageStapelZahlGleichZuLegendeKarte(string handStapelKarteBezeichnung) + { + if (KartenAblageStapel.KartenModels.LastOrDefault().Name.Equals(handStapelKarteBezeichnung)) + { + return true; + } + else + { + return false; + } + } + public void ZiehEineKarte(int id) { int _id = id; @@ -51,8 +63,8 @@ namespace MiniGames.Client.ViewModel { case _plusZweiKarte: for (int i = 0; i < 2; i++) - { - ZiehEineKarte(_id); + { + ZiehEineKarte(_id); } break; case _retoureKarte: @@ -166,9 +178,9 @@ namespace MiniGames.Client.ViewModel ZiehKartenStapel.KartenModels.AddRange(standardKarten.KartenModels); ZiehKartenStapel.KartenModels.AddRange(spezialKarten.KartenModels); ZiehKartenStapel.KartenModels.AddRange(jokerKarten.KartenModels); - } - - + } + + #endregion } } diff --git a/BlazorSolution/MiniGamesTests/UnoTest.cs b/BlazorSolution/MiniGamesTests/UnoTest.cs index a8ba212..dc84fa5 100644 --- a/BlazorSolution/MiniGamesTests/UnoTest.cs +++ b/BlazorSolution/MiniGamesTests/UnoTest.cs @@ -131,21 +131,43 @@ namespace MiniGamesTests private void IstAblageStapelFarbeGleichZuLegendeKarteTest(Farbe ablegeStapelKarteFarbe, Farbe neueKarteFarbe, bool erwartet) { //arrange - UnoRegeln.ZiehKartenStapelZusammenstellen(); var _ablegeStabelKarteFarbe = ablegeStapelKarteFarbe.ToString(); var _neueKarteFarbe = neueKarteFarbe.ToString(); var _erwartet = erwartet; - UnoRegeln.KartenAblageStapel.KartenModels = new(); - UnoRegeln.KartenAblageStapel.KartenModels.Add(BeispielKarte("Testkarten Name", _ablegeStabelKarteFarbe, false)); //act + UnoRegeln.KartenAblageStapel.KartenModels = new(); + UnoRegeln.KartenAblageStapel.KartenModels.Add( + BeispielKarte("Testkarten Name", _ablegeStabelKarteFarbe, false) + ); var erhalten = UnoRegeln.IstAblageStapelFarbeGleichZuLegendeKarte(_neueKarteFarbe); //assert Assert.Equal(_erwartet, erhalten); } + [Theory] + [InlineData(Kartenbezeichnung.Acht, Kartenbezeichnung.Acht, true)] + private void IstAblageStapelZahlGleichZuLegendeKarteTest(Kartenbezeichnung ablegeStapelKarteBezeichnung, Kartenbezeichnung handStapelKarteBezeichnung, bool erwartet) + { + //arrange + var _ablegeStapelKarteBezeichnung = ablegeStapelKarteBezeichnung.ToString(); + var _handStapelKarteBezeichnung = handStapelKarteBezeichnung.ToString(); + var _erwartet = erwartet; + + //act + UnoRegeln.KartenAblageStapel.KartenModels = new(); + UnoRegeln.KartenAblageStapel.KartenModels.Add( + BeispielKarte(_ablegeStapelKarteBezeichnung, Farbe.Blau.ToString(), false) + ); + var erhalten = UnoRegeln.IstAblageStapelZahlGleichZuLegendeKarte(_handStapelKarteBezeichnung); + + //assert + Assert.Equal(_erwartet, erhalten); + + } + [Fact] private void ZiehEineKarteTest() {