123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- using System.Linq;
- using Emby.Naming.AudioBook;
- using Emby.Naming.Common;
- using MediaBrowser.Model.IO;
- using Xunit;
- namespace Jellyfin.Naming.Tests.AudioBook
- {
- public class AudioBookListResolverTests
- {
- private readonly NamingOptions _namingOptions = new NamingOptions();
- [Fact]
- public void TestStackAndExtras()
- {
- // No stacking here because there is no part/disc/etc
- var files = new[]
- {
- "Harry Potter and the Deathly Hallows/Part 1.mp3",
- "Harry Potter and the Deathly Hallows/Part 2.mp3",
- "Harry Potter and the Deathly Hallows/book.nfo",
- "Batman/Chapter 1.mp3",
- "Batman/Chapter 2.mp3",
- "Batman/Chapter 3.mp3",
- };
- var resolver = GetResolver();
- var result = resolver.Resolve(files.Select(i => new FileSystemMetadata
- {
- IsDirectory = false,
- FullName = i
- })).ToList();
- Assert.Equal(2, result[0].Files.Count);
- // Assert.Empty(result[0].Extras); FIXME: AudioBookListResolver should resolve extra files properly
- Assert.Equal("Harry Potter and the Deathly Hallows", result[0].Name);
- Assert.Equal(3, result[1].Files.Count);
- Assert.Empty(result[1].Extras);
- Assert.Equal("Batman", result[1].Name);
- }
- [Fact]
- public void TestWithMetadata()
- {
- var files = new[]
- {
- "Harry Potter and the Deathly Hallows/Chapter 1.ogg",
- "Harry Potter and the Deathly Hallows/Harry Potter and the Deathly Hallows.nfo"
- };
- var resolver = GetResolver();
- var result = resolver.Resolve(files.Select(i => new FileSystemMetadata
- {
- IsDirectory = false,
- FullName = i
- }));
- Assert.Single(result);
- }
- [Fact]
- public void TestWithExtra()
- {
- var files = new[]
- {
- "Harry Potter and the Deathly Hallows/Chapter 1.mp3",
- "Harry Potter and the Deathly Hallows/Harry Potter and the Deathly Hallows trailer.mp3"
- };
- var resolver = GetResolver();
- var result = resolver.Resolve(files.Select(i => new FileSystemMetadata
- {
- IsDirectory = false,
- FullName = i
- })).ToList();
- Assert.Single(result);
- }
- private AudioBookListResolver GetResolver()
- {
- return new AudioBookListResolver(_namingOptions);
- }
- }
- }
|