From 0fbf3fc5633b7d9584b8e31efd0e8adfabec3d33 Mon Sep 17 00:00:00 2001 From: ADato88 Date: Wed, 26 Jan 2022 06:57:15 +0100 Subject: [PATCH] =?UTF-8?q?refactoring=20und=20einf=C3=BChrung=20von=20enu?= =?UTF-8?q?ms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MiniGames/Shared/Enums/Enums.cs | 32 +++++++++ BlazorSolution/MiniGamesTests/UnoTest.cs | 70 +++++++++---------- 2 files changed, 65 insertions(+), 37 deletions(-) create mode 100644 BlazorSolution/MiniGames/Shared/Enums/Enums.cs diff --git a/BlazorSolution/MiniGames/Shared/Enums/Enums.cs b/BlazorSolution/MiniGames/Shared/Enums/Enums.cs new file mode 100644 index 0000000..8066649 --- /dev/null +++ b/BlazorSolution/MiniGames/Shared/Enums/Enums.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MiniGames.Shared.Enums +{ + [Flags] + public enum Kartenbezeichnung + { + Eins = 1, + Zwei = 2, + Drei = 3, + Vier = 4, + Fuenf = 5, + Sechs = 6, + Sieben = 7, + Acht = 8, + Neun = 9, + PlusZweiKarte, + RetoureKarte, + AussetzenKarte, + FarbwahlKarte, + ZiehVierFarbenwahlkarte + } + + public enum Farbe + { + Blau, Rot, Gruen, Gelb, Keine + } +} diff --git a/BlazorSolution/MiniGamesTests/UnoTest.cs b/BlazorSolution/MiniGamesTests/UnoTest.cs index 8101a58..9da3ae5 100644 --- a/BlazorSolution/MiniGamesTests/UnoTest.cs +++ b/BlazorSolution/MiniGamesTests/UnoTest.cs @@ -1,4 +1,5 @@ using MiniGames.Client.ViewModel; +using MiniGames.Shared.Enums; using MiniGames.Shared.Models; using Moq; using System; @@ -24,8 +25,8 @@ namespace MiniGamesTests { new KartenModel { - Name = "2 Ziehen", - Farbe = "Gelb", + Name = Kartenbezeichnung.PlusZweiKarte.ToString(), + Farbe = Farbe.Gelb.ToString(), Spezial = true } } @@ -34,34 +35,20 @@ namespace MiniGamesTests return HandStapel; } - private StapelModel BeispielZiehKarten() + private StapelModel BeispielZiehKarten(string name, string farbe, bool spezial) { + var _name = name; + var _farbe = farbe; + var _spezial = spezial; + StapelModel TestStapel = new(); TestStapel.KartenModels = new() { new KartenModel { - Name = "Retoure", - Farbe = "Blau", - Spezial = true - }, - new KartenModel - { - Name = "Retoure", - Farbe = "Rot", - Spezial = true - }, - new KartenModel - { - Name = "Retoure", - Farbe = "Gruen", - Spezial = true - }, - new KartenModel - { - Name = "Retoure", - Farbe = "Gelb", - Spezial = true + Name = _name, + Farbe = _farbe, + Spezial = _spezial }, }; return TestStapel; @@ -69,32 +56,41 @@ namespace MiniGamesTests [Theory] - [InlineData("rot", "rot", true)] - [InlineData("blau", "rot", false)] - [InlineData("rot", "blau", false)] - [InlineData("blau", "blau", true)] - [InlineData("gelb", "rot", false)] - [InlineData("gruen", "gruen", true)] - private void IstAblageStabelFarbeGleichHandTest(string ablegeStapelKarte, string neueKarte, bool erwartet) + [InlineData(Farbe.Rot, Farbe.Rot, true)] + [InlineData(Farbe.Blau, Farbe.Rot, false)] + [InlineData(Farbe.Rot, Farbe.Blau, false)] + [InlineData(Farbe.Blau, Farbe.Blau, true)] + [InlineData(Farbe.Gelb, Farbe.Rot, false)] + [InlineData(Farbe.Gruen, Farbe.Gruen, true)] + private void IstAblageStabelFarbeGleichHandTest(Farbe ablegeStapelKarteFarbe, Farbe neueKarteFarbe, bool erwartet) { //arrange - var _ablegeStabelKarte = ablegeStapelKarte; - var _neueKarte = neueKarte; + var _ablegeStabelKarteFarbe = ablegeStapelKarteFarbe.ToString(); + var _neueKarteFarbe = neueKarteFarbe.ToString(); var _erwartet = erwartet; //act - var erhalten = UnoRegeln.IstAblageStabelFarbeGleichHand(_ablegeStabelKarte, _neueKarte); + var erhalten = UnoRegeln.IstAblageStabelFarbeGleichHand(_ablegeStabelKarteFarbe, _neueKarteFarbe); //assert Assert.Equal(_erwartet, erhalten); } - [Fact] - private void ZiehEineKarteTest() + [Theory] + [InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Blau, true)] + [InlineData((Kartenbezeichnung)1, Farbe.Gelb, false)] + [InlineData((Kartenbezeichnung)3, Farbe.Blau, false)] + [InlineData((Kartenbezeichnung)7, Farbe.Gruen, false)] + [InlineData(Kartenbezeichnung.FarbwahlKarte, Farbe.Keine, false)] + private void ZiehEineKarteTest(Kartenbezeichnung spezialName, Farbe farbe, bool spezial) { //arrange + var _SpezialName = spezialName.ToString(); + var _farbe = farbe.ToString(); + var _spezial = spezial; StapelModel zuFüllend = new(); - var beispielStapel = BeispielZiehKarten(); + + var beispielStapel = BeispielZiehKarten(_SpezialName, _farbe, _spezial); var beispielHand = BeispielHand(); //act