2026-04-16 21:22:49 +02:00
|
|
|
using Chessistics.Engine.Loading;
|
|
|
|
|
using Chessistics.Engine.Model;
|
|
|
|
|
using Xunit;
|
|
|
|
|
|
|
|
|
|
namespace Chessistics.Tests.Loading;
|
|
|
|
|
|
|
|
|
|
public class CampaignFileTests
|
|
|
|
|
{
|
|
|
|
|
[Fact]
|
|
|
|
|
public void Campaign01_LoadsSuccessfully()
|
|
|
|
|
{
|
|
|
|
|
var campaign = CampaignLoader.LoadFromFile("../../../../Data/campaigns/campaign_01.json");
|
|
|
|
|
|
|
|
|
|
Assert.Equal("La Quête du Roi", campaign.Name);
|
2026-04-17 22:34:11 +02:00
|
|
|
Assert.Equal(9, campaign.Missions.Count);
|
2026-04-16 21:22:49 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void Campaign01_Mission5_HasTransformer()
|
|
|
|
|
{
|
|
|
|
|
var campaign = CampaignLoader.LoadFromFile("../../../../Data/campaigns/campaign_01.json");
|
|
|
|
|
var m5 = campaign.Missions[4]; // index 4
|
|
|
|
|
|
|
|
|
|
Assert.Equal("La Forge", m5.Name);
|
|
|
|
|
|
|
|
|
|
var transformerCell = m5.TerrainPatch.Cells
|
|
|
|
|
.FirstOrDefault(c => c.Type == CellType.Transformer);
|
|
|
|
|
Assert.NotNull(transformerCell);
|
|
|
|
|
Assert.Equal(CargoType.Wood, transformerCell.Transformer!.InputCargo);
|
|
|
|
|
Assert.Equal(CargoType.Tools, transformerCell.Transformer.OutputCargo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void Campaign01_Mission6_HasArmurerie()
|
|
|
|
|
{
|
|
|
|
|
var campaign = CampaignLoader.LoadFromFile("../../../../Data/campaigns/campaign_01.json");
|
|
|
|
|
var m6 = campaign.Missions[5];
|
|
|
|
|
|
|
|
|
|
Assert.Equal("L'Armurerie", m6.Name);
|
|
|
|
|
Assert.Equal(10, m6.TerrainPatch.NewWidth);
|
|
|
|
|
|
|
|
|
|
var transformerCell = m6.TerrainPatch.Cells
|
|
|
|
|
.FirstOrDefault(c => c.Type == CellType.Transformer);
|
|
|
|
|
Assert.NotNull(transformerCell);
|
|
|
|
|
Assert.Equal(CargoType.Stone, transformerCell.Transformer!.InputCargo);
|
|
|
|
|
Assert.Equal(CargoType.Arms, transformerCell.Transformer.OutputCargo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void Campaign01_Mission7_HasComptoir()
|
|
|
|
|
{
|
|
|
|
|
var campaign = CampaignLoader.LoadFromFile("../../../../Data/campaigns/campaign_01.json");
|
|
|
|
|
var m7 = campaign.Missions[6];
|
|
|
|
|
|
2026-04-17 22:34:11 +02:00
|
|
|
Assert.Equal("Le Comptoir", m7.Name);
|
2026-04-16 21:22:49 +02:00
|
|
|
|
|
|
|
|
var transformerCell = m7.TerrainPatch.Cells
|
|
|
|
|
.FirstOrDefault(c => c.Type == CellType.Transformer);
|
|
|
|
|
Assert.NotNull(transformerCell);
|
|
|
|
|
Assert.Equal(CargoType.Tools, transformerCell.Transformer!.InputCargo);
|
|
|
|
|
Assert.Equal(CargoType.Gold, transformerCell.Transformer.OutputCargo);
|
|
|
|
|
}
|
|
|
|
|
}
|