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