47 lines
1.8 KiB
C#
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");
|
|
|
|
}
|
|
}
|
|
} |