|
|
using MiniGames.Client.ViewModel; 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 { public class UnoTest { public Uno UnoRegeln = new();
private HandKartenModel BeispielHand() { HandKartenModel HandStapel = new() { Id = 1, Name = "Andrej", KartenModels = new() { new KartenModel { Name = "2 Ziehen", Farbe = "Gelb", Spezial = true } } };
return HandStapel; }
private StapelModel BeispielZiehKarten() { 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 }, }; return TestStapel; }
[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) { //arrange
var _ablegeStabelKarte = ablegeStapelKarte; var _neueKarte = neueKarte; var _erwartet = erwartet;
//act
var erhalten = UnoRegeln.IstAblageStabelFarbeGleichHand(_ablegeStabelKarte, _neueKarte);
//assert
Assert.Equal(_erwartet, erhalten); }
[Fact] private void ZiehEineKarteTest() { //arrange
StapelModel zuFüllend = new(); var beispielStapel = BeispielZiehKarten(); var beispielHand = BeispielHand();
//act
zuFüllend.KartenModels = UnoRegeln.ZiehEineKarte(beispielHand, beispielStapel).KartenModels;
var erwartet = beispielStapel.KartenModels.FirstOrDefault(); var erhalten = beispielHand.KartenModels.LastOrDefault();
//assert
Assert.Equal(erwartet, erhalten); } } }
|