Procházet zdrojové kódy

Merge pull request #2804 from dtparr/extrasJunits

Add Unit Tests for the Extras Directories
Bond-009 před 5 roky
rodič
revize
df74c7722b
1 změnil soubory, kde provedl 45 přidání a 21 odebrání
  1. 45 21
      tests/Jellyfin.Naming.Tests/Video/ExtraTests.cs

+ 45 - 21
tests/Jellyfin.Naming.Tests/Video/ExtraTests.cs

@@ -7,6 +7,8 @@ namespace Jellyfin.Naming.Tests.Video
 {
 {
     public class ExtraTests : BaseVideoTest
     public class ExtraTests : BaseVideoTest
     {
     {
+        private readonly NamingOptions _videoOptions = new NamingOptions();
+
         // Requirements
         // Requirements
         // movie-deleted = ExtraType deletedscene
         // movie-deleted = ExtraType deletedscene
 
 
@@ -15,42 +17,64 @@ namespace Jellyfin.Naming.Tests.Video
         [Fact]
         [Fact]
         public void TestKodiExtras()
         public void TestKodiExtras()
         {
         {
-            var videoOptions = new NamingOptions();
-
-            Test("trailer.mp4", ExtraType.Trailer, videoOptions);
-            Test("300-trailer.mp4", ExtraType.Trailer, videoOptions);
+            Test("trailer.mp4", ExtraType.Trailer, _videoOptions);
+            Test("300-trailer.mp4", ExtraType.Trailer, _videoOptions);
 
 
-            Test("theme.mp3", ExtraType.ThemeSong, videoOptions);
+            Test("theme.mp3", ExtraType.ThemeSong, _videoOptions);
         }
         }
 
 
         [Fact]
         [Fact]
         public void TestExpandedExtras()
         public void TestExpandedExtras()
         {
         {
-            var videoOptions = new NamingOptions();
+            Test("trailer.mp4", ExtraType.Trailer, _videoOptions);
+            Test("trailer.mp3", null, _videoOptions);
+            Test("300-trailer.mp4", ExtraType.Trailer, _videoOptions);
 
 
-            Test("trailer.mp4", ExtraType.Trailer, videoOptions);
-            Test("trailer.mp3", null, videoOptions);
-            Test("300-trailer.mp4", ExtraType.Trailer, videoOptions);
+            Test("theme.mp3", ExtraType.ThemeSong, _videoOptions);
+            Test("theme.mkv", null, _videoOptions);
 
 
-            Test("theme.mp3", ExtraType.ThemeSong, videoOptions);
-            Test("theme.mkv", null, videoOptions);
+            Test("300-scene.mp4", ExtraType.Scene, _videoOptions);
+            Test("300-scene2.mp4", ExtraType.Scene, _videoOptions);
+            Test("300-clip.mp4", ExtraType.Clip, _videoOptions);
+
+            Test("300-deleted.mp4", ExtraType.DeletedScene, _videoOptions);
+            Test("300-deletedscene.mp4", ExtraType.DeletedScene, _videoOptions);
+            Test("300-interview.mp4", ExtraType.Interview, _videoOptions);
+            Test("300-behindthescenes.mp4", ExtraType.BehindTheScenes, _videoOptions);
+        }
 
 
-            Test("300-scene.mp4", ExtraType.Scene, videoOptions);
-            Test("300-scene2.mp4", ExtraType.Scene, videoOptions);
-            Test("300-clip.mp4", ExtraType.Clip, videoOptions);
+        [Theory]
+        [InlineData(ExtraType.BehindTheScenes, "behind the scenes" )]
+        [InlineData(ExtraType.DeletedScene, "deleted scenes" )]
+        [InlineData(ExtraType.Interview, "interviews" )]
+        [InlineData(ExtraType.Scene, "scenes" )]
+        [InlineData(ExtraType.Sample, "samples" )]
+        [InlineData(ExtraType.Clip, "shorts" )]
+        [InlineData(ExtraType.Clip, "featurettes" )]
+        [InlineData(ExtraType.Unknown, "extras" )]
+        public void TestDirectories(ExtraType type, string dirName)
+        {
+            Test(dirName + "/300.mp4", type, _videoOptions);
+            Test("300/" + dirName + "/something.mkv", type, _videoOptions);
+            Test("/data/something/Movies/300/" + dirName + "/whoknows.mp4", type, _videoOptions);
+        }
 
 
-            Test("300-deleted.mp4", ExtraType.DeletedScene, videoOptions);
-            Test("300-deletedscene.mp4", ExtraType.DeletedScene, videoOptions);
-            Test("300-interview.mp4", ExtraType.Interview, videoOptions);
-            Test("300-behindthescenes.mp4", ExtraType.BehindTheScenes, videoOptions);
+        [Theory]
+        [InlineData("gibberish")]
+        [InlineData("not a scene")]
+        [InlineData("The Big Short")]
+        public void TestNonExtraDirectories(string dirName)
+        {
+            Test(dirName + "/300.mp4", null, _videoOptions);
+            Test("300/" + dirName + "/something.mkv", null, _videoOptions);
+            Test("/data/something/Movies/300/" + dirName + "/whoknows.mp4", null, _videoOptions);
+            Test("/data/something/Movies/" + dirName + "/" + dirName + ".mp4", null, _videoOptions);
         }
         }
 
 
         [Fact]
         [Fact]
         public void TestSample()
         public void TestSample()
         {
         {
-            var videoOptions = new NamingOptions();
-
-            Test("300-sample.mp4", ExtraType.Sample, videoOptions);
+            Test("300-sample.mp4", ExtraType.Sample, _videoOptions);
         }
         }
 
 
         private void Test(string input, ExtraType? expectedType, NamingOptions videoOptions)
         private void Test(string input, ExtraType? expectedType, NamingOptions videoOptions)