aboutsummaryrefslogtreecommitdiff
path: root/tests/Jellyfin.Naming.Tests/Music/MultiDiscAlbumTests.cs
blob: 6ef12e00b8b54e95eee41eab863628a185cf6bf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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));
        }
    }
}