using Emby.Naming.Audio; using Emby.Naming.Common; using Xunit; namespace Jellyfin.Naming.Tests.Music { public class MultiDiscAlbumTests { private readonly NamingOptions _namingOptions = new NamingOptions(); [Theory] [InlineData("", false)] [InlineData("C:/", false)] [InlineData("/home/", false)] [InlineData("blah blah", false)] [InlineData("D:/music/weezer/03 Pinkerton", false)] [InlineData("D:/music/michael jackson/Bad (2012 Remaster)", false)] [InlineData("cd1", true)] [InlineData("disc18", true)] [InlineData("disk10", true)] [InlineData("vol7", true)] [InlineData("volume1", true)] [InlineData("cd 1", true)] [InlineData("disc 1", true)] [InlineData("disk 1", true)] [InlineData("disk", false)] [InlineData("disk ·", false)] [InlineData("disk a", false)] [InlineData("disk volume", false)] [InlineData("disc disc", false)] [InlineData("disk disc 6", false)] [InlineData("cd - 1", true)] [InlineData("disc- 1", true)] [InlineData("disk - 1", true)] [InlineData("Disc 01 (Hugo Wolf · 24 Lieder)", true)] [InlineData("Disc 04 (Encores and Folk Songs)", true)] [InlineData("Disc04 (Encores and Folk Songs)", true)] [InlineData("Disc 04(Encores and Folk Songs)", true)] [InlineData("Disc04(Encores and Folk Songs)", true)] [InlineData("D:/Video/MBTestLibrary/VideoTest/music/.38 special/anth/Disc 2", true)] [InlineData("[1985] Opportunities (Let's make lots of money) (1985)", false)] [InlineData("Blah 04(Encores and Folk Songs)", false)] public void AlbumParser_MultidiscPath_Identifies(string path, bool result) { var parser = new AlbumParser(_namingOptions); Assert.Equal(result, parser.IsMultiPart(path)); } } }