Browse Source

refactor von ZiehEineKarteTest() und der Methode dazu

feature/uno
ADato88 2 years ago
parent
commit
acaa5321b6
  1. 3
      BlazorSolution/MiniGames/Client/ViewModel/IUno.cs
  2. 10
      BlazorSolution/MiniGames/Client/ViewModel/Uno.cs
  3. 23
      BlazorSolution/MiniGamesTests/UnoTest.cs

3
BlazorSolution/MiniGames/Client/ViewModel/IUno.cs

@ -1,4 +1,5 @@
using MiniGames.Shared.Models;
using System.Collections.Generic;
namespace MiniGames.Client.ViewModel
{
@ -8,6 +9,6 @@ namespace MiniGames.Client.ViewModel
void ZiehKartenStapelZusammenstellen();
bool IstAblageStabelFarbeGleichHand(string ablegeStapelKarte, string neueKarte);
HandKartenModel ZiehEineKarte(HandKartenModel handStapel, StapelModel stapelModel);
List<KartenModel> ZiehEineKarte(List<KartenModel> zuZiehendeHand);
}
}

10
BlazorSolution/MiniGames/Client/ViewModel/Uno.cs

@ -22,14 +22,14 @@ namespace MiniGames.Client.ViewModel
}
}
public HandKartenModel ZiehEineKarte(HandKartenModel handStapel, StapelModel stapelModel)
public List<KartenModel> ZiehEineKarte(List<KartenModel> zuZiehendeHand)
{
HandKartenModel _handStapel = handStapel;
StapelModel _stapelModel = stapelModel;
List<KartenModel> _zuZiehendeHand = zuZiehendeHand;
_handStapel.KartenModels.Add(_stapelModel.KartenModels.FirstOrDefault());
_zuZiehendeHand.Add(ZiehKartenStapel.KartenModels.FirstOrDefault());
ZiehKartenStapel.KartenModels.RemoveAt(0);
return _handStapel;
return _zuZiehendeHand;
}
public List<KartenModel> KarteAufStapelLegen(List<KartenModel> naechstenHand, KartenModel zuLegendeKarte)

23
BlazorSolution/MiniGamesTests/UnoTest.cs

@ -1,6 +1,7 @@
using MiniGames.Client.ViewModel;
using MiniGames.Shared.Enums;
using MiniGames.Shared.Models;
using System.Collections.Generic;
using System.Linq;
using Xunit;
@ -87,28 +88,20 @@ namespace MiniGamesTests
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 kartenbezeichnung, Farbe farbe, bool spezial)
[Fact]
private void ZiehEineKarteTest()
{
//arrange
var _kartenbezeichnung = kartenbezeichnung.ToString();
var _farbe = farbe.ToString();
var _spezial = spezial;
StapelModel zuFüllend = new();
UnoRegeln.ZiehKartenStapelZusammenstellen();
List<KartenModel> zuFüllend = new();
var beispielStapel = BeispielStapelModelKarten(_kartenbezeichnung, _farbe, _spezial);
var beispielHand = BeispielHand();
var erwartet = UnoRegeln.ZiehKartenStapel.KartenModels.FirstOrDefault();
//act
zuFüllend.KartenModels = UnoRegeln.ZiehEineKarte(beispielHand, beispielStapel).KartenModels;
zuFüllend = UnoRegeln.ZiehEineKarte(beispielHand.KartenModels);
var erwartet = beispielStapel.KartenModels.FirstOrDefault();
var erhalten = beispielHand.KartenModels.LastOrDefault();
var erhalten = zuFüllend.LastOrDefault();
//assert
Assert.Equal(erwartet, erhalten);

Loading…
Cancel
Save