From bdc04cda174da26631e6f9ec90f7dccf9efda941 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 31 Aug 2014 14:28:20 -0400 Subject: fix subtitle unit tests --- .../MediaEncoding/Subtitles/AssParserTests.cs | 59 +++++++++++++++++++++ .../MediaEncoding/Subtitles/SrtParserTests.cs | 22 ++++---- .../MediaEncoding/Subtitles/SsaParserTests.cs | 60 ---------------------- .../MediaEncoding/Subtitles/TestSubtitles/data.ass | 23 +++++++++ .../MediaEncoding/Subtitles/TestSubtitles/data.ssa | 23 --------- 5 files changed, 95 insertions(+), 92 deletions(-) create mode 100644 MediaBrowser.Tests/MediaEncoding/Subtitles/AssParserTests.cs delete mode 100644 MediaBrowser.Tests/MediaEncoding/Subtitles/SsaParserTests.cs create mode 100644 MediaBrowser.Tests/MediaEncoding/Subtitles/TestSubtitles/data.ass delete mode 100644 MediaBrowser.Tests/MediaEncoding/Subtitles/TestSubtitles/data.ssa (limited to 'MediaBrowser.Tests/MediaEncoding') diff --git a/MediaBrowser.Tests/MediaEncoding/Subtitles/AssParserTests.cs b/MediaBrowser.Tests/MediaEncoding/Subtitles/AssParserTests.cs new file mode 100644 index 000000000..17687bc3a --- /dev/null +++ b/MediaBrowser.Tests/MediaEncoding/Subtitles/AssParserTests.cs @@ -0,0 +1,59 @@ +using MediaBrowser.MediaEncoding.Subtitles; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System.Collections.Generic; +using System.IO; +using System.Threading; + +namespace MediaBrowser.Tests.MediaEncoding.Subtitles { + + [TestClass] + public class AssParserTests { + + [TestMethod] + public void TestParse() { + + var expectedSubs = + new SubtitleTrackInfo { + TrackEvents = new List { + new SubtitleTrackEvent { + Id = "1", + StartPositionTicks = 24000000, + EndPositionTicks = 72000000, + Text = + "Senator, we're "+ParserValues.NewLine+"making our final "+ParserValues.NewLine+"approach into Coruscant." + }, + new SubtitleTrackEvent { + Id = "2", + StartPositionTicks = 97100000, + EndPositionTicks = 133900000, + Text = + "Very good, Lieutenant." + }, + new SubtitleTrackEvent { + Id = "3", + StartPositionTicks = 150400000, + EndPositionTicks = 180400000, + Text = "It's "+ParserValues.NewLine+"a "+ParserValues.NewLine+"trap!" + } + } + }; + + var sut = new AssParser(); + + var stream = File.OpenRead(@"MediaEncoding\Subtitles\TestSubtitles\data.ass"); + + var result = sut.Parse(stream, CancellationToken.None); + + Assert.IsNotNull(result); + Assert.AreEqual(expectedSubs.TrackEvents.Count,result.TrackEvents.Count); + for (int i = 0; i < expectedSubs.TrackEvents.Count; i++) + { + Assert.AreEqual(expectedSubs.TrackEvents[i].Id, result.TrackEvents[i].Id); + Assert.AreEqual(expectedSubs.TrackEvents[i].StartPositionTicks, result.TrackEvents[i].StartPositionTicks); + Assert.AreEqual(expectedSubs.TrackEvents[i].EndPositionTicks, result.TrackEvents[i].EndPositionTicks); + Assert.AreEqual(expectedSubs.TrackEvents[i].Text, result.TrackEvents[i].Text); + } + + } + } +} \ No newline at end of file diff --git a/MediaBrowser.Tests/MediaEncoding/Subtitles/SrtParserTests.cs b/MediaBrowser.Tests/MediaEncoding/Subtitles/SrtParserTests.cs index 2c2c944b1..6724ca597 100644 --- a/MediaBrowser.Tests/MediaEncoding/Subtitles/SrtParserTests.cs +++ b/MediaBrowser.Tests/MediaEncoding/Subtitles/SrtParserTests.cs @@ -5,17 +5,21 @@ using System.Threading; using MediaBrowser.MediaEncoding.Subtitles; using Microsoft.VisualStudio.TestTools.UnitTesting; -namespace MediaBrowser.Tests.MediaEncoding.Subtitles { +namespace MediaBrowser.Tests.MediaEncoding.Subtitles +{ [TestClass] - public class SrtParserTests { + public class SrtParserTests + { [TestMethod] - public void TestParse() { + public void TestParse() + { var expectedSubs = - new SubtitleTrackInfo { - TrackEvents = new List { + new SubtitleTrackInfo + { + TrackEvents = new List { new SubtitleTrackEvent { Id = "1", StartPositionTicks = 24000000, @@ -28,7 +32,7 @@ namespace MediaBrowser.Tests.MediaEncoding.Subtitles { StartPositionTicks = 157120000, EndPositionTicks = 173990000, Text = - "Oh my god, Watch out!
It's coming!!" + "Oh my god, Watch out!"+ParserValues.NewLine+"It's coming!!" }, new SubtitleTrackEvent { Id = "3", @@ -48,7 +52,7 @@ namespace MediaBrowser.Tests.MediaEncoding.Subtitles { StartPositionTicks = 320000000, EndPositionTicks = 329990000, Text = - "This is a
new line, as is
this" + "This is a"+ParserValues.NewLine+"new line, as is"+ParserValues.NewLine+"this" }, new SubtitleTrackEvent { Id = "6", @@ -86,7 +90,7 @@ namespace MediaBrowser.Tests.MediaEncoding.Subtitles { "Greater than (<) and less than (>) are shown" } } - }; + }; var sut = new SrtParser(); @@ -95,7 +99,7 @@ namespace MediaBrowser.Tests.MediaEncoding.Subtitles { var result = sut.Parse(stream, CancellationToken.None); Assert.IsNotNull(result); - Assert.AreEqual(expectedSubs.TrackEvents.Count,result.TrackEvents.Count); + Assert.AreEqual(expectedSubs.TrackEvents.Count, result.TrackEvents.Count); for (int i = 0; i < expectedSubs.TrackEvents.Count; i++) { Assert.AreEqual(expectedSubs.TrackEvents[i].Id, result.TrackEvents[i].Id); diff --git a/MediaBrowser.Tests/MediaEncoding/Subtitles/SsaParserTests.cs b/MediaBrowser.Tests/MediaEncoding/Subtitles/SsaParserTests.cs deleted file mode 100644 index d869146fd..000000000 --- a/MediaBrowser.Tests/MediaEncoding/Subtitles/SsaParserTests.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Threading; -using MediaBrowser.MediaEncoding.Subtitles; -using Microsoft.VisualStudio.TestTools.UnitTesting; - -namespace MediaBrowser.Tests.MediaEncoding.Subtitles { - - [TestClass] - public class SsaParserTests { - - [TestMethod] - public void TestParse() { - - var expectedSubs = - new SubtitleTrackInfo { - TrackEvents = new List { - new SubtitleTrackEvent { - Id = "1", - StartPositionTicks = 24000000, - EndPositionTicks = 72000000, - Text = - "Senator, we're
making our final
approach into Coruscant." - }, - new SubtitleTrackEvent { - Id = "2", - StartPositionTicks = 97100000, - EndPositionTicks = 133900000, - Text = - "Very good, Lieutenant." - }, - new SubtitleTrackEvent { - Id = "3", - StartPositionTicks = 150400000, - EndPositionTicks = 180400000, - Text = "It's
a
trap!" - } - } - }; - - var sut = new AssParser(); - - var stream = File.OpenRead(@"MediaEncoding\Subtitles\TestSubtitles\data.ssa"); - - var result = sut.Parse(stream, CancellationToken.None); - - Assert.IsNotNull(result); - Assert.AreEqual(expectedSubs.TrackEvents.Count,result.TrackEvents.Count); - for (int i = 0; i < expectedSubs.TrackEvents.Count; i++) - { - Assert.AreEqual(expectedSubs.TrackEvents[i].Id, result.TrackEvents[i].Id); - Assert.AreEqual(expectedSubs.TrackEvents[i].StartPositionTicks, result.TrackEvents[i].StartPositionTicks); - Assert.AreEqual(expectedSubs.TrackEvents[i].EndPositionTicks, result.TrackEvents[i].EndPositionTicks); - Assert.AreEqual(expectedSubs.TrackEvents[i].Text, result.TrackEvents[i].Text); - } - - } - } -} \ No newline at end of file diff --git a/MediaBrowser.Tests/MediaEncoding/Subtitles/TestSubtitles/data.ass b/MediaBrowser.Tests/MediaEncoding/Subtitles/TestSubtitles/data.ass new file mode 100644 index 000000000..3114a844a --- /dev/null +++ b/MediaBrowser.Tests/MediaEncoding/Subtitles/TestSubtitles/data.ass @@ -0,0 +1,23 @@ +[Script Info] +Title: Testing subtitles for the SSA Format + +[V4 Styles] +Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding +Style: Default,Arial,20,65535,65535,65535,-2147483640,-1,0,1,3,0,2,30,30,30,0,0 +Style: Titre_episode,Akbar,140,15724527,65535,65535,986895,-1,0,1,1,0,3,30,30,30,0,0 +Style: Wolf main,Wolf_Rain,56,15724527,15724527,15724527,4144959,0,0,1,1,2,2,5,5,30,0,0 + + + +[Events] +Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text +Dialogue: 0,0:00:02.40,0:00:07.20,Default,,0000,0000,0000,,Senator, {\kf89}we're \Nmaking our final \napproach into Coruscant. +Dialogue: 0,0:00:09.71,0:00:13.39,Default,,0000,0000,0000,,{\pos(400,570)}Very good, Lieutenant. +Dialogue: 0,0:00:15.04,0:00:18.04,Default,,0000,0000,0000,,It's \Na \ntrap! + + +[Pictures] +This section will be ignored + +[Fonts] +This section will be ignored \ No newline at end of file diff --git a/MediaBrowser.Tests/MediaEncoding/Subtitles/TestSubtitles/data.ssa b/MediaBrowser.Tests/MediaEncoding/Subtitles/TestSubtitles/data.ssa deleted file mode 100644 index 3114a844a..000000000 --- a/MediaBrowser.Tests/MediaEncoding/Subtitles/TestSubtitles/data.ssa +++ /dev/null @@ -1,23 +0,0 @@ -[Script Info] -Title: Testing subtitles for the SSA Format - -[V4 Styles] -Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding -Style: Default,Arial,20,65535,65535,65535,-2147483640,-1,0,1,3,0,2,30,30,30,0,0 -Style: Titre_episode,Akbar,140,15724527,65535,65535,986895,-1,0,1,1,0,3,30,30,30,0,0 -Style: Wolf main,Wolf_Rain,56,15724527,15724527,15724527,4144959,0,0,1,1,2,2,5,5,30,0,0 - - - -[Events] -Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text -Dialogue: 0,0:00:02.40,0:00:07.20,Default,,0000,0000,0000,,Senator, {\kf89}we're \Nmaking our final \napproach into Coruscant. -Dialogue: 0,0:00:09.71,0:00:13.39,Default,,0000,0000,0000,,{\pos(400,570)}Very good, Lieutenant. -Dialogue: 0,0:00:15.04,0:00:18.04,Default,,0000,0000,0000,,It's \Na \ntrap! - - -[Pictures] -This section will be ignored - -[Fonts] -This section will be ignored \ No newline at end of file -- cgit v1.2.3