Exemple #1
0
        public void BuildDtbTest()
        {
            var builder = new DtbBuilder(MergeEntry.LoadMergeEntriesFromNcc(Dtb1NccUri));

            builder.BuildDtb();
            ValidateBuiltDtb(builder);
        }
Exemple #2
0
        public void SaveDtbTest()
        {
            var builder = new DtbBuilder(MergeEntry.LoadMergeEntriesFromNcc(Dtb1NccUri));

            builder.BuildDtb();
            builder.SaveDtb("./MergedDTB");
            ValidateSavedDtb(builder, "./MergedDTB");
        }
Exemple #3
0
        public void LoadMergeEntriesFromNccTest()
        {
            var entries = MergeEntry.LoadMergeEntriesFromNcc(dtb1NccUri)?.ToList();

            Assert.IsNotNull(entries);
            Assert.AreEqual(4, entries.Count());
            Assert.IsTrue(entries.All(e => e.NccElements.First().Name.LocalName == "h1"), "One loaded entry did not have h1 as first ncc element");
            Assert.AreEqual(0, entries.Last().ChildNodes.Count, "Expected last entry to have no children");
            Assert.AreEqual(8, entries.SelectMany(e => new[] { e }.Union(e.Descendents)).Count(), "Expected a total of 7 entries");
        }
Exemple #4
0
        public static void InitializeClass(TestContext context)
        {
            var totelElapsedTime = TimeSpan.Zero;
            var entries          = MergeEntry.LoadMergeEntriesFromNcc(Dtb1NccUri).ToList();

            foreach (var smil in entries.SelectMany(e => e.DescententsAndSelf).Select(e => e.Smil))
            {
                DtbAudioGenerator.NarrateTextsForSmilFile(smil, ref totelElapsedTime, smil.BaseUri.EndsWith("sm0001.smil"));
                smil.Save(new Uri(smil.BaseUri).LocalPath);
            }
            var nccHead = entries.First().Ncc.Root?.Element(Utils.XhtmlNs + "head");

            if (nccHead != null)
            {
                var ttMeta = nccHead
                             .Elements(Utils.XhtmlNs + "meta")
                             .FirstOrDefault(m => m.Attribute("name")?.Value == "nccHead:totalTime");
                if (ttMeta == null)
                {
                    ttMeta = new XElement(Utils.XhtmlNs + "meta", new XAttribute("name", "nccHead:totalTime"));
                    nccHead.Add(ttMeta);
                }
            }
        }