using System.Text.Json; using MoShiro.Backend.Application; using MoShiro.Protocol; namespace MoShiro.Backend.Tests; public sealed class PlanTests { [Fact] public void Plans_ComposeKnownCollectionPrimitives_AndTheirOverridesAreValid() { foreach (PlanSpec plan in Plans.All) { foreach (PhaseSpec phase in plan.Phases) { KindSpec kind = Kinds.Find(phase.Kind)!; Assert.NotNull(kind); Assert.True(ParamResolver.Resolve(kind.Params, phase.Overrides).IsValid, $"{plan.Id}/{phase.Kind}"); } } Assert.Null(Plans.Find("nope")); } }