Align fixed-stage visual expectations with six approved landscapes

This commit is contained in:
NINI
2026-10-10 04:01:22 +09:00
parent 4f39d621cd
commit ef547b050a
@@ -31,16 +31,11 @@ namespace MagnetismHeroes.Tests
Assert.That(definition.BallPositions.Count, Is.EqualTo(definition.Total)); Assert.That(definition.BallPositions.Count, Is.EqualTo(definition.Total));
Assert.That(asset.Theme, Is.EqualTo(id<=10 ? "Garden" : id<=20 ? "Cloud" : "Workshop")); Assert.That(asset.Theme, Is.EqualTo(id<=10 ? "Garden" : id<=20 ? "Cloud" : "Workshop"));
foreach (var placement in asset.Decorations) Assert.That(placement.prefab, Is.Not.Null); foreach (var placement in asset.Decorations) Assert.That(placement.prefab, Is.Not.Null);
var expectedDecorations = new[] { "MeadowClearing", "OpenStoneArch", "MossStoneSteps", "PebbleScatter" } foreach (string name in new[] { "MeadowClearing", "OpenStoneArch", "MossStoneSteps", "PebbleScatter", "GentleHill" })
.Concat(Enumerable.Repeat("FarHorizon", 4)).Concat(Enumerable.Repeat("DistantRidge", 4)) Assert.That(asset.Decorations.Any(placement => placement.prefab.name == name), Is.True, $"Stage {id} shared discovery and terrain: {name}");
.Concat(Enumerable.Repeat("GentleHill", 4)) var primaryDecorations = new[] { "DaisyColony", "RoundCanopyTree", "PinkCosmosColony", "FernCluster", "RoundLimestone", "OpenStoneArch" };
.Concat(Enumerable.Repeat(id <= 10 ? "RoundCanopyTree" : id <= 20 ? "SageCanopyTree" : "TallWindTree", 4)) Assert.That(asset.Decorations.Any(placement => placement.prefab.name == primaryDecorations[(id - 1) / 5]), Is.True, $"Stage {id} five-stage natural composition");
.Concat(new[] { id <= 10 ? "MintShrub" : "SageShrub" }) foreach (string name in new[] { "FarHorizon", "DistantRidge" })
.Concat(id <= 10 ? new[] { "DaisyColony", "FernCluster", "GrassTuftMint", "GrassTuftGold" }
: id <= 20 ? new[] { "PinkCosmosColony", "LavenderLupineColony", "DaisyColony", "GrassTuftGold" }
: new[] { "SlateBoulder", "RoundLimestone", "LowLimestone", "FernCluster" });
Assert.That(asset.Decorations.Select(placement => placement.prefab.name), Is.EquivalentTo(expectedDecorations), $"Stage {id} natural theme composition");
foreach (string name in new[] { "FarHorizon", "DistantRidge", "GentleHill" })
Assert.That(asset.Decorations.Where(placement => placement.prefab.name == name).Select(placement => placement.eulerAngles.y), Assert.That(asset.Decorations.Where(placement => placement.prefab.name == name).Select(placement => placement.eulerAngles.y),
Is.EquivalentTo(new[] { 0f, 90f, 180f, 270f }), $"Stage {id} {name} surrounds all four directions"); Is.EquivalentTo(new[] { 0f, 90f, 180f, 270f }), $"Stage {id} {name} surrounds all four directions");
string before=EditorJsonUtility.ToJson(asset); var board=new BoardRules(definition); string before=EditorJsonUtility.ToJson(asset); var board=new BoardRules(definition);