mirror of
https://github.com/PredatH0r/ChanSort.git
synced 2026-05-06 07:55:59 +02:00
- improved tv.db/idtvChannel.bin support (e.g. Panasonic LSW500, LXW700)
- fixed error when changing "Auto hide/unhide columns" option while no list is loaded - added "Feature" to serializers so they can enforce that all TV channels must come before Radio and Data (but share a common number sequence)
This commit is contained in:
47
source/Test.Api/EditorTest.cs
Normal file
47
source/Test.Api/EditorTest.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using System.Linq;
|
||||
using ChanSort.Api;
|
||||
|
||||
namespace Test.Api;
|
||||
|
||||
[TestClass]
|
||||
public class EditorTest
|
||||
{
|
||||
[TestMethod]
|
||||
public void TestEnforceTvBeforeRadioBeforeData()
|
||||
{
|
||||
var list = new ChannelList(SignalSource.All, "All");
|
||||
list.AddChannel(new ChannelInfo(SignalSource.Tv, 0, 1, ""));
|
||||
list.AddChannel(new ChannelInfo(SignalSource.Tv, 1, 2, ""));
|
||||
list.AddChannel(new ChannelInfo(SignalSource.Data, 2, 3, ""));
|
||||
list.AddChannel(new ChannelInfo(SignalSource.Tv, 3, 4, ""));
|
||||
list.AddChannel(new ChannelInfo(SignalSource.Radio, 4, 5, ""));
|
||||
list.AddChannel(new ChannelInfo(SignalSource.Tv, 5, 6, ""));
|
||||
list.AddChannel(new ChannelInfo(SignalSource.Radio, 6, 7, ""));
|
||||
list.AddChannel(new ChannelInfo(SignalSource.Tv, 7, 8, ""));
|
||||
list.AddChannel(new ChannelInfo(SignalSource.Data, 8, 9, ""));
|
||||
list.AddChannel(new ChannelInfo(SignalSource.Data, 9, 10, ""));
|
||||
list.AddChannel(new ChannelInfo(SignalSource.Radio, 10, 11, ""));
|
||||
list.AddChannel(new ChannelInfo(SignalSource.Tv, 11, 12, ""));
|
||||
|
||||
var ser = new CsvRefListSerializer("foo.csv");
|
||||
var dataRoot = new DataRoot(ser);
|
||||
dataRoot.AddChannelList(list);
|
||||
dataRoot.ApplyCurrentProgramNumbers();
|
||||
|
||||
var editor = new Editor();
|
||||
editor.DataRoot = dataRoot;
|
||||
Assert.IsTrue(editor.EnforceTvBeforeRadioBeforeData());
|
||||
|
||||
var expected = new[] { 0, 1, 3, 5, 7, 11, 4, 6, 10, 2, 8, 9 };
|
||||
var newOrder = list.Channels.OrderBy(ch => ch.NewProgramNr).ToList();
|
||||
for (int i = 0; i<list.Channels.Count; i++)
|
||||
Assert.AreEqual(expected[i], newOrder[i].RecordIndex);
|
||||
|
||||
// running it again should produce no changes
|
||||
Assert.IsFalse(editor.EnforceTvBeforeRadioBeforeData());
|
||||
for (int i = 0; i < list.Channels.Count; i++)
|
||||
Assert.AreEqual(expected[i], newOrder[i].RecordIndex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net48</TargetFramework>
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\ChanSort.Api\ChanSort.Api.csproj" />
|
||||
|
||||
Reference in New Issue
Block a user