Browse Source

neuer test für zieh zwei regel

feature/uno
ADato88 3 years ago
parent
commit
31619c09de
  1. 38
      BlazorSolution/MiniGames/Client/ViewModel/Uno.cs
  2. 23
      BlazorSolution/MiniGamesTests/UnoTest.cs

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

@ -1,5 +1,6 @@
using MiniGames.Shared.Enums; using MiniGames.Shared.Enums;
using MiniGames.Shared.Models; using MiniGames.Shared.Models;
using System.Collections.Generic;
using System.Linq; using System.Linq;
namespace MiniGames.Client.ViewModel namespace MiniGames.Client.ViewModel
@ -31,6 +32,43 @@ namespace MiniGames.Client.ViewModel
return _handStapel; return _handStapel;
} }
public List<KartenModel> KarteAufStapelLegen(List<KartenModel> naechstenHand, KartenModel zuLegendeKarte)
{
List<KartenModel> _naechstenHand = naechstenHand;
StapelModel _stapelModel = new();
_stapelModel.KartenModels = new();
const string _plusZweiKarte = "PlusZweiKarte";
const string _retoureKarte = "RetoureKarte";
const string _aussetzenKarte = "AussetzenKarte";
if (KartenAblageStapel.KartenModels is null)
{
KartenAblageStapel.KartenModels = new();
}
switch (zuLegendeKarte.Name)
{
case _plusZweiKarte:
for (int i = 0; i < 2; i++)
{
_naechstenHand.Add(ZiehKartenStapel.KartenModels.FirstOrDefault());
ZiehKartenStapel.KartenModels.RemoveAt(0);
}
break;
case _retoureKarte:
break;
case _aussetzenKarte:
break;
default:
break;
}
return _naechstenHand;
}
#region Stapel Erstellen
public static StapelModel ErstelleStandardKarten() public static StapelModel ErstelleStandardKarten()
{ {
StapelModel stapelModel = new(); StapelModel stapelModel = new();

23
BlazorSolution/MiniGamesTests/UnoTest.cs

@ -114,6 +114,29 @@ namespace MiniGamesTests
Assert.Equal(erwartet, erhalten); Assert.Equal(erwartet, erhalten);
} }
[Theory]
[InlineData(Kartenbezeichnung.PlusZweiKarte, Farbe.Gelb, true)]
private void PlusZweiKarteAufStapelLegenTest(Kartenbezeichnung kartenbezeichnung, Farbe farbe, bool spezial)
{
//arrange
UnoRegeln.ZiehKartenStapelZusammenstellen();
var kartenAblageStapel = UnoRegeln.KartenAblageStapel;
var ziehKartenStapel = UnoRegeln.ZiehKartenStapel;
var _kartenbezeichnung = kartenbezeichnung.ToString();
var _farbe = farbe.ToString();
var _spezial = spezial;
var naechstenHand = BeispielHand();
var beispielZuLegendeKarte = BeispielKarte(_kartenbezeichnung, _farbe, _spezial);
//act
naechstenHand.KartenModels = UnoRegeln.KarteAufStapelLegen(naechstenHand.KartenModels, beispielZuLegendeKarte);
//assert
}
#region Stapel erstellen
[Theory] [Theory]
[InlineData((Kartenbezeichnung)2, Farbe.Gelb, false, 19)] [InlineData((Kartenbezeichnung)2, Farbe.Gelb, false, 19)]
[InlineData((Kartenbezeichnung)7, Farbe.Blau, false, 19)] [InlineData((Kartenbezeichnung)7, Farbe.Blau, false, 19)]

Loading…
Cancel
Save