From 31619c09de0ff7f6188f41d4a6be4584a7f45480 Mon Sep 17 00:00:00 2001 From: ADato88 Date: Wed, 26 Jan 2022 17:03:17 +0100 Subject: [PATCH] =?UTF-8?q?neuer=20test=20f=C3=BCr=20zieh=20zwei=20regel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MiniGames/Client/ViewModel/Uno.cs | 38 +++++++++++++++++++ BlazorSolution/MiniGamesTests/UnoTest.cs | 23 +++++++++++ 2 files changed, 61 insertions(+) diff --git a/BlazorSolution/MiniGames/Client/ViewModel/Uno.cs b/BlazorSolution/MiniGames/Client/ViewModel/Uno.cs index 3c35072..cc1bf83 100644 --- a/BlazorSolution/MiniGames/Client/ViewModel/Uno.cs +++ b/BlazorSolution/MiniGames/Client/ViewModel/Uno.cs @@ -1,5 +1,6 @@ using MiniGames.Shared.Enums; using MiniGames.Shared.Models; +using System.Collections.Generic; using System.Linq; namespace MiniGames.Client.ViewModel @@ -31,6 +32,43 @@ namespace MiniGames.Client.ViewModel return _handStapel; } + public List KarteAufStapelLegen(List naechstenHand, KartenModel zuLegendeKarte) + { + List _naechstenHand = naechstenHand; + StapelModel _stapelModel = new(); + _stapelModel.KartenModels = new(); + const string _plusZweiKarte = "PlusZweiKarte"; + const string _retoureKarte = "RetoureKarte"; + const string _aussetzenKarte = "AussetzenKarte"; + + if (KartenAblageStapel.KartenModels is null) + { + KartenAblageStapel.KartenModels = new(); + } + + switch (zuLegendeKarte.Name) + { + case _plusZweiKarte: + for (int i = 0; i < 2; i++) + { + _naechstenHand.Add(ZiehKartenStapel.KartenModels.FirstOrDefault()); + ZiehKartenStapel.KartenModels.RemoveAt(0); + } + break; + case _retoureKarte: + break; + case _aussetzenKarte: + break; + default: + break; + + } + + return _naechstenHand; + } + + + #region Stapel Erstellen public static StapelModel ErstelleStandardKarten() { StapelModel stapelModel = new(); diff --git a/BlazorSolution/MiniGamesTests/UnoTest.cs b/BlazorSolution/MiniGamesTests/UnoTest.cs index 575db4a..0d5c73a 100644 --- a/BlazorSolution/MiniGamesTests/UnoTest.cs +++ b/BlazorSolution/MiniGamesTests/UnoTest.cs @@ -114,6 +114,29 @@ namespace MiniGamesTests Assert.Equal(erwartet, erhalten); } + [Theory] + [InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Gelb, true)] + private void PlusZweiKarteAufStapelLegenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial) + { + //arrange + UnoRegeln.ZiehKartenStapelZusammenstellen(); + var kartenAblageStapel = UnoRegeln.KartenAblageStapel; + var ziehKartenStapel = UnoRegeln.ZiehKartenStapel; + + var _kartenbezeichnung = kartenbezeichnung.ToString(); + var _farbe = farbe.ToString(); + var _spezial = spezial; + var naechstenHand = BeispielHand(); + var beispielZuLegendeKarte = BeispielKarte(_kartenbezeichnung, _farbe, _spezial); + + + //act + naechstenHand.KartenModels = UnoRegeln.KarteAufStapelLegen(naechstenHand.KartenModels, beispielZuLegendeKarte); + + //assert + } + + #region Stapel erstellen [Theory] [InlineData((Kartenbezeichnung)2, Farbe.Gelb, false, 19)] [InlineData((Kartenbezeichnung)7, Farbe.Blau, false, 19)]