Browse Source

neuer PluszweikarteAufStapelLegenTest

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

16
BlazorSolution/MiniGamesTests/UnoTest.cs

@ -219,7 +219,7 @@ namespace MiniGamesTests
UnoRegeln.SpielerErstellen(_spielerEinsName); UnoRegeln.SpielerErstellen(_spielerEinsName);
UnoRegeln.SpielerErstellen(_spielerZweiName); UnoRegeln.SpielerErstellen(_spielerZweiName);
UnoRegeln.SpielerErstellen(_spielerDreiName); UnoRegeln.SpielerErstellen(_spielerDreiName);
UnoRegeln.SpielerWahl(_aktuellerSpieler, _uhrZeigerSinn);
UnoRegeln.NaechsterSpielerWahl(_aktuellerSpieler, _uhrZeigerSinn);
//assert //assert
Assert.Equal(_naechsterErwartung, UnoRegeln.NaechsterSpielerId); Assert.Equal(_naechsterErwartung, UnoRegeln.NaechsterSpielerId);
@ -304,20 +304,26 @@ namespace MiniGamesTests
{ {
//arrange //arrange
UnoRegeln.ZiehKartenStapelZusammenstellen(); 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 _kartenbezeichnung = kartenbezeichnung.ToString();
var _farbe = farbe.ToString(); var _farbe = farbe.ToString();
var _spezial = spezial; var _spezial = spezial;
var naechstenHand = BeispielHand();
var beispielZuLegendeKarte = BeispielKarte(_kartenbezeichnung, _farbe, _spezial); var beispielZuLegendeKarte = BeispielKarte(_kartenbezeichnung, _farbe, _spezial);
//act //act
//naechstenHand.KartenModels = UnoRegeln.KarteAufStapelLegen(naechstenHand.KartenModels, beispielZuLegendeKarte);
UnoRegeln.KarteAufStapelLegen(UnoRegeln.Spieler[0].SpielerModel.Id, beispielZuLegendeKarte);
//assert //assert
Assert.Equal(nachstenSpielerKartenAnzahlErwartet, UnoRegeln.Spieler[2].KartenModels.Count());
} }
#region Stapel erstellen #region Stapel erstellen

Loading…
Cancel
Save