From 02abe1fbfd9f02c26e80d59de998c0372c4fd879 Mon Sep 17 00:00:00 2001 From: "alexis.drai" Date: Thu, 29 Sep 2022 11:45:49 +0200 Subject: [PATCH] :alembic: Hardcode the stub in UT class to test SonarQube --- Sources/Tests/Model_UTs/GameRunnerTest.cs | 70 ++++++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) diff --git a/Sources/Tests/Model_UTs/GameRunnerTest.cs b/Sources/Tests/Model_UTs/GameRunnerTest.cs index 275eb8e..780a1ff 100644 --- a/Sources/Tests/Model_UTs/GameRunnerTest.cs +++ b/Sources/Tests/Model_UTs/GameRunnerTest.cs @@ -1,5 +1,7 @@ using Data; +using Model; using Model.Dice; +using Model.Dice.Faces; using Model.Games; using Model.Players; using System; @@ -14,7 +16,73 @@ namespace Tests.Model_UTs private readonly GameRunner stubGameRunner; public GameRunnerTest() { - stubGameRunner = new Stub().LoadApp(); + IManager>>> globalDieManager = new DieManager(); + + List> monopolyDice = new(); + List> dndDice = new(); + + string monopolyName = "Monopoly"; + string dndName = "DnD"; + + NumberDieFace[] d6Faces = new NumberDieFace[] { new(1), new(2), new(3), new(4), new(5), new(6) }; + + monopolyDice.Add(new NumberDie(d6Faces)); + monopolyDice.Add(new NumberDie(d6Faces)); + monopolyDice.Add(new ColorDie(new("#ff0000"), new("#00ff00"), new("#0000ff"), new("#ffff00"), new("#000000"), new("#ffffff"))); + + NumberDieFace[] d20Faces = new NumberDieFace[] { + new(1), new(2), new(3), new(4), new(5), + new(6), new(7), new(8), new(9), new(10), + new(11), new(12), new(13), new(14), new(15), + new(16), new(17), new(18), new(19), new(20) + }; + + dndDice.Add(new NumberDie(d20Faces)); + + globalDieManager.Add(new KeyValuePair>>(monopolyName, monopolyDice.AsEnumerable())); + globalDieManager.Add(new KeyValuePair>>(dndName, dndDice.AsEnumerable())); + + IEnumerable> dice1 = globalDieManager.GetOneByName(monopolyName).Value; + IEnumerable> dice2 = globalDieManager.GetOneByName(dndName).Value; + + string g1 = "game1", g2 = "game2", g3 = "game3"; + + Game game1 = new(name: g1, playerManager: new PlayerManager(), dice: dice1); + Game game2 = new(name: g2, playerManager: new PlayerManager(), dice: dice2); + Game game3 = new(name: g3, playerManager: new PlayerManager(), dice: dice1); + + List games = new() { game1, game2, game3 }; + + Player player1 = new("Alice"), player2 = new("Bob"), player3 = new("Clyde"); + + PlayerManager globalPlayerManager = new(); + globalPlayerManager.Add(player1); + globalPlayerManager.Add(player2); + globalPlayerManager.Add(player3); + + GameRunner gameRunner = new(globalPlayerManager, globalDieManager, games); + + game1.PlayerManager.Add(player1); + game1.PlayerManager.Add(player2); + + game2.PlayerManager.Add(player1); + game2.PlayerManager.Add(player2); + game2.PlayerManager.Add(player3); + + game3.PlayerManager.Add(player1); + game3.PlayerManager.Add(player3); + + foreach (Game game in games) + { + for (int i = 0; i < 10; i++) + { + Player currentPlayer = game.GetWhoPlaysNow(); + game.PerformTurn(currentPlayer); + game.PrepareNextPlayer(currentPlayer); + } + } + + stubGameRunner = gameRunner; } [Fact]