Explorar o código

Fix AudioBookListResolver test coverage

Bond_009 %!s(int64=4) %!d(string=hai) anos
pai
achega
74f4affcda

+ 4 - 13
Emby.Naming/AudioBook/AudioBookResolver.cs

@@ -1,3 +1,4 @@
+#nullable enable
 #pragma warning disable CS1591
 
 using System;
@@ -16,21 +17,11 @@ namespace Emby.Naming.AudioBook
             _options = options;
         }
 
-        public AudioBookFileInfo ParseFile(string path)
+        public AudioBookFileInfo? Resolve(string path, bool isDirectory = false)
         {
-            return Resolve(path, false);
-        }
-
-        public AudioBookFileInfo ParseDirectory(string path)
-        {
-            return Resolve(path, true);
-        }
-
-        public AudioBookFileInfo Resolve(string path, bool isDirectory = false)
-        {
-            if (string.IsNullOrEmpty(path))
+            if (path.Length == 0)
             {
-                throw new ArgumentNullException(nameof(path));
+                throw new ArgumentException("String can't be empty.", nameof(path));
             }
 
             // TODO

+ 14 - 7
tests/Jellyfin.Naming.Tests/AudioBook/AudioBookResolverTests.cs

@@ -1,4 +1,5 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
 using Emby.Naming.AudioBook;
 using Emby.Naming.Common;
 using Xunit;
@@ -42,16 +43,22 @@ namespace Jellyfin.Naming.Tests.AudioBook
 
         [Theory]
         [MemberData(nameof(GetResolveFileTestData))]
-        public void ResolveFile_ValidFileName_Success(AudioBookFileInfo expectedResult)
+        public void Resolve_ValidFileName_Success(AudioBookFileInfo expectedResult)
         {
             var result = new AudioBookResolver(_namingOptions).Resolve(expectedResult.Path);
 
             Assert.NotNull(result);
-            Assert.Equal(result.Path, expectedResult.Path);
-            Assert.Equal(result.Container, expectedResult.Container);
-            Assert.Equal(result.ChapterNumber, expectedResult.ChapterNumber);
-            Assert.Equal(result.PartNumber, expectedResult.PartNumber);
-            Assert.Equal(result.IsDirectory, expectedResult.IsDirectory);
+            Assert.Equal(result!.Path, expectedResult.Path);
+            Assert.Equal(result!.Container, expectedResult.Container);
+            Assert.Equal(result!.ChapterNumber, expectedResult.ChapterNumber);
+            Assert.Equal(result!.PartNumber, expectedResult.PartNumber);
+            Assert.Equal(result!.IsDirectory, expectedResult.IsDirectory);
+        }
+
+        [Fact]
+        public void Resolve_EmptyFileName_ArgumentException()
+        {
+            Assert.Throws<ArgumentException>(() => new AudioBookResolver(_namingOptions).Resolve(string.Empty));
         }
     }
 }