|
|
@ -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
|
|
|
|