From 39c94015ea7404981777c57851d9dd4d127d70ff Mon Sep 17 00:00:00 2001 From: mcmuzzle Date: Mon, 23 Feb 2026 11:09:53 +0100 Subject: [PATCH] Correction des tests --- .gitignore | 3 ++- .../Services/WasmStaticDataGetter.cs | 10 +++++++--- .../LittleTown.Blazor/Components/App.razor | 1 - .../Aggregates/MatchAggregate/Match.cs | 2 +- .../PortInterfaces/Inputs/IStaticDataGetter.cs | 5 +++++ .../LittleTown.StaticDataAccess.csproj | 9 ++++++++- .../StaticDataGetter.cs | 17 +++++++++++++---- 7 files changed, 36 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index a395674..796f9cd 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,5 @@ bin obj report tools/ -TestResults \ No newline at end of file +TestResults +/src/.vs diff --git a/src/LittleTown.Blazor/LittleTown.Blazor.Client/Services/WasmStaticDataGetter.cs b/src/LittleTown.Blazor/LittleTown.Blazor.Client/Services/WasmStaticDataGetter.cs index 9f113a4..de76970 100644 --- a/src/LittleTown.Blazor/LittleTown.Blazor.Client/Services/WasmStaticDataGetter.cs +++ b/src/LittleTown.Blazor/LittleTown.Blazor.Client/Services/WasmStaticDataGetter.cs @@ -1,4 +1,3 @@ -using System.Net.Http.Json; using System.Text.Json; using LittleTown.Core; using LittleTown.Core.Ports; @@ -33,16 +32,21 @@ public class WasmStaticDataGetter : IStaticDataGetter } /// - public Board GetBoard(int version) + public async Task GetBoardAsync(int version) { // Synchronous wrapper - not ideal but matches interface - InitializeAsync().GetAwaiter().GetResult(); + await InitializeAsync(); Board board = JsonSerializer.Deserialize(_boardData) ?? throw new JsonException("Cannot deserialize Board"); return board; } + public Board GetBoard(int version) + { + throw new NotImplementedException("Use the asynchronous version of GetBoard for WebAssembly."); + } + /// public ICollection GetBuildings() { diff --git a/src/LittleTown.Blazor/LittleTown.Blazor/Components/App.razor b/src/LittleTown.Blazor/LittleTown.Blazor/Components/App.razor index 1dca10f..024f23d 100644 --- a/src/LittleTown.Blazor/LittleTown.Blazor/Components/App.razor +++ b/src/LittleTown.Blazor/LittleTown.Blazor/Components/App.razor @@ -9,7 +9,6 @@ - diff --git a/src/LittleTown.Core/Aggregates/MatchAggregate/Match.cs b/src/LittleTown.Core/Aggregates/MatchAggregate/Match.cs index 1b15716..01c6a25 100644 --- a/src/LittleTown.Core/Aggregates/MatchAggregate/Match.cs +++ b/src/LittleTown.Core/Aggregates/MatchAggregate/Match.cs @@ -44,7 +44,7 @@ public class Match { ArgumentNullException.ThrowIfNull(staticData); - _board = staticData.GetBoard(1); + _board = staticData.GetBoardAsync(1).GetAwaiter().GetResult(); _buildings = staticData.GetBuildings(); _objectives = staticData.GetObjectives(); } diff --git a/src/LittleTown.Core/PortInterfaces/Inputs/IStaticDataGetter.cs b/src/LittleTown.Core/PortInterfaces/Inputs/IStaticDataGetter.cs index 1e5f068..6829b43 100644 --- a/src/LittleTown.Core/PortInterfaces/Inputs/IStaticDataGetter.cs +++ b/src/LittleTown.Core/PortInterfaces/Inputs/IStaticDataGetter.cs @@ -5,6 +5,11 @@ namespace LittleTown.Core.Ports; /// public interface IStaticDataGetter { + /// Recuperer un plateau de jeu + /// la version du plateau (1 ou 2) + /// une instance du plateau avec les données statique + public Task GetBoardAsync(int version); + /// Recuperer un plateau de jeu /// la version du plateau (1 ou 2) /// une instance du plateau avec les données statique diff --git a/src/LittleTown.StaticDataAccess/LittleTown.StaticDataAccess.csproj b/src/LittleTown.StaticDataAccess/LittleTown.StaticDataAccess.csproj index 6241cd7..2748c16 100644 --- a/src/LittleTown.StaticDataAccess/LittleTown.StaticDataAccess.csproj +++ b/src/LittleTown.StaticDataAccess/LittleTown.StaticDataAccess.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -15,4 +15,11 @@ + + + + PreserveNewest + + + diff --git a/src/LittleTown.StaticDataAccess/StaticDataGetter.cs b/src/LittleTown.StaticDataAccess/StaticDataGetter.cs index 9dad04f..2013fa6 100644 --- a/src/LittleTown.StaticDataAccess/StaticDataGetter.cs +++ b/src/LittleTown.StaticDataAccess/StaticDataGetter.cs @@ -26,12 +26,16 @@ public class StaticDataGetter : IStaticDataGetter _buildingData = buildingData; } - /// Constructeur avec les chemins par défaut, à utiliser pour les tests seulement + /// Constructeur avec les chemins par défaut public StaticDataGetter() { - string boardPath = Path.Combine(Environment.CurrentDirectory, "../../../src/LittleTown.StaticDataAccess/Data/Board1.json"); - string buildingPath = Path.Combine(Environment.CurrentDirectory, "../../../src/LittleTown.StaticDataAccess/Data/Buildings.json"); - string objectivesPath = Path.Combine(Environment.CurrentDirectory, "../../../src/LittleTown.StaticDataAccess/Data/Objectives.json"); + // Les fichiers JSON sont copiés dans le dossier de build via le .csproj + // Ils sont donc toujours relatifs à l'exécutable + var baseDirectory = AppContext.BaseDirectory; + string boardPath = Path.Combine(baseDirectory, "Data", "Board1.json"); + string buildingPath = Path.Combine(baseDirectory, "Data", "Buildings.json"); + string objectivesPath = Path.Combine(baseDirectory, "Data", "Objectives.json"); + ReadFiles(boardPath, buildingPath, objectivesPath); } @@ -49,6 +53,11 @@ public class StaticDataGetter : IStaticDataGetter return board; } + public Task GetBoardAsync(int version) + { + return Task.FromResult(GetBoard(version)); + } + /// public ICollection GetBuildings() {