From f9ff46bdac78f8fde3259ef5cf881f5440086a3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi?= Date: Mon, 3 Jun 2024 11:30:14 +0200 Subject: [PATCH 1/5] Ajout de quelques tests pour gametests --- source/Trek-12/Tests/GameTests.cs | 64 +++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/source/Trek-12/Tests/GameTests.cs b/source/Trek-12/Tests/GameTests.cs index 066aeff..84ff92e 100644 --- a/source/Trek-12/Tests/GameTests.cs +++ b/source/Trek-12/Tests/GameTests.cs @@ -243,4 +243,68 @@ public class GameTests Assert.True(isChecked); } + + [Fact] + public void IsPlaceOperationCorrect() + { + var player = new Player(); + var map = new Map("test_background"); + + _game.InitializeGame(map, player); + Assert.NotNull(_game.GameRules); + _game.UsedMap.Boards[0].Value = 1; + _game.UsedMap.Boards[1].Value = 2; + + var methodInfo = typeof(Game).GetMethod("PlaceResult", BindingFlags.NonPublic | BindingFlags.Instance); + Assert.NotNull(methodInfo); + + var cell = new Cell(0, 2); + cell.Value = 3; + methodInfo.Invoke(_game, new object[] { cell, 3 }); + + Assert.Equal(3, _game.UsedMap.Boards[2].Value); + } + + [Fact] + public void IsHandlePlayerChoice_Handling() + { + var player = new Player(); + var map = new Map("test_background"); + + _game.InitializeGame(map, player); + + var cell = new Cell(0, 1); + _game.UsedMap.Boards[0].Value = 1; + bool result = _game.HandlePlayerChoice(cell, 1); + Assert.True(result); + } + + [Fact] + public void IsHandlePlayerChoice_InvalidCell() + { + var player = new Player(); + var map = new Map("test_background"); + + _game.InitializeGame(map, player); + + var cell = new Cell(0, 7); + cell.Value = 1; + bool result = _game.HandlePlayerChoice(cell, 1); + Assert.False(result); + } + + [Fact] + public void IsHandlePlayerChoice_InvalidPlace() + { + var player = new Player(); + var map = new Map("test_background"); + + _game.InitializeGame(map, player); + + var cell = new Cell(0, 0); + cell.Value = 1; + var othercell = new Cell(3, 3); + bool result = _game.HandlePlayerChoice(othercell, 1); + Assert.False(result); + } } From d0fbda5eb7e3290876894a9d20b3739d8029acaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi?= Date: Mon, 3 Jun 2024 11:38:12 +0200 Subject: [PATCH 2/5] autre ajout --- source/Trek-12/Tests/GameTests.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/source/Trek-12/Tests/GameTests.cs b/source/Trek-12/Tests/GameTests.cs index 84ff92e..c96b6ed 100644 --- a/source/Trek-12/Tests/GameTests.cs +++ b/source/Trek-12/Tests/GameTests.cs @@ -307,4 +307,23 @@ public class GameTests bool result = _game.HandlePlayerChoice(othercell, 1); Assert.False(result); } + + [Fact] + public void ShouldTriggerEventWhenEnded() + { + var player = new Player(); + var map = new Map("test_background"); + bool eventTriggered = false; + + _game.GameEnded += (sender, args) => + { + eventTriggered = true; + }; + + _game.InitializeGame(map, player, true); + Assert.True(eventTriggered); + Assert.False(_game.IsRunning); + Assert.Equal(map, _game.UsedMap); + Assert.Equal(player, _game.CurrentPlayer); + } } From 00c7a46831698c30ad7038de1d97a6137d4d821f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi?= Date: Mon, 3 Jun 2024 11:30:14 +0200 Subject: [PATCH 3/5] Ajout de quelques tests pour gametests --- source/Trek-12/Tests/GameTests.cs | 64 +++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/source/Trek-12/Tests/GameTests.cs b/source/Trek-12/Tests/GameTests.cs index 066aeff..84ff92e 100644 --- a/source/Trek-12/Tests/GameTests.cs +++ b/source/Trek-12/Tests/GameTests.cs @@ -243,4 +243,68 @@ public class GameTests Assert.True(isChecked); } + + [Fact] + public void IsPlaceOperationCorrect() + { + var player = new Player(); + var map = new Map("test_background"); + + _game.InitializeGame(map, player); + Assert.NotNull(_game.GameRules); + _game.UsedMap.Boards[0].Value = 1; + _game.UsedMap.Boards[1].Value = 2; + + var methodInfo = typeof(Game).GetMethod("PlaceResult", BindingFlags.NonPublic | BindingFlags.Instance); + Assert.NotNull(methodInfo); + + var cell = new Cell(0, 2); + cell.Value = 3; + methodInfo.Invoke(_game, new object[] { cell, 3 }); + + Assert.Equal(3, _game.UsedMap.Boards[2].Value); + } + + [Fact] + public void IsHandlePlayerChoice_Handling() + { + var player = new Player(); + var map = new Map("test_background"); + + _game.InitializeGame(map, player); + + var cell = new Cell(0, 1); + _game.UsedMap.Boards[0].Value = 1; + bool result = _game.HandlePlayerChoice(cell, 1); + Assert.True(result); + } + + [Fact] + public void IsHandlePlayerChoice_InvalidCell() + { + var player = new Player(); + var map = new Map("test_background"); + + _game.InitializeGame(map, player); + + var cell = new Cell(0, 7); + cell.Value = 1; + bool result = _game.HandlePlayerChoice(cell, 1); + Assert.False(result); + } + + [Fact] + public void IsHandlePlayerChoice_InvalidPlace() + { + var player = new Player(); + var map = new Map("test_background"); + + _game.InitializeGame(map, player); + + var cell = new Cell(0, 0); + cell.Value = 1; + var othercell = new Cell(3, 3); + bool result = _game.HandlePlayerChoice(othercell, 1); + Assert.False(result); + } } From 5b7ccda4fd97c03693a8349502e82ef4ffb96950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi?= Date: Mon, 3 Jun 2024 11:38:12 +0200 Subject: [PATCH 4/5] autre ajout --- source/Trek-12/Tests/GameTests.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/source/Trek-12/Tests/GameTests.cs b/source/Trek-12/Tests/GameTests.cs index 84ff92e..c96b6ed 100644 --- a/source/Trek-12/Tests/GameTests.cs +++ b/source/Trek-12/Tests/GameTests.cs @@ -307,4 +307,23 @@ public class GameTests bool result = _game.HandlePlayerChoice(othercell, 1); Assert.False(result); } + + [Fact] + public void ShouldTriggerEventWhenEnded() + { + var player = new Player(); + var map = new Map("test_background"); + bool eventTriggered = false; + + _game.GameEnded += (sender, args) => + { + eventTriggered = true; + }; + + _game.InitializeGame(map, player, true); + Assert.True(eventTriggered); + Assert.False(_game.IsRunning); + Assert.Equal(map, _game.UsedMap); + Assert.Equal(player, _game.CurrentPlayer); + } } From 0019bc7ad39dd3805caeb70f954aa22f61a9afe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20LAVERGNE?= Date: Tue, 4 Jun 2024 20:33:06 +0200 Subject: [PATCH 5/5] Changement d'un test vers les ObservableCollection --- source/Trek-12/Tests/GameTests.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source/Trek-12/Tests/GameTests.cs b/source/Trek-12/Tests/GameTests.cs index c96b6ed..d58ea3c 100644 --- a/source/Trek-12/Tests/GameTests.cs +++ b/source/Trek-12/Tests/GameTests.cs @@ -1,4 +1,5 @@ -using Moq; +using System.Collections.ObjectModel; +using Moq; using Models.Game; using Models.Interfaces; using System.Reflection; @@ -76,10 +77,10 @@ public class GameTests [Fact] public void LoadData_ShouldLoadDataFromPersistence() { - var players = new List { new Player() }; - var games = new List { new Game(_mockPersistence.Object) }; - var maps = new List { new Map("test_background") }; - var bestScores = new List { new BestScore(1, 26) }; + var players = new ObservableCollection { new Player() }; + var games = new ObservableCollection { new Game(_mockPersistence.Object) }; + var maps = new ObservableCollection { new Map("test_background") }; + var bestScores = new ObservableCollection { new BestScore(1, 26) }; _mockPersistence.Setup(p => p.LoadData()).Returns((players, games, maps, bestScores));