コード例 #1
0
        private void ChannelsAddedToCorrectLists(string fileName, SignalSource signalSource, int expectedTv, int expectedRadio, int dataProgramSid, string dataProgramName)
        {
            var testFile = TestUtils.DeploymentItem("Test.Loader.GlobalClone\\TestFiles\\" + fileName);
            var plugin   = new GcSerializerPlugin();
            var ser      = plugin.CreateSerializer(testFile);

            ser.Load();

            var root = ser.DataRoot;

            var tv = root.GetChannelList(signalSource | SignalSource.Tv);

            Assert.IsNotNull(tv);
            Assert.AreEqual(expectedTv, tv.Channels.Count);

            var radio = root.GetChannelList(signalSource | SignalSource.Radio);

            Assert.IsNotNull(radio);
            Assert.AreEqual(expectedRadio, radio.Channels.Count);

            // check that data channel is in the TV list
            var chan = tv.Channels.FirstOrDefault(ch => ch.ServiceId == dataProgramSid);

            Assert.IsNotNull(chan);
            Assert.AreEqual(dataProgramName, chan.Name);
        }
コード例 #2
0
        public void TestGlobalClone200JsonFormat()
        {
            var tempFile = TestUtils.DeploymentItem("Test.Loader.GlobalClone\\TestFiles\\GlobalClone00201.TLL");
            var orig     = File.ReadAllText(tempFile, Encoding.UTF8);

            var plugin = new GcSerializerPlugin();
            var ser    = plugin.CreateSerializer(tempFile);

            ser.Load();
            var data = ser.DataRoot;

            data.ValidateAfterLoad();
            data.ApplyCurrentProgramNumbers();
            var dvbs = data.GetChannelList(SignalSource.DvbS);

            // swap SRF 1 HD and SRF zwei HD
            var srf1 = dvbs.Channels.FirstOrDefault(ch => ch.Name == "SRF 1 HD");
            var srf2 = dvbs.Channels.FirstOrDefault(ch => ch.Name == "SRF zwei HD");

            Assert.AreEqual(1971, srf1.NewProgramNr);
            Assert.AreEqual(1972, srf2.NewProgramNr);
            srf1.NewProgramNr = 1972;
            srf2.NewProgramNr = 1971;

            // save and reload
            ser.Save(tempFile);
            ser = plugin.CreateSerializer(tempFile);
            ser.Load();
            data = ser.DataRoot;
            data.ValidateAfterLoad();
            data.ApplyCurrentProgramNumbers();

            dvbs = data.GetChannelList(SignalSource.DvbS);
            srf1 = dvbs.Channels.FirstOrDefault(ch => ch.Name == "SRF 1 HD");
            srf2 = dvbs.Channels.FirstOrDefault(ch => ch.Name == "SRF zwei HD");
            Assert.AreEqual(1972, srf1.OldProgramNr);
            Assert.AreEqual(1971, srf2.OldProgramNr);

            // restore original program numbers and save
            srf1.NewProgramNr = 1971;
            srf2.NewProgramNr = 1972;
            ser.Save(tempFile);

            // undo expected changes to the file
            var changed = File.ReadAllText(tempFile, Encoding.UTF8);

            changed = changed.Replace("\"userEditChNumber\":true", "\"userEditChNumber\":false");
            changed = changed.Replace("\"userSelCHNo\":true", "\"userSelCHNo\":false");
            NUnit.Framework.Assert.AreEqual(orig, changed); // need NUnit.AreEqual to only show the actual difference and not 5MB + 5MB of data
        }
コード例 #3
0
        public void TestDeletingChannel()
        {
            var tempFile = TestUtils.DeploymentItem("Test.Loader.GlobalClone\\TestFiles\\GlobalClone00001.TLL");
            var plugin   = new GcSerializerPlugin();
            var ser      = plugin.CreateSerializer(tempFile);

            ser.Load();
            var data = ser.DataRoot;

            data.ValidateAfterLoad();
            data.ApplyCurrentProgramNumbers();

            // Pr# 122 = ORF2W HD

            var dvbs  = data.GetChannelList(SignalSource.DvbS);
            var orf2w = dvbs.Channels.FirstOrDefault(ch => ch.Name == "ORF2W HD");

            Assert.AreEqual(122, orf2w.OldProgramNr);
            Assert.AreEqual(122, orf2w.NewProgramNr);
            Assert.IsFalse(orf2w.IsDeleted);

            orf2w.NewProgramNr = -1;
            data.AssignNumbersToUnsortedAndDeletedChannels(UnsortedChannelMode.Delete);

            Assert.IsTrue(orf2w.IsDeleted);
            Assert.AreNotEqual(-1, orf2w.NewProgramNr);
            Assert.AreEqual(0, dvbs.Channels.Count(ch => ch.NewProgramNr <= 0));


            // save and reload
            ser.Save(tempFile);
            ser = plugin.CreateSerializer(tempFile);
            ser.Load();
            data = ser.DataRoot;
            data.ValidateAfterLoad();
            data.ApplyCurrentProgramNumbers();


            dvbs  = data.GetChannelList(SignalSource.DvbS);
            orf2w = dvbs.Channels.FirstOrDefault(ch => ch.Name == "ORF2W HD");
            Assert.IsTrue(orf2w.IsDeleted);
            Assert.AreEqual(-1, orf2w.OldProgramNr);
        }