using ZB.MOM.WW.ScadaBridge.Commons.Types.Debugging; namespace ZB.MOM.WW.ScadaBridge.Commons.Tests.Debugging; public class FlowEnumContractTests { [Fact] public void EnumNamesAndValues_RemainStable() { Assert.Equal(new[] { "Central", "Site", "Tags", "External" }, Enum.GetNames()); Assert.Equal(Enumerable.Range(0, 4), Enum.GetValues().Select(x => (int)x)); Assert.Equal(new[] { "InboundRequest", "RouteCall", "ScriptRun", "AttributeWrite", "AttributeWait", "Response", "ApiCall", "DbCall", "Notify", "Unknown" }, Enum.GetNames()); Assert.Equal(Enumerable.Range(0, 10), Enum.GetValues().Select(x => (int)x)); Assert.Equal(new[] { "Ok", "Failed", "TimedOut", "Predicted", "NotTraced", "Pending", "Parked" }, Enum.GetNames()); Assert.Equal(Enumerable.Range(0, 7), Enum.GetValues().Select(x => (int)x)); } [Fact] public void KindRank_UsesDisplayOrderIndependentOfEnumValue() { Assert.Equal(new[] { 0, 1, 2, 3, 4, 9, 5, 5, 5, 6 }, Enum.GetValues().Select(FlowGraphBuilder.KindRank)); } }