using Shouldly; using Xunit; using ZB.MOM.WW.LmxOpcUa.Host.Domain; namespace ZB.MOM.WW.LmxOpcUa.Tests.Domain { public class SecurityClassificationMapperTests { [Theory] [InlineData(0, true)] // FreeAccess [InlineData(1, true)] // Operate [InlineData(4, true)] // Tune [InlineData(5, true)] // Configure public void Writable_SecurityLevels(int classification, bool expected) { SecurityClassificationMapper.IsWritable(classification).ShouldBe(expected); } [Theory] [InlineData(2, false)] // SecuredWrite [InlineData(3, false)] // VerifiedWrite [InlineData(6, false)] // ViewOnly public void ReadOnly_SecurityLevels(int classification, bool expected) { SecurityClassificationMapper.IsWritable(classification).ShouldBe(expected); } [Theory] [InlineData(-1)] [InlineData(7)] [InlineData(99)] public void Unknown_Values_DefaultToWritable(int classification) { SecurityClassificationMapper.IsWritable(classification).ShouldBeTrue(); } } }