Continous Integration in der Praxis Gruppenarbeit
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

106 lines
3.4 KiB

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
{
public class UnoTest
{
public Uno UnoRegeln = new();
private HandKartenModel BeispielHand()
{
HandKartenModel HandStapel = new()
{
Id = 1,
Name = "Andrej",
KartenModels = new()
{
new KartenModel
{
Name = Kartenbezeichnung.PlusZweiKarte.ToString(),
Farbe = Farbe.Gelb.ToString(),
Spezial = true
}
}
};
return HandStapel;
}
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 = _name,
Farbe = _farbe,
Spezial = _spezial
},
};
return TestStapel;
}
[Theory]
[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 _ablegeStabelKarteFarbe = ablegeStapelKarteFarbe.ToString();
var _neueKarteFarbe = neueKarteFarbe.ToString();
var _erwartet = erwartet;
//act
var erhalten = UnoRegeln.IstAblageStabelFarbeGleichHand(_ablegeStabelKarteFarbe, _neueKarteFarbe);
//assert
Assert.Equal(_erwartet, erhalten);
}
[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(_SpezialName, _farbe, _spezial);
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);
}
}
}