ajout de la classe plateau

This commit was merged in pull request #3.
This commit is contained in:
2024-05-29 12:20:04 +02:00
parent 9567423195
commit a4847c1641
7 changed files with 448 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
using System.Text.Json;
using LittleTown.Core.Enums;
namespace LittleTown.Core.Tests;
public class BoardTesting
{
private readonly Board _board;
public BoardTesting()
{
string path = Path.Combine(Environment.CurrentDirectory, "../../../../LittleTown.Core/Data/Board1.json");
string data = System.IO.File.ReadAllText(path);
_board = JsonSerializer.Deserialize<Board>(data) ?? throw new JsonException("Cannot deserialize Board");
}
[Fact]
public void BoardGetTile()
{
Assert.Equal(ResourceType.Fish, _board.GetTile(0, 3)?.ResourceType);
}
[Fact]
public void BoardGetArea()
{
ICollection<Tile> tilesCoin = _board.GetArea(0, 0);
Assert.Equal(3, tilesCoin.Count);
Assert.Equal(1, tilesCoin.Count(t => t.ResourceType == ResourceType.Wood));
ICollection<Tile> tilesCentre = _board.GetArea(7, 1);
Assert.Equal(8, tilesCentre.Count);
Assert.Equal(2, tilesCentre.Count(t => t.ResourceType == ResourceType.Wood));
Assert.Equal(1, tilesCentre.Count(t => t.ResourceType == ResourceType.Fish));
ICollection<Tile> tilesBord = _board.GetArea(4, 5);
Assert.Equal(5, tilesBord.Count);
Assert.Equal(1, tilesBord.Count(t => t.ResourceType == ResourceType.Rock));
Assert.Equal(1, tilesBord.Count(t => t.ResourceType == ResourceType.Fish));
}
}

View File

@@ -15,4 +15,10 @@ public class MatchTesting
Assert.Throws<ArgumentOutOfRangeException>(() => { new Match(5); });
}
[Fact]
public void CheckBoardBoundaries()
{
}
}