Files
ChanSort/source/Test.Loader.Hisense/HisenseChannelDbTest.cs

64 lines
2.0 KiB
C#
Raw Normal View History

using System;
using System.IO;
using System.Linq;
using System.Reflection;
using ChanSort.Api;
using ChanSort.Loader.Hisense;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Test.Loader.Hisense
{
[TestClass]
public class HisenseChannelDbTest
{
private static readonly string filesDir;
static HisenseChannelDbTest()
{
filesDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\TestFiles\\";
}
#region TestSatChannelsAddedToCorrectLists
[TestMethod]
public void TestSatChannelsAddedToCorrectLists()
{
this.TestChannelsAddedToCorrectLists("channel.db", SignalSource.DvbS, 1278, 1118, 160, 8692, "DOWNLOAD G10 HUMAX");
}
#endregion
#region TestCableChannelsAddedToCorrectLists
[TestMethod]
public void TestCableChannelsAddedToCorrectLists()
{
this.TestChannelsAddedToCorrectLists("channel.db", SignalSource.DvbC, 381, 310, 71, 4008, "Humax ESD 160C");
}
#endregion
#region TestChannelsAddedToCorrectList
private void TestChannelsAddedToCorrectLists(string fileName, SignalSource signalSource, int expectedTotal, int expectedTv, int expectedRadio, int dataProgramSid, string dataProgramName)
{
var plugin = new HisDbSerializerPlugin();
var ser = plugin.CreateSerializer(filesDir + fileName);
ser.Load();
var root = ser.DataRoot;
var list = root.GetChannelList(signalSource);
Assert.IsNotNull(list);
Assert.AreEqual(expectedTotal, list.Channels.Count);
Assert.AreEqual(expectedTv, list.Channels.Count(ch => (ch.SignalSource & SignalSource.Tv) != 0));
Assert.AreEqual(expectedRadio, list.Channels.Count(ch => (ch.SignalSource & SignalSource.Radio) != 0));
// check that data channel is in the TV list
var chan = list.Channels.FirstOrDefault(ch => ch.ServiceId == dataProgramSid);
Assert.IsNotNull(chan);
Assert.AreEqual(dataProgramName, chan.Name);
}
#endregion
}
}