Browse Source

refactoring und einführung von enums

feature/uno
ADato88 3 years ago
parent
commit
0fbf3fc563
  1. 32
      BlazorSolution/MiniGames/Shared/Enums/Enums.cs
  2. 70
      BlazorSolution/MiniGamesTests/UnoTest.cs

32
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
}
}

70
BlazorSolution/MiniGamesTests/UnoTest.cs

@ -1,4 +1,5 @@
using MiniGames.Client.ViewModel; using MiniGames.Client.ViewModel;
using MiniGames.Shared.Enums;
using MiniGames.Shared.Models; using MiniGames.Shared.Models;
using Moq; using Moq;
using System; using System;
@ -24,8 +25,8 @@ namespace MiniGamesTests
{ {
new KartenModel new KartenModel
{ {
Name = "2 Ziehen",
Farbe = "Gelb",
Name = Kartenbezeichnung.PlusZweiKarte.ToString(),
Farbe = Farbe.Gelb.ToString(),
Spezial = true Spezial = true
} }
} }
@ -34,34 +35,20 @@ namespace MiniGamesTests
return HandStapel; 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(); StapelModel TestStapel = new();
TestStapel.KartenModels = new() TestStapel.KartenModels = new()
{ {
new KartenModel 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; return TestStapel;
@ -69,32 +56,41 @@ namespace MiniGamesTests
[Theory] [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 //arrange
var _ablegeStabelKarte = ablegeStapelKarte;
var _neueKarte = neueKarte;
var _ablegeStabelKarteFarbe = ablegeStapelKarteFarbe.ToString();
var _neueKarteFarbe = neueKarteFarbe.ToString();
var _erwartet = erwartet; var _erwartet = erwartet;
//act //act
var erhalten = UnoRegeln.IstAblageStabelFarbeGleichHand(_ablegeStabelKarte, _neueKarte);
var erhalten = UnoRegeln.IstAblageStabelFarbeGleichHand(_ablegeStabelKarteFarbe, _neueKarteFarbe);
//assert //assert
Assert.Equal(_erwartet, erhalten); 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 //arrange
var _SpezialName = spezialName.ToString();
var _farbe = farbe.ToString();
var _spezial = spezial;
StapelModel zuFüllend = new(); StapelModel zuFüllend = new();
var beispielStapel = BeispielZiehKarten();
var beispielStapel = BeispielZiehKarten(_SpezialName, _farbe, _spezial);
var beispielHand = BeispielHand(); var beispielHand = BeispielHand();
//act //act

Loading…
Cancel
Save