Correction des tests
All checks were successful
Main Build Process / Build & Test (pull_request) Successful in 1m21s

This commit is contained in:
2026-02-23 11:09:53 +01:00
parent f949040a45
commit 39c94015ea
7 changed files with 36 additions and 11 deletions

3
.gitignore vendored
View File

@@ -16,4 +16,5 @@ bin
obj
report
tools/
TestResults
TestResults
/src/.vs

View File

@@ -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
}
/// <inheritdoc/>
public Board GetBoard(int version)
public async Task<Board> GetBoardAsync(int version)
{
// Synchronous wrapper - not ideal but matches interface
InitializeAsync().GetAwaiter().GetResult();
await InitializeAsync();
Board board = JsonSerializer.Deserialize<Board>(_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.");
}
/// <inheritdoc/>
public ICollection<Building> GetBuildings()
{

View File

@@ -9,7 +9,6 @@
<link rel="stylesheet" href="@Assets["lib/bootstrap/dist/css/bootstrap.min.css"]" />
<link rel="stylesheet" href="@Assets["app.css"]" />
<link rel="stylesheet" href="@Assets["LittleTown.Blazor.styles.css"]" />
<link rel="stylesheet" href="LittleTown.Blazor.Client.styles.css" />
<ImportMap />
<link rel="icon" type="image/png" href="favicon.png" />
<HeadOutlet />

View File

@@ -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();
}

View File

@@ -5,6 +5,11 @@ namespace LittleTown.Core.Ports;
/// </summary>
public interface IStaticDataGetter
{
/// <summary> Recuperer un plateau de jeu </summary>
/// <param name="version">la version du plateau (1 ou 2)</param>
/// <returns> une instance du plateau avec les données statique</returns>
public Task<Board> GetBoardAsync(int version);
/// <summary> Recuperer un plateau de jeu </summary>
/// <param name="version">la version du plateau (1 ou 2)</param>
/// <returns> une instance du plateau avec les données statique</returns>

View File

@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
@@ -15,4 +15,11 @@
<ProjectReference Include="..\LittleTown.Core\LittleTown.Core.csproj" />
</ItemGroup>
<!-- Copier les fichiers JSON dans le dossier de build -->
<ItemGroup>
<Content Include="Data\*.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>

View File

@@ -26,12 +26,16 @@ public class StaticDataGetter : IStaticDataGetter
_buildingData = buildingData;
}
/// <summary> Constructeur avec les chemins par défaut, à utiliser pour les tests seulement </summary>
/// <summary> Constructeur avec les chemins par défaut </summary>
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<Board> GetBoardAsync(int version)
{
return Task.FromResult(GetBoard(version));
}
/// <inheritdoc/>
public ICollection<Building> GetBuildings()
{