diff --git a/Qwirkle/TestBase/TestPersistence.cs b/Qwirkle/TestBase/TestPersistence.cs index cb3c9d8..59e1c17 100644 --- a/Qwirkle/TestBase/TestPersistence.cs +++ b/Qwirkle/TestBase/TestPersistence.cs @@ -2,6 +2,7 @@ using Xunit; using QwirkleClassLibrary.Games; using QwirkleClassLibrary.Persistences; using System.IO; +using QwirkleClassLibrary.Players; namespace TestBase { @@ -12,7 +13,7 @@ namespace TestBase { var game = new Game(); - IGamePersistence gamePersistence = new GamePersistenceJson(); + var gamePersistence = new GamePersistenceJson(); gamePersistence.SaveGame(game); Assert.True(File.Exists("Game.json")); @@ -28,7 +29,7 @@ namespace TestBase game.AddPlayerInGame(["Jules", "Jérémy"]); game.StartGame(); - IGamePersistence gamePersistence = new GamePersistenceJson(); + var gamePersistence = new GamePersistenceJson(); gamePersistence.SaveGame(game); var loadedGame = gamePersistence.LoadGame(); @@ -38,5 +39,36 @@ namespace TestBase cell.GetY == loadedGame.Board.GetCell(cell.GetX, cell.GetY)!.GetY && cell.IsFree == loadedGame.Board.GetCell(cell.GetX, cell.GetY)!.IsFree)); } + + [Fact] + public void Test_SaveLeaderboard() + { + var leaderboard = new Leaderboard(); + + ILeaderboardPersistence leaderboardPersistence = new LeaderboardPersistenceJson(); + leaderboardPersistence.SaveLeaderboard(leaderboard); + + Assert.True(File.Exists("Leaderboard.json")); + } + + [Fact] + public void Test_LoadLeaderboard() + { + var scoreboard = new Dictionary() + { + {new Player("Rémy"), 60}, + {new Player("Jérémy"), 50}, + {new Player("Jules"), 100} + }; + + var scoreboardro = scoreboard.AsReadOnly(); + + var leaderboard = new Leaderboard(); + leaderboard.AddScoreInLead(scoreboardro); + + Assert.Equal("Jules", leaderboard.Lb[0].PlayerName); + Assert.Equal(100, leaderboard.Lb[0].Points); + Assert.Equal(1, leaderboard.Lb[0].Victories); + } } } \ No newline at end of file