using Xunit; namespace MECF.Framework.Common.Device.Bases.Tests { public class STBlinkPatternTests { [Fact()] public void ParseTest1() { var pattern = new STBlinkPattern("-----.....", 5); var ret = STBlinkPattern.GetBlinkData(pattern, out var blinkData, out var reason); Assert.True(ret); Assert.True(blinkData.Count == 2); Assert.True(blinkData[0].Key == TowerLightStatus.On); Assert.True(blinkData[0].Value == 500); Assert.True(blinkData[1].Key == TowerLightStatus.Off); Assert.True(blinkData[1].Value == 500); } [Fact()] public void ParseTest2() { var pattern = new STBlinkPattern("..---...----", 5); var ret = STBlinkPattern.GetBlinkData(pattern, out var blinkData, out var reason); Assert.True(ret); Assert.True(blinkData.Count == 4); Assert.True(blinkData[0].Key == TowerLightStatus.Off); Assert.True(blinkData[0].Value == 200); Assert.True(blinkData[1].Key == TowerLightStatus.On); Assert.True(blinkData[1].Value == 300); Assert.True(blinkData[2].Key == TowerLightStatus.Off); Assert.True(blinkData[2].Value == 300); Assert.True(blinkData[3].Key == TowerLightStatus.On); Assert.True(blinkData[3].Value == 400); } [Fact()] public void ParseIllegalCharTest() { var pattern = new STBlinkPattern("..---...1----", 5); var ret = STBlinkPattern.GetBlinkData(pattern, out var blinkData, out var reason); Assert.False(ret); Assert.True(reason == "pattern contains illegal characters"); } } }