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
|
obj
|
||||||
report
|
report
|
||||||
tools/
|
tools/
|
||||||
TestResults
|
TestResults
|
||||||
|
/src/.vs
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
using System.Net.Http.Json;
|
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using LittleTown.Core;
|
using LittleTown.Core;
|
||||||
using LittleTown.Core.Ports;
|
using LittleTown.Core.Ports;
|
||||||
@@ -33,16 +32,21 @@ public class WasmStaticDataGetter : IStaticDataGetter
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public Board GetBoard(int version)
|
public async Task<Board> GetBoardAsync(int version)
|
||||||
{
|
{
|
||||||
// Synchronous wrapper - not ideal but matches interface
|
// Synchronous wrapper - not ideal but matches interface
|
||||||
InitializeAsync().GetAwaiter().GetResult();
|
await InitializeAsync();
|
||||||
|
|
||||||
Board board = JsonSerializer.Deserialize<Board>(_boardData)
|
Board board = JsonSerializer.Deserialize<Board>(_boardData)
|
||||||
?? throw new JsonException("Cannot deserialize Board");
|
?? throw new JsonException("Cannot deserialize Board");
|
||||||
return board;
|
return board;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Board GetBoard(int version)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException("Use the asynchronous version of GetBoard for WebAssembly.");
|
||||||
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public ICollection<Building> GetBuildings()
|
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["lib/bootstrap/dist/css/bootstrap.min.css"]" />
|
||||||
<link rel="stylesheet" href="@Assets["app.css"]" />
|
<link rel="stylesheet" href="@Assets["app.css"]" />
|
||||||
<link rel="stylesheet" href="@Assets["LittleTown.Blazor.styles.css"]" />
|
<link rel="stylesheet" href="@Assets["LittleTown.Blazor.styles.css"]" />
|
||||||
<link rel="stylesheet" href="LittleTown.Blazor.Client.styles.css" />
|
|
||||||
<ImportMap />
|
<ImportMap />
|
||||||
<link rel="icon" type="image/png" href="favicon.png" />
|
<link rel="icon" type="image/png" href="favicon.png" />
|
||||||
<HeadOutlet />
|
<HeadOutlet />
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public class Match
|
|||||||
{
|
{
|
||||||
ArgumentNullException.ThrowIfNull(staticData);
|
ArgumentNullException.ThrowIfNull(staticData);
|
||||||
|
|
||||||
_board = staticData.GetBoard(1);
|
_board = staticData.GetBoardAsync(1).GetAwaiter().GetResult();
|
||||||
_buildings = staticData.GetBuildings();
|
_buildings = staticData.GetBuildings();
|
||||||
_objectives = staticData.GetObjectives();
|
_objectives = staticData.GetObjectives();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ namespace LittleTown.Core.Ports;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IStaticDataGetter
|
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>
|
/// <summary> Recuperer un plateau de jeu </summary>
|
||||||
/// <param name="version">la version du plateau (1 ou 2)</param>
|
/// <param name="version">la version du plateau (1 ou 2)</param>
|
||||||
/// <returns> une instance du plateau avec les données statique</returns>
|
/// <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>
|
<PropertyGroup>
|
||||||
<TargetFramework>net10.0</TargetFramework>
|
<TargetFramework>net10.0</TargetFramework>
|
||||||
@@ -15,4 +15,11 @@
|
|||||||
<ProjectReference Include="..\LittleTown.Core\LittleTown.Core.csproj" />
|
<ProjectReference Include="..\LittleTown.Core\LittleTown.Core.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<!-- Copier les fichiers JSON dans le dossier de build -->
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="Data\*.json">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -26,12 +26,16 @@ public class StaticDataGetter : IStaticDataGetter
|
|||||||
_buildingData = buildingData;
|
_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()
|
public StaticDataGetter()
|
||||||
{
|
{
|
||||||
string boardPath = Path.Combine(Environment.CurrentDirectory, "../../../src/LittleTown.StaticDataAccess/Data/Board1.json");
|
// Les fichiers JSON sont copiés dans le dossier de build via le .csproj
|
||||||
string buildingPath = Path.Combine(Environment.CurrentDirectory, "../../../src/LittleTown.StaticDataAccess/Data/Buildings.json");
|
// Ils sont donc toujours relatifs à l'exécutable
|
||||||
string objectivesPath = Path.Combine(Environment.CurrentDirectory, "../../../src/LittleTown.StaticDataAccess/Data/Objectives.json");
|
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);
|
ReadFiles(boardPath, buildingPath, objectivesPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,6 +53,11 @@ public class StaticDataGetter : IStaticDataGetter
|
|||||||
return board;
|
return board;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Task<Board> GetBoardAsync(int version)
|
||||||
|
{
|
||||||
|
return Task.FromResult(GetBoard(version));
|
||||||
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public ICollection<Building> GetBuildings()
|
public ICollection<Building> GetBuildings()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user