Files
DP44/Common/DTS.Common.Tests/ChannelTypeUtilityShould.cs
2026-04-17 14:55:32 -04:00

78 lines
2.5 KiB
C#

using DTS.Common.Classes.Sensors;
using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
namespace DTS.Common.Tests
{
public class ChannelTypeUtilityShould
{
public static Array GetKnownChannelTypes()
{
var testValuesFromEnum = new List<string>();
var values = Enum.GetValues(typeof(KnownChannelTypes)).Cast<KnownChannelTypes>().Select(x => x.ToString()).ToArray();
foreach (var value in values)
{
testValuesFromEnum.Add($"{value}087155.1");
}
return testValuesFromEnum.ToArray();
}
[Test]
public void ParseSensorKnownChannelType_ShouldRetuenEmpty_WhenPassedNull()
{
//Arrange
//Act
var res = ChannelTypeUtility.ParseSensorKnownChannelType(null);
//Assert
Assert.IsNotNull(res);
Assert.That(res, Is.EqualTo(string.Empty));
}
[Test]
public void ParseSensorKnownChannelType_ShouldRetuenEmpty_WhenPassedLessThan2Char()
{
//Arrange
//Act
var res = ChannelTypeUtility.ParseSensorKnownChannelType("A");
//Assert
Assert.IsNotNull(res);
Assert.That(res, Is.EqualTo(string.Empty));
}
[Test]
public void ParseSensorKnownChannelType_ShouldRetuenEmpty_WhenPassedNameWithUnknown2Char()
{
//Arrange
//Act
var res = ChannelTypeUtility.ParseSensorKnownChannelType("XA087155.1");
//Assert
Assert.IsNotNull(res);
Assert.That(res, Is.EqualTo(string.Empty));
}
[Test]
public void ParseSensorKnownChannelType_ShouldRetuenEmpty_WhenPassedEmptyString()
{
//Arrange
//Act
var res = ChannelTypeUtility.ParseSensorKnownChannelType("");
//Assert
Assert.IsNotNull(res);
Assert.That(res, Is.EqualTo(""));
}
[TestCaseSource("GetKnownChannelTypes")]
public void ParseSensorKnownChannelType_ShouldRetuenCorrectTag_WhenPassedSensorNameWithCorrectPrefix(string sensorName)
{
//Arrange
//Act
var res = ChannelTypeUtility.ParseSensorKnownChannelType(sensorName);
//Assert
Assert.IsNotNull(res);
Enum.IsDefined(typeof(KnownChannelTypes), res);
}
}
}