From 395d746c9046d8ef596f31670060e6c8c8899782 Mon Sep 17 00:00:00 2001 From: "jules.lascret" Date: Sun, 2 Jun 2024 12:35:13 +0200 Subject: [PATCH] Persistence Test #2 --- Qwirkle/TestBase/TestPersistence.cs | 36 +++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) 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