Browse Source

neuer PluszweikarteAufStapelLegenTest

feature/uno
ADato88 2 years ago
parent
commit
7f9a95d66f
  1. 10
      BlazorSolution/MiniGames/Client/ViewModel/Uno.cs
  2. 16
      BlazorSolution/MiniGamesTests/UnoTest.cs

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

@ -1,6 +1,5 @@
using MiniGames.Shared.Enums;
using MiniGames.Shared.Models;
using System;
using System.Collections.Generic;
using System.Linq;
@ -12,6 +11,7 @@ namespace MiniGames.Client.ViewModel
public StapelModel ZiehKartenStapel { get; set; } = new();
public List<HandKartenModel> Spieler { get; set; } = new();
public int NaechsterSpielerId { get; set; }
public bool Uhrzeigersinn { get; set; }
public bool IstAblageStapelFarbeGleichZuLegendeKarte(string neueKarteFarbe)
{
@ -42,7 +42,9 @@ namespace MiniGames.Client.ViewModel
public void KarteAufStapelLegen(int id, KartenModel zuLegendeKarte)
{
int _id = id;
NaechsterSpielerWahl(id, Uhrzeigersinn);
int _naechstenId = NaechsterSpielerId;
StapelModel _stapelModel = new();
_stapelModel.KartenModels = new();
const string _plusZweiKarte = "PlusZweiKarte";
@ -59,7 +61,7 @@ namespace MiniGames.Client.ViewModel
case _plusZweiKarte:
for (int i = 0; i < 2; i++)
{
ZiehEineKarte(_id);
ZiehEineKarte(_naechstenId);
}
break;
case _retoureKarte:
@ -88,7 +90,7 @@ namespace MiniGames.Client.ViewModel
});
}
public void SpielerWahl(int aktuellerSpielerId, bool uhrZeigerSinn)
public void NaechsterSpielerWahl(int aktuellerSpielerId, bool uhrZeigerSinn)
{
var aktuellerSpielerIndex = Spieler.FindIndex(x => x.SpielerModel.Id == aktuellerSpielerId);
if (uhrZeigerSinn)

16
BlazorSolution/MiniGamesTests/UnoTest.cs

@ -219,7 +219,7 @@ namespace MiniGamesTests
UnoRegeln.SpielerErstellen(_spielerEinsName);
UnoRegeln.SpielerErstellen(_spielerZweiName);
UnoRegeln.SpielerErstellen(_spielerDreiName);
UnoRegeln.SpielerWahl(_aktuellerSpieler, _uhrZeigerSinn);
UnoRegeln.NaechsterSpielerWahl(_aktuellerSpieler, _uhrZeigerSinn);
//assert
Assert.Equal(_naechsterErwartung, UnoRegeln.NaechsterSpielerId);
@ -304,20 +304,26 @@ namespace MiniGamesTests
{
//arrange
UnoRegeln.ZiehKartenStapelZusammenstellen();
var kartenAblageStapel = UnoRegeln.KartenAblageStapel;
var ziehKartenStapel = UnoRegeln.ZiehKartenStapel;
BeispielMultipleSpielerModelsFüllen(3);
foreach (var spieler in SpielerModels)
{
UnoRegeln.SpielerErstellen(spieler.SpielerName);
}
var nachstenSpielerKartenAnzahlErwartet = 2;
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);
UnoRegeln.KarteAufStapelLegen(UnoRegeln.Spieler[0].SpielerModel.Id, beispielZuLegendeKarte);
//assert
Assert.Equal(nachstenSpielerKartenAnzahlErwartet, UnoRegeln.Spieler[2].KartenModels.Count());
}
#region Stapel erstellen

Loading…
Cancel
Save