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(); var values = Enum.GetValues(typeof(KnownChannelTypes)).Cast().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); } } }