Correction des tests
All checks were successful
Main Build Process / Build & Test (pull_request) Successful in 1m21s
All checks were successful
Main Build Process / Build & Test (pull_request) Successful in 1m21s
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -16,4 +16,5 @@ bin
|
||||
obj
|
||||
report
|
||||
tools/
|
||||
TestResults
|
||||
TestResults
|
||||
/src/.vs
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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 />
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user