From 170f002e14aea2c3ca2a33ecb896e4058d7fbd37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20LAVERGNE?= Date: Sun, 2 Jun 2024 14:27:41 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9A=99=EF=B8=8F=20Ajout=20de=20Mock=20pour?= =?UTF-8?q?=20imiter=20l'interface=20de=20persistance=20et=20d=C3=A9but=20?= =?UTF-8?q?des=20tests=20de=20Game?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/Trek-12/Tests/GameTests.cs | 72 +++++++++++++++++++++++++------ 1 file changed, 59 insertions(+), 13 deletions(-) diff --git a/source/Trek-12/Tests/GameTests.cs b/source/Trek-12/Tests/GameTests.cs index 7f0abee..a0d2080 100644 --- a/source/Trek-12/Tests/GameTests.cs +++ b/source/Trek-12/Tests/GameTests.cs @@ -1,35 +1,81 @@ -namespace Tests; +using Moq; using Models.Game; +using Models.Interfaces; using System.Reflection; using static System.Type; + +namespace Tests; + public class GameTests { + private readonly Mock _mockPersistence; // Mocking (faking) the persistence layer to allow for testing without a persistent connection + private readonly Game _game; + + public GameTests() + { + _mockPersistence = new Mock(); + _game = new Game(_mockPersistence.Object); + } + [Fact] - public void Game_Initialization_SetsPlayer() + public void AddPlayer_ShouldAddPlayerToList() { - Player player = new Player("test_player"); - Map map = new Map("test_background"); + var player = new Player(); - var game = new Game(player, map); + _game.AddPlayer(player); - Assert.Equal(player, game.CurrentPlayer); + Assert.Contains(player, _game.Players); } [Fact] - public void Initialize_Turn_1() + public void AddGame_ShouldAddGameToList() { - Player player = new Player("test_player"); - Map map = new Map("test_background"); + var game = new Game(new Player(), new Map("test_background")); + + _game.AddGame(game); + + Assert.Contains(game, _game.Games); + } - Game test = new Game(player, map); + [Fact] + public void AddMap_ShouldAddMapToList() + { + var map = new Map("test_background.png"); + + _game.AddMap(map); + + Assert.Contains(map, _game.Maps); + } + + [Fact] + public void AddBestScore_ShouldAddBestScoreToList() + { + var bestScore = new BestScore(3, 125); - typeof(Game).GetProperty("Turn").SetValue(test, 1); + _game.AddBestScore(bestScore); + Assert.Contains(bestScore, _game.BestScores); + } - var result = test.GetResult(); + [Fact] + public void LoadData_ShouldLoadDataFromPersistence() + { + var players = new List { new Player() }; + var games = new List { new Game(new Player(), new Map("test_background")) }; + var maps = new List { new Map("test_background") }; + var bestScores = new List { new BestScore(1, 26) }; - Assert.Equal(typeof(Game).GetProperty("Turn").GetValue(test.Turn), 1); + _mockPersistence.Setup(p => p.LoadData()).Returns((players, games, maps, bestScores)); + + _game.LoadData(); + + Assert.Equal(players, _game.Players); + Assert.Equal(games, _game.Games); + Assert.Equal(maps, _game.Maps); + Assert.Equal(bestScores, _game.BestScores); } + + /* [Fact] public void Game_Initialization_SetsMap()