Browse Source

refactoring vom AblagestapelZusammenstellen Code

feature/uno
ADato88 3 years ago
parent
commit
47b5db2308
  1. 1
      BlazorSolution/MiniGames/Client/ViewModel/IUno.cs
  2. 19
      BlazorSolution/MiniGames/Client/ViewModel/Uno.cs
  3. 10
      BlazorSolution/MiniGames/Shared/Enums/Enums.cs
  4. 16
      BlazorSolution/MiniGamesTests/UnoTest.cs

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

@ -6,6 +6,7 @@ namespace MiniGames.Client.ViewModel
{ {
StapelModel AblageStabel { get; set; } StapelModel AblageStabel { get; set; }
void AblagestapelZusammenstellen();
bool IstAblageStabelFarbeGleichHand(string ablegeStapelKarte, string neueKarte); bool IstAblageStabelFarbeGleichHand(string ablegeStapelKarte, string neueKarte);
HandKartenModel ZiehEineKarte(HandKartenModel handStapel, StapelModel stapelModel); HandKartenModel ZiehEineKarte(HandKartenModel handStapel, StapelModel stapelModel);
} }

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

@ -1,13 +1,12 @@
using MiniGames.Shared.Enums; using MiniGames.Shared.Enums;
using MiniGames.Shared.Models; using MiniGames.Shared.Models;
using System;
using System.Linq; using System.Linq;
namespace MiniGames.Client.ViewModel namespace MiniGames.Client.ViewModel
{ {
public class Uno : IUno public class Uno : IUno
{ {
public StapelModel AblageStabel { get; set; }
public StapelModel AblageStabel { get; set; } = new();
public bool IstAblageStabelFarbeGleichHand(string ablegeStapelKarte, string neueKarte) public bool IstAblageStabelFarbeGleichHand(string ablegeStapelKarte, string neueKarte)
{ {
@ -107,19 +106,19 @@ namespace MiniGames.Client.ViewModel
return stapelModel; return stapelModel;
} }
public static StapelModel AblagestapelZusammenstellen()
public void AblagestapelZusammenstellen()
{ {
var standardKarten = Uno.ErstelleStandardKarten(); var standardKarten = Uno.ErstelleStandardKarten();
var spezialKarten = Uno.ErstelleFarbigeSpezialKarten(); var spezialKarten = Uno.ErstelleFarbigeSpezialKarten();
var jokerKarten = Uno.ErstelleJokerKarten(); var jokerKarten = Uno.ErstelleJokerKarten();
StapelModel stapelModel = new();
stapelModel.KartenModels = new();
stapelModel.KartenModels.AddRange(standardKarten.KartenModels);
stapelModel.KartenModels.AddRange(spezialKarten.KartenModels);
stapelModel.KartenModels.AddRange(jokerKarten.KartenModels);
return stapelModel;
AblageStabel.KartenModels = new();
AblageStabel.KartenModels.AddRange(standardKarten.KartenModels);
AblageStabel.KartenModels.AddRange(spezialKarten.KartenModels);
AblageStabel.KartenModels.AddRange(jokerKarten.KartenModels);
} }
#endregion
} }
} }

10
BlazorSolution/MiniGames/Shared/Enums/Enums.cs

@ -34,4 +34,14 @@ namespace MiniGames.Shared.Enums
Gruen = 3, Gruen = 3,
Gelb = 4 Gelb = 4
} }
public enum Action
{
Naechster,
Farbwechsel,
EineZiehen,
ZweiZiehen,
VierZiehen,
Aussetzen
}
} }

16
BlazorSolution/MiniGamesTests/UnoTest.cs

@ -1,12 +1,7 @@
using MiniGames.Client.ViewModel; using MiniGames.Client.ViewModel;
using MiniGames.Shared.Enums; using MiniGames.Shared.Enums;
using MiniGames.Shared.Models; using MiniGames.Shared.Models;
using Moq;
using System;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xunit; using Xunit;
namespace MiniGamesTests namespace MiniGamesTests
@ -51,7 +46,7 @@ namespace MiniGamesTests
return HandStapel; return HandStapel;
} }
private StapelModel BeispielZiehKarten(string name, string farbe, bool spezial)
private StapelModel BeispielStapelModelKarten(string name, string farbe, bool spezial)
{ {
var _name = name; var _name = name;
var _farbe = farbe; var _farbe = farbe;
@ -106,7 +101,7 @@ namespace MiniGamesTests
var _spezial = spezial; var _spezial = spezial;
StapelModel zuFüllend = new(); StapelModel zuFüllend = new();
var beispielStapel = BeispielZiehKarten(_kartenbezeichnung, _farbe, _spezial);
var beispielStapel = BeispielStapelModelKarten(_kartenbezeichnung, _farbe, _spezial);
var beispielHand = BeispielHand(); var beispielHand = BeispielHand();
//act //act
@ -223,9 +218,14 @@ namespace MiniGamesTests
[Fact] [Fact]
private void AblagestapelZusammenstellenTest() private void AblagestapelZusammenstellenTest()
{ {
var ergebnis = Uno.AblagestapelZusammenstellen();
UnoRegeln.AblagestapelZusammenstellen();
var ergebnis = UnoRegeln.AblageStabel;
Assert.Equal(108, ergebnis.KartenModels.Count()); Assert.Equal(108, ergebnis.KartenModels.Count());
} }
#endregion
} }
} }
Loading…
Cancel
Save