aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStepan <ste.martinek+git@gmail.com>2020-11-01 17:41:47 +0100
committerStepan <ste.martinek+git@gmail.com>2020-11-01 17:41:47 +0100
commit50a2ef9d8aaf92e8b69ced5ea2fcc8fa185fe675 (patch)
treed9f3ee1cb4a90e5ca9e515eb10360bc00ed1d78b
parentf39775dc3a813609454655c31dd5c6a1413cc890 (diff)
Simplify Resolve_InvalidExtension Test and created tests for Alternative Versions parsing & Year Extraction for audiobooks
-rw-r--r--tests/Jellyfin.Naming.Tests/AudioBook/AudioBookListResolverTests.cs58
-rw-r--r--tests/Jellyfin.Naming.Tests/AudioBook/AudioBookResolverTests.cs11
2 files changed, 61 insertions, 8 deletions
diff --git a/tests/Jellyfin.Naming.Tests/AudioBook/AudioBookListResolverTests.cs b/tests/Jellyfin.Naming.Tests/AudioBook/AudioBookListResolverTests.cs
index d912b0e90..c4b061b4e 100644
--- a/tests/Jellyfin.Naming.Tests/AudioBook/AudioBookListResolverTests.cs
+++ b/tests/Jellyfin.Naming.Tests/AudioBook/AudioBookListResolverTests.cs
@@ -44,6 +44,64 @@ namespace Jellyfin.Naming.Tests.AudioBook
}
[Fact]
+ public void TestAlternativeVersions()
+ {
+ var files = new[]
+ {
+ "Harry Potter and the Deathly Hallows/Chapter 1.ogg",
+ "Harry Potter and the Deathly Hallows/Chapter 1.mp3",
+
+ "Deadpool.ogg",
+ "Deadpool.mp3",
+
+ "Batman/Chapter 1.mp3"
+ };
+
+ var resolver = GetResolver();
+
+ var result = resolver.Resolve(files.Select(i => new FileSystemMetadata
+ {
+ IsDirectory = false,
+ FullName = i
+ })).ToList();
+
+ Assert.Equal(3, result[0].Files.Count);
+ Assert.NotEmpty(result[0].AlternateVersions);
+ Assert.NotEmpty(result[1].AlternateVersions);
+ Assert.Empty(result[2].AlternateVersions);
+ }
+
+ [Fact]
+ public void TestYearExtraction()
+ {
+ var files = new[]
+ {
+ "Harry Potter and the Deathly Hallows (2007)/Chapter 1.ogg",
+ "Harry Potter and the Deathly Hallows (2007)/Chapter 2.mp3",
+
+ "Batman (2020).ogg",
+
+ "Batman(2021).mp3",
+
+ "Batman.mp3"
+ };
+
+ var resolver = GetResolver();
+
+ var result = resolver.Resolve(files.Select(i => new FileSystemMetadata
+ {
+ IsDirectory = false,
+ FullName = i
+ })).ToList();
+
+ Assert.Equal(3, result[0].Files.Count);
+ Assert.Equal(2007, result[0].Year);
+ Assert.Equal(2020, result[1].Year);
+ Assert.Equal(2021, result[2].Year);
+ Assert.Null(result[2].Year);
+ }
+
+ [Fact]
public void TestWithMetadata()
{
var files = new[]
diff --git a/tests/Jellyfin.Naming.Tests/AudioBook/AudioBookResolverTests.cs b/tests/Jellyfin.Naming.Tests/AudioBook/AudioBookResolverTests.cs
index 282da2b93..5e9d12970 100644
--- a/tests/Jellyfin.Naming.Tests/AudioBook/AudioBookResolverTests.cs
+++ b/tests/Jellyfin.Naming.Tests/AudioBook/AudioBookResolverTests.cs
@@ -35,10 +35,6 @@ namespace Jellyfin.Naming.Tests.AudioBook
};
}
- public static IEnumerable<object[]> GetPathsWithInvalidExtensions()
- {
- yield return new object[] { @"/server/AudioBooks/Larry Potter/Larry Potter.mp9" };
- }
[Theory]
[MemberData(nameof(GetResolveFileTestData))]
@@ -53,11 +49,10 @@ namespace Jellyfin.Naming.Tests.AudioBook
Assert.Equal(result!.PartNumber, expectedResult.PartNumber);
}
- [Theory]
- [MemberData(nameof(GetPathsWithInvalidExtensions))]
- public void Resolve_InvalidExtension(string path)
+ [Fact]
+ public void Resolve_InvalidExtension()
{
- var result = new AudioBookResolver(_namingOptions).Resolve(path);
+ var result = new AudioBookResolver(_namingOptions).Resolve(@"/server/AudioBooks/Larry Potter/Larry Potter.mp9");
Assert.Null(result);
}