diff --git a/NzbDrone.Core.Test/SortHelperTest.cs b/NzbDrone.Core.Test/SortHelperTest.cs new file mode 100644 index 000000000..fbbc675e3 --- /dev/null +++ b/NzbDrone.Core.Test/SortHelperTest.cs @@ -0,0 +1,41 @@ +// ReSharper disable RedundantUsingDirective +using System; +using System.Collections.Generic; +using AutoMoq; +using FizzWare.NBuilder; +using FluentAssertions; +using Moq; +using NUnit.Framework; +using NzbDrone.Core.Helpers; +using NzbDrone.Core.Model.Notification; +using NzbDrone.Core.Providers; +using NzbDrone.Core.Providers.Jobs; +using NzbDrone.Core.Repository; +using NzbDrone.Core.Test.Framework; + +namespace NzbDrone.Core.Test +{ + [TestFixture] + // ReSharper disable InconsistentNaming + public class SortHelperTest : TestBase + { + //American Gladiators + //Ancient Apocalypse + //There Will Be Brawl + + [TestCase("The Office (US)", "Office (US)")] + [TestCase("A Man in Anger", "Man in Anger")] + [TestCase("An Idiot Abroad", "Idiot Abroad")] + [TestCase("American Gladiators", "American Gladiators")] + [TestCase("Ancient Apocalyps", "Ancient Apocalyps")] + [TestCase("There Will Be Brawl", "There Will Be Brawl")] + [TestCase("30 Rock", "30 Rock")] + [TestCase(null, "")] + public void SkipArticles(string title, string expected) + { + var result = SortHelper.SkipArticles(title); + result.Should().Be(expected); + } + } + +} \ No newline at end of file diff --git a/NzbDrone.Core/Helpers/SortHelper.cs b/NzbDrone.Core/Helpers/SortHelper.cs index 0b71cef62..853e570ce 100644 --- a/NzbDrone.Core/Helpers/SortHelper.cs +++ b/NzbDrone.Core/Helpers/SortHelper.cs @@ -9,6 +9,9 @@ namespace NzbDrone.Core.Helpers { public static string SkipArticles(string input) { + if (String.IsNullOrEmpty(input)) + return String.Empty; + var articles = new List { "The ", "An ", "A " }; foreach (string article in articles)