Exemplo n.º 1
0
 public virtual void TestShouldExtractChapterTOCAndChapterFramesFromMp3()
 {
     byte[] buffer = TestHelper.LoadFile("Resources/v23tagwithchapters.mp3");
     ID3v2 id3tag = ID3v2TagFactory.CreateTag(buffer);
     IList<ID3v2ChapterFrameData> chapters = id3tag.GetChapters();
     Assert.AreEqual(3, chapters.Count);
     ID3v2ChapterFrameData chapter1 = chapters[0];
     Assert.AreEqual("ch1", chapter1.GetId());
     Assert.AreEqual(0, chapter1.GetStartTime());
     Assert.AreEqual(5000, chapter1.GetEndTime());
     Assert.AreEqual(-1, chapter1.GetStartOffset());
     Assert.AreEqual(-1, chapter1.GetEndOffset());
     IList<ID3v2Frame> subFrames1 = chapter1.GetSubframes();
     Assert.AreEqual(1, subFrames1.Count);
     ID3v2Frame subFrame1 = subFrames1[0];
     Assert.AreEqual("TIT2", subFrame1.GetId());
     ID3v2TextFrameData frameData1 = new ID3v2TextFrameData(false, subFrame1.GetData());
     Assert.AreEqual("start", frameData1.GetText().ToString());
     ID3v2ChapterFrameData chapter2 = chapters[1];
     Assert.AreEqual("ch2", chapter2.GetId());
     Assert.AreEqual(5000, chapter2.GetStartTime());
     Assert.AreEqual(10000, chapter2.GetEndTime());
     Assert.AreEqual(-1, chapter2.GetStartOffset());
     Assert.AreEqual(-1, chapter2.GetEndOffset());
     IList<ID3v2Frame> subFrames2 = chapter2.GetSubframes();
     Assert.AreEqual(1, subFrames2.Count);
     ID3v2Frame subFrame2 = subFrames2[0];
     Assert.AreEqual("TIT2", subFrame2.GetId());
     ID3v2TextFrameData frameData2 = new ID3v2TextFrameData(false, subFrame2.GetData());
     Assert.AreEqual("5 seconds", frameData2.GetText().ToString());
     ID3v2ChapterFrameData chapter3 = chapters[2];
     Assert.AreEqual("ch3", chapter3.GetId());
     Assert.AreEqual(10000, chapter3.GetStartTime());
     Assert.AreEqual(15000, chapter3.GetEndTime());
     Assert.AreEqual(-1, chapter3.GetStartOffset());
     Assert.AreEqual(-1, chapter3.GetEndOffset());
     IList<ID3v2Frame> subFrames3 = chapter3.GetSubframes();
     Assert.AreEqual(1, subFrames3.Count);
     ID3v2Frame subFrame3 = subFrames3[0];
     Assert.AreEqual("TIT2", subFrame3.GetId());
     ID3v2TextFrameData frameData3 = new ID3v2TextFrameData(false, subFrame3.GetData());
     Assert.AreEqual("10 seconds", frameData3.GetText().ToString());
 }