85 lines
2.6 KiB
C#
85 lines
2.6 KiB
C#
using Opc.Ua;
|
|
using Shouldly;
|
|
using Xunit;
|
|
using ZB.MOM.WW.LmxOpcUa.Host.Domain;
|
|
using ZB.MOM.WW.LmxOpcUa.Host.OpcUa;
|
|
|
|
namespace ZB.MOM.WW.LmxOpcUa.Tests.OpcUa
|
|
{
|
|
/// <summary>
|
|
/// Verifies translation between bridge quality values and OPC UA status codes.
|
|
/// </summary>
|
|
public class OpcUaQualityMapperTests
|
|
{
|
|
/// <summary>
|
|
/// Confirms that good bridge quality maps to an OPC UA good status.
|
|
/// </summary>
|
|
[Fact]
|
|
public void Good_MapsToGoodStatusCode()
|
|
{
|
|
var sc = OpcUaQualityMapper.ToStatusCode(Quality.Good);
|
|
StatusCode.IsGood(sc).ShouldBe(true);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Confirms that bad bridge quality maps to an OPC UA bad status.
|
|
/// </summary>
|
|
[Fact]
|
|
public void Bad_MapsToBadStatusCode()
|
|
{
|
|
var sc = OpcUaQualityMapper.ToStatusCode(Quality.Bad);
|
|
StatusCode.IsBad(sc).ShouldBe(true);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Confirms that uncertain bridge quality maps to an OPC UA uncertain status.
|
|
/// </summary>
|
|
[Fact]
|
|
public void Uncertain_MapsToUncertainStatusCode()
|
|
{
|
|
var sc = OpcUaQualityMapper.ToStatusCode(Quality.Uncertain);
|
|
StatusCode.IsUncertain(sc).ShouldBe(true);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Confirms that communication failures map to a bad OPC UA status code.
|
|
/// </summary>
|
|
[Fact]
|
|
public void BadCommFailure_MapsCorrectly()
|
|
{
|
|
var sc = OpcUaQualityMapper.ToStatusCode(Quality.BadCommFailure);
|
|
StatusCode.IsBad(sc).ShouldBe(true);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Confirms that the OPC UA good status maps back to bridge good quality.
|
|
/// </summary>
|
|
[Fact]
|
|
public void FromStatusCode_Good()
|
|
{
|
|
var q = OpcUaQualityMapper.FromStatusCode(StatusCodes.Good);
|
|
q.ShouldBe(Quality.Good);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Confirms that the OPC UA bad status maps back to bridge bad quality.
|
|
/// </summary>
|
|
[Fact]
|
|
public void FromStatusCode_Bad()
|
|
{
|
|
var q = OpcUaQualityMapper.FromStatusCode(StatusCodes.Bad);
|
|
q.ShouldBe(Quality.Bad);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Confirms that the OPC UA uncertain status maps back to bridge uncertain quality.
|
|
/// </summary>
|
|
[Fact]
|
|
public void FromStatusCode_Uncertain()
|
|
{
|
|
var q = OpcUaQualityMapper.FromStatusCode(StatusCodes.Uncertain);
|
|
q.ShouldBe(Quality.Uncertain);
|
|
}
|
|
}
|
|
}
|