Sic.Framework-Nanjing-Baishi/MECF.Framework.RT.Equipment.../MECF/Framework/Common/Device/Bases/STBlinkPatternTests.cs

47 lines
1.8 KiB
C#

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");
}
}
}