|
|
@ -1,12 +1,7 @@ |
|
|
|
using MiniGames.Client.ViewModel; |
|
|
|
using MiniGames.Shared.Enums; |
|
|
|
using MiniGames.Shared.Models; |
|
|
|
using Moq; |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Linq; |
|
|
|
using System.Text; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Xunit; |
|
|
|
|
|
|
|
namespace MiniGamesTests |
|
|
@ -51,7 +46,7 @@ namespace MiniGamesTests |
|
|
|
return HandStapel; |
|
|
|
} |
|
|
|
|
|
|
|
private StapelModel BeispielZiehKarten(string name, string farbe, bool spezial) |
|
|
|
private StapelModel BeispielStapelModelKarten(string name, string farbe, bool spezial) |
|
|
|
{ |
|
|
|
var _name = name; |
|
|
|
var _farbe = farbe; |
|
|
@ -106,7 +101,7 @@ namespace MiniGamesTests |
|
|
|
var _spezial = spezial; |
|
|
|
StapelModel zuFüllend = new(); |
|
|
|
|
|
|
|
var beispielStapel = BeispielZiehKarten(_kartenbezeichnung, _farbe, _spezial); |
|
|
|
var beispielStapel = BeispielStapelModelKarten(_kartenbezeichnung, _farbe, _spezial); |
|
|
|
var beispielHand = BeispielHand(); |
|
|
|
|
|
|
|
//act
|
|
|
@ -120,19 +115,20 @@ namespace MiniGamesTests |
|
|
|
} |
|
|
|
|
|
|
|
[Theory] |
|
|
|
[InlineData((Kartenbezeichnung)2, Farbe.Gelb, false)] |
|
|
|
[InlineData((Kartenbezeichnung)7, Farbe.Blau, false)] |
|
|
|
[InlineData((Kartenbezeichnung)9, Farbe.Gruen, false)] |
|
|
|
[InlineData((Kartenbezeichnung)4, Farbe.Rot, false)] |
|
|
|
[InlineData((Kartenbezeichnung)5, Farbe.Blau, false)] |
|
|
|
[InlineData((Kartenbezeichnung)9, Farbe.Gelb, false)] |
|
|
|
[InlineData((Kartenbezeichnung)6, Farbe.Gruen, false)] |
|
|
|
private void ErstelleStandardKartenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial) |
|
|
|
[InlineData((Kartenbezeichnung)2, Farbe.Gelb, false, 19)] |
|
|
|
[InlineData((Kartenbezeichnung)7, Farbe.Blau, false, 19)] |
|
|
|
[InlineData((Kartenbezeichnung)9, Farbe.Gruen, false, 19)] |
|
|
|
[InlineData((Kartenbezeichnung)4, Farbe.Rot, false, 19)] |
|
|
|
[InlineData((Kartenbezeichnung)5, Farbe.Blau, false, 19)] |
|
|
|
[InlineData((Kartenbezeichnung)9, Farbe.Gelb, false, 19)] |
|
|
|
[InlineData((Kartenbezeichnung)6, Farbe.Gruen, false, 19)] |
|
|
|
private void ErstelleStandardKartenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial, int anzahl) |
|
|
|
{ |
|
|
|
//arrange
|
|
|
|
var _kartenbezeichnung = kartenbezeichnung.ToString(); |
|
|
|
var _farbe = farbe.ToString(); |
|
|
|
var _spezial = spezial; |
|
|
|
var _anzahl = anzahl; |
|
|
|
var erwartet = BeispielKarte(_kartenbezeichnung, _farbe, _spezial); |
|
|
|
|
|
|
|
//act
|
|
|
@ -143,10 +139,10 @@ namespace MiniGamesTests |
|
|
|
var anzahlGelb = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Gelb.ToString())).Count(); |
|
|
|
|
|
|
|
//assert
|
|
|
|
Assert.Equal(9, anzahlBlau); |
|
|
|
Assert.Equal(9, anzahlRot); |
|
|
|
Assert.Equal(9, anzahlGruen); |
|
|
|
Assert.Equal(9, anzahlGelb); |
|
|
|
Assert.Equal(_anzahl, anzahlBlau); |
|
|
|
Assert.Equal(_anzahl, anzahlRot); |
|
|
|
Assert.Equal(_anzahl, anzahlGruen); |
|
|
|
Assert.Equal(_anzahl, anzahlGelb); |
|
|
|
|
|
|
|
Assert.Contains(neuesDeck.KartenModels, n => |
|
|
|
n.Name.Equals(erwartet.Name) && |
|
|
@ -156,24 +152,25 @@ namespace MiniGamesTests |
|
|
|
} |
|
|
|
|
|
|
|
[Theory] |
|
|
|
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Gelb, true)] |
|
|
|
[InlineData(Kartenbezeichnung.RetoureKarte, Farbe.Rot, true)] |
|
|
|
[InlineData(Kartenbezeichnung.AussetzenKarte, Farbe.Gelb, true)] |
|
|
|
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Blau, true)] |
|
|
|
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Gruen, true)] |
|
|
|
[InlineData(Kartenbezeichnung.RetoureKarte, Farbe.Gelb, true)] |
|
|
|
[InlineData(Kartenbezeichnung.AussetzenKarte, Farbe.Gruen, true)] |
|
|
|
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Rot, true)] |
|
|
|
private void ErstelleFarbigeSpezialKartenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial) |
|
|
|
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Gelb, true, 6)] |
|
|
|
[InlineData(Kartenbezeichnung.RetoureKarte, Farbe.Rot, true, 6)] |
|
|
|
[InlineData(Kartenbezeichnung.AussetzenKarte, Farbe.Gelb, true, 6)] |
|
|
|
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Blau, true, 6)] |
|
|
|
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Gruen, true, 6)] |
|
|
|
[InlineData(Kartenbezeichnung.RetoureKarte, Farbe.Gelb, true, 6)] |
|
|
|
[InlineData(Kartenbezeichnung.AussetzenKarte, Farbe.Gruen, true, 6)] |
|
|
|
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Rot, true, 6)] |
|
|
|
private void ErstelleFarbigeSpezialKartenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial, int anzahl) |
|
|
|
{ |
|
|
|
//arrange
|
|
|
|
var _kartenbezeichnung = kartenbezeichnung.ToString(); |
|
|
|
var _farbe = farbe.ToString(); |
|
|
|
var _spezial = spezial; |
|
|
|
var _anzahl = anzahl; |
|
|
|
var erwartet = BeispielKarte(_kartenbezeichnung, _farbe, _spezial); |
|
|
|
|
|
|
|
//act
|
|
|
|
var neuesDeck = Uno.ErstelleFarbigeSpezialKarten(_kartenbezeichnung.ToString()); |
|
|
|
var neuesDeck = Uno.ErstelleFarbigeSpezialKarten(); |
|
|
|
var anzahlBlau = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Blau.ToString())).Count(); |
|
|
|
var anzahlRot = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Rot.ToString())).Count(); |
|
|
|
var anzahlGruen = neuesDeck.KartenModels.Where(x => x.Farbe.Equals(Farbe.Gruen.ToString())).Count(); |
|
|
@ -181,10 +178,10 @@ namespace MiniGamesTests |
|
|
|
|
|
|
|
|
|
|
|
//assert
|
|
|
|
Assert.Equal(2, anzahlBlau); |
|
|
|
Assert.Equal(2, anzahlRot); |
|
|
|
Assert.Equal(2, anzahlGruen); |
|
|
|
Assert.Equal(2, anzahlGelb); |
|
|
|
Assert.Equal(_anzahl, anzahlBlau); |
|
|
|
Assert.Equal(_anzahl, anzahlRot); |
|
|
|
Assert.Equal(_anzahl, anzahlGruen); |
|
|
|
Assert.Equal(_anzahl, anzahlGelb); |
|
|
|
|
|
|
|
Assert.Contains(neuesDeck.KartenModels, n => |
|
|
|
n.Name.Equals(erwartet.Name) && |
|
|
@ -194,14 +191,15 @@ namespace MiniGamesTests |
|
|
|
} |
|
|
|
|
|
|
|
[Theory] |
|
|
|
[InlineData(Kartenbezeichnung.FarbwahlKarte, Farbe.Keine, true)] |
|
|
|
[InlineData(Kartenbezeichnung.ZiehVierFarbenwahlkarte, Farbe.Keine, true)] |
|
|
|
private void ErstelleJokerKartenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial) |
|
|
|
[InlineData(Kartenbezeichnung.FarbwahlKarte, Farbe.Keine, true, 4)] |
|
|
|
[InlineData(Kartenbezeichnung.ZiehVierFarbenwahlkarte, Farbe.Keine, true, 4)] |
|
|
|
private void ErstelleJokerKartenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial, int anzahl) |
|
|
|
{ |
|
|
|
//arrange
|
|
|
|
var _kartenbezeichnung = kartenbezeichnung.ToString(); |
|
|
|
var _farbe = farbe.ToString(); |
|
|
|
var _spezial = spezial; |
|
|
|
var _anzahl = anzahl; |
|
|
|
var erwartet = BeispielKarte(_kartenbezeichnung, _farbe, _spezial); |
|
|
|
|
|
|
|
//act
|
|
|
@ -209,12 +207,25 @@ namespace MiniGamesTests |
|
|
|
var ergebnisAnzahl = neuesDeck.KartenModels.Where(x => x.Name.Equals(kartenbezeichnung.ToString())).Count(); |
|
|
|
|
|
|
|
//assert
|
|
|
|
Assert.Equal(4, ergebnisAnzahl); |
|
|
|
Assert.Equal(_anzahl, ergebnisAnzahl); |
|
|
|
Assert.Contains(neuesDeck.KartenModels, n => |
|
|
|
n.Name.Equals(erwartet.Name) && |
|
|
|
n.Farbe.Equals(erwartet.Farbe) && |
|
|
|
n.Spezial == erwartet.Spezial |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
private void AblagestapelZusammenstellenTest() |
|
|
|
{ |
|
|
|
|
|
|
|
UnoRegeln.AblagestapelZusammenstellen(); |
|
|
|
|
|
|
|
var ergebnis = UnoRegeln.AblageStabel; |
|
|
|
|
|
|
|
Assert.Equal(108, ergebnis.KartenModels.Count()); |
|
|
|
} |
|
|
|
|
|
|
|
#endregion
|
|
|
|
} |
|
|
|
} |