255 lines
10 KiB
C#
255 lines
10 KiB
C#
|
|
using DTS.Common.Enums.Sensors;
|
|||
|
|
using DTS.Common.Interface.Channels;
|
|||
|
|
using DTS.Common.Interface.Groups.GroupList;
|
|||
|
|
using DTS.Common.Interface.Sensors;
|
|||
|
|
|
|||
|
|
using NSubstitute;
|
|||
|
|
using NUnit.Framework;
|
|||
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Threading.Tasks;
|
|||
|
|
|
|||
|
|
namespace DTS.Common.Classes.Groups
|
|||
|
|
{
|
|||
|
|
[TestFixture]
|
|||
|
|
class GroupChannelShould
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
[Test]
|
|||
|
|
public void GetFilterClassFromISOCode_ShouldReturnCFC1000WhenIsoIsA()
|
|||
|
|
{
|
|||
|
|
//Arrange
|
|||
|
|
ISoftwareFilter sf1 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
ISoftwareFilter sf2 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
List<ISoftwareFilter> filters = new List<ISoftwareFilter>();
|
|||
|
|
filters.Add(sf1);
|
|||
|
|
filters.Add(sf2);
|
|||
|
|
|
|||
|
|
IGroup group = Substitute.For<IGroup>();
|
|||
|
|
|
|||
|
|
IChannelSetting chs1 = Substitute.For<IChannelSetting>();
|
|||
|
|
chs1.SettingName.Returns("FilterClass");
|
|||
|
|
List<IChannelSetting> channelSettings = new List<IChannelSetting>();
|
|||
|
|
channelSettings.Add(chs1);
|
|||
|
|
IGroupChannel groupChannel = new GroupChannel(false, "TestGroup", group, channelSettings.ToArray());
|
|||
|
|
|
|||
|
|
//Act
|
|||
|
|
var result = groupChannel.GetFilterClassFromISOCode(filters.ToArray(), "???????????????A");
|
|||
|
|
|
|||
|
|
//Assert
|
|||
|
|
Assert.That(result.FClass, Is.EqualTo(FilterClassType.CFC1000));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[Test]
|
|||
|
|
public void GetFilterClassFromISOCode_ShouldReturnCFC600WhenIsoIsB()
|
|||
|
|
{
|
|||
|
|
//Arrange
|
|||
|
|
ISoftwareFilter sf1 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
ISoftwareFilter sf2 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
List<ISoftwareFilter> filters = new List<ISoftwareFilter>();
|
|||
|
|
filters.Add(sf1);
|
|||
|
|
filters.Add(sf2);
|
|||
|
|
|
|||
|
|
IGroup group = Substitute.For<IGroup>();
|
|||
|
|
|
|||
|
|
IChannelSetting chs1 = Substitute.For<IChannelSetting>();
|
|||
|
|
chs1.SettingName.Returns("FilterClass");
|
|||
|
|
List<IChannelSetting> channelSettings = new List<IChannelSetting>();
|
|||
|
|
channelSettings.Add(chs1);
|
|||
|
|
IGroupChannel groupChannel = new GroupChannel(false, "TestGroup", group, channelSettings.ToArray());
|
|||
|
|
|
|||
|
|
//Act
|
|||
|
|
var result = groupChannel.GetFilterClassFromISOCode(filters.ToArray(), "???????????????B");
|
|||
|
|
|
|||
|
|
//Assert
|
|||
|
|
Assert.That(result.FClass, Is.EqualTo(FilterClassType.CFC600));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[Test]
|
|||
|
|
public void GetFilterClassFromISOCode_ShouldReturnCFC180WhenIsoIsC()
|
|||
|
|
{
|
|||
|
|
//Arrange
|
|||
|
|
ISoftwareFilter sf1 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
ISoftwareFilter sf2 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
List<ISoftwareFilter> filters = new List<ISoftwareFilter>();
|
|||
|
|
filters.Add(sf1);
|
|||
|
|
filters.Add(sf2);
|
|||
|
|
|
|||
|
|
IGroup group = Substitute.For<IGroup>();
|
|||
|
|
|
|||
|
|
IChannelSetting chs1 = Substitute.For<IChannelSetting>();
|
|||
|
|
chs1.SettingName.Returns("FilterClass");
|
|||
|
|
List<IChannelSetting> channelSettings = new List<IChannelSetting>();
|
|||
|
|
channelSettings.Add(chs1);
|
|||
|
|
IGroupChannel groupChannel = new GroupChannel(false, "TestGroup", group, channelSettings.ToArray());
|
|||
|
|
|
|||
|
|
//Act
|
|||
|
|
var result = groupChannel.GetFilterClassFromISOCode(filters.ToArray(), "???????????????C");
|
|||
|
|
|
|||
|
|
//Assert
|
|||
|
|
Assert.That(result.FClass, Is.EqualTo(FilterClassType.CFC180));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[Test]
|
|||
|
|
public void GetFilterClassFromISOCode_ShouldReturnCFC60WhenIsoIsD()
|
|||
|
|
{
|
|||
|
|
//Arrange
|
|||
|
|
ISoftwareFilter sf1 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
ISoftwareFilter sf2 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
List<ISoftwareFilter> filters = new List<ISoftwareFilter>();
|
|||
|
|
filters.Add(sf1);
|
|||
|
|
filters.Add(sf2);
|
|||
|
|
|
|||
|
|
IGroup group = Substitute.For<IGroup>();
|
|||
|
|
|
|||
|
|
IChannelSetting chs1 = Substitute.For<IChannelSetting>();
|
|||
|
|
chs1.SettingName.Returns("FilterClass");
|
|||
|
|
List<IChannelSetting> channelSettings = new List<IChannelSetting>();
|
|||
|
|
channelSettings.Add(chs1);
|
|||
|
|
IGroupChannel groupChannel = new GroupChannel(false, "TestGroup", group, channelSettings.ToArray());
|
|||
|
|
|
|||
|
|
//Act
|
|||
|
|
var result = groupChannel.GetFilterClassFromISOCode(filters.ToArray(), "???????????????D");
|
|||
|
|
|
|||
|
|
//Assert
|
|||
|
|
Assert.That(result.FClass, Is.EqualTo(FilterClassType.CFC60));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[Test]
|
|||
|
|
public void GetFilterClassFromISOCode_ShouldReturnUnfilteredWhenIsoIs0()
|
|||
|
|
{
|
|||
|
|
//Arrange
|
|||
|
|
ISoftwareFilter sf1 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
ISoftwareFilter sf2 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
List<ISoftwareFilter> filters = new List<ISoftwareFilter>();
|
|||
|
|
filters.Add(sf1);
|
|||
|
|
filters.Add(sf2);
|
|||
|
|
|
|||
|
|
IGroup group = Substitute.For<IGroup>();
|
|||
|
|
|
|||
|
|
IChannelSetting chs1 = Substitute.For<IChannelSetting>();
|
|||
|
|
chs1.SettingName.Returns("FilterClass");
|
|||
|
|
List<IChannelSetting> channelSettings = new List<IChannelSetting>();
|
|||
|
|
channelSettings.Add(chs1);
|
|||
|
|
IGroupChannel groupChannel = new GroupChannel(false, "TestGroup", group, channelSettings.ToArray());
|
|||
|
|
|
|||
|
|
//Act
|
|||
|
|
var result = groupChannel.GetFilterClassFromISOCode(filters.ToArray(), "???????????????0");
|
|||
|
|
|
|||
|
|
//Assert
|
|||
|
|
Assert.That(result.FClass, Is.EqualTo(FilterClassType.Unfiltered));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void GetFilterClassFromISOCode_ShouldReturnNoneWhenIsoIsP()
|
|||
|
|
{
|
|||
|
|
//Arrange
|
|||
|
|
ISoftwareFilter sf1 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
ISoftwareFilter sf2 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
List<ISoftwareFilter> filters = new List<ISoftwareFilter>();
|
|||
|
|
filters.Add(sf1);
|
|||
|
|
filters.Add(sf2);
|
|||
|
|
|
|||
|
|
IGroup group = Substitute.For<IGroup>();
|
|||
|
|
|
|||
|
|
IChannelSetting chs1 = Substitute.For<IChannelSetting>();
|
|||
|
|
chs1.SettingName.Returns("FilterClass");
|
|||
|
|
List<IChannelSetting> channelSettings = new List<IChannelSetting>();
|
|||
|
|
channelSettings.Add(chs1);
|
|||
|
|
IGroupChannel groupChannel = new GroupChannel(false, "TestGroup", group, channelSettings.ToArray());
|
|||
|
|
|
|||
|
|
//Act
|
|||
|
|
var result = groupChannel.GetFilterClassFromISOCode(filters.ToArray(), "???????????????P");
|
|||
|
|
|
|||
|
|
//Assert
|
|||
|
|
Assert.That(result.FClass, Is.EqualTo(FilterClassType.None));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[Test]
|
|||
|
|
public void GetFilterClassFromISOCode_ShouldReturnAdhocWhenIsoIsAdhoc1800()
|
|||
|
|
{
|
|||
|
|
//Arrange
|
|||
|
|
ISoftwareFilter sf1 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
ISoftwareFilter sf2 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
sf1.Frequency.Returns(1800);
|
|||
|
|
sf1.ISOCode.Returns('S');
|
|||
|
|
|
|||
|
|
List<ISoftwareFilter> filters = new List<ISoftwareFilter>();
|
|||
|
|
filters.Add(sf1);
|
|||
|
|
filters.Add(sf2);
|
|||
|
|
|
|||
|
|
IGroup group = Substitute.For<IGroup>();
|
|||
|
|
|
|||
|
|
IChannelSetting chs1 = Substitute.For<IChannelSetting>();
|
|||
|
|
chs1.SettingName.Returns("FilterClass");
|
|||
|
|
List<IChannelSetting> channelSettings = new List<IChannelSetting>();
|
|||
|
|
channelSettings.Add(chs1);
|
|||
|
|
IGroupChannel groupChannel = new GroupChannel(false, "TestGroup", group, channelSettings.ToArray());
|
|||
|
|
|
|||
|
|
//Act
|
|||
|
|
var result = groupChannel.GetFilterClassFromISOCode(filters.ToArray(), "???????????????S");
|
|||
|
|
|
|||
|
|
//Assert
|
|||
|
|
Assert.That(result.FClass, Is.EqualTo(FilterClassType.AdHoc));
|
|||
|
|
Assert.That(result.Frequency, Is.EqualTo(1800));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[Test]
|
|||
|
|
public void GetFilterClassFromISOCode_ShouldReturnCFC1000WhenNoAdhocFilter()
|
|||
|
|
{
|
|||
|
|
//Arrange
|
|||
|
|
ISoftwareFilter sf1 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
ISoftwareFilter sf2 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
sf1.Frequency.Returns(1650);
|
|||
|
|
sf1.ISOCode.Returns('A');
|
|||
|
|
|
|||
|
|
List<ISoftwareFilter> filters = new List<ISoftwareFilter>();
|
|||
|
|
filters.Add(sf1);
|
|||
|
|
filters.Add(sf2);
|
|||
|
|
|
|||
|
|
IGroup group = Substitute.For<IGroup>();
|
|||
|
|
|
|||
|
|
IChannelSetting chs1 = Substitute.For<IChannelSetting>();
|
|||
|
|
chs1.SettingName.Returns("FilterClass");
|
|||
|
|
List<IChannelSetting> channelSettings = new List<IChannelSetting>();
|
|||
|
|
channelSettings.Add(chs1);
|
|||
|
|
IGroupChannel groupChannel = new GroupChannel(false, "TestGroup", group, channelSettings.ToArray());
|
|||
|
|
|
|||
|
|
//Act
|
|||
|
|
var result = groupChannel.GetFilterClassFromISOCode(filters.ToArray(), "???????????????S");
|
|||
|
|
|
|||
|
|
//Assert
|
|||
|
|
Assert.That(result.FClass, Is.EqualTo(FilterClassType.CFC1000));
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[Test]
|
|||
|
|
public void GetFilterClassFromISOCode_ShouldReturnCFC1000WhenIsoIsNotValid()
|
|||
|
|
{
|
|||
|
|
//Arrange
|
|||
|
|
ISoftwareFilter sf1 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
ISoftwareFilter sf2 = Substitute.For<ISoftwareFilter>();
|
|||
|
|
List<ISoftwareFilter> filters = new List<ISoftwareFilter>();
|
|||
|
|
filters.Add(sf1);
|
|||
|
|
filters.Add(sf2);
|
|||
|
|
|
|||
|
|
IGroup group = Substitute.For<IGroup>();
|
|||
|
|
|
|||
|
|
IChannelSetting chs1 = Substitute.For<IChannelSetting>();
|
|||
|
|
chs1.SettingName.Returns("FilterClass");
|
|||
|
|
List<IChannelSetting> channelSettings = new List<IChannelSetting>();
|
|||
|
|
channelSettings.Add(chs1);
|
|||
|
|
IGroupChannel groupChannel = new GroupChannel(false, "TestGroup", group, channelSettings.ToArray());
|
|||
|
|
|
|||
|
|
//Act
|
|||
|
|
var result = groupChannel.GetFilterClassFromISOCode(filters.ToArray(), "???????????????H");
|
|||
|
|
|
|||
|
|
//Assert
|
|||
|
|
Assert.That(result.FClass, Is.EqualTo(FilterClassType.CFC1000));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|