using System.Collections.Generic; using System.Linq; using FizzWare.NBuilder; using FluentAssertions; using NUnit.Framework; using NzbDrone.Core.CustomFormats; using NzbDrone.Core.MediaFiles; using NzbDrone.Core.Movies; using NzbDrone.Core.Organizer; using NzbDrone.Core.Qualities; using NzbDrone.Core.Test.Framework; namespace NzbDrone.Core.Test.OrganizerTests.FileNameBuilderTests { [TestFixture] public class TitleTheFixture : CoreTest { private Movie _movie; private MovieFile _movieFile; private NamingConfig _namingConfig; [SetUp] public void Setup() { _movie = Builder .CreateNew() .With(e => e.Title = "Batman") .Build(); _movieFile = new MovieFile { Quality = new QualityModel(Quality.HDTV720p), ReleaseGroup = "RadarrTest" }; _namingConfig = NamingConfig.Default; _namingConfig.RenameMovies = true; Mocker.GetMock() .Setup(c => c.GetConfig()).Returns(_namingConfig); Mocker.GetMock() .Setup(v => v.Get(Moq.It.IsAny())) .Returns(v => Quality.DefaultQualityDefinitions.First(c => c.Quality == v)); Mocker.GetMock() .Setup(v => v.All()) .Returns(new List()); } [TestCase("The Mist", "Mist, The")] [TestCase("A Place to Call Home", "Place to Call Home, A")] [TestCase("An Adventure in Space and Time", "Adventure in Space and Time, An")] [TestCase("The Flash (2010)", "Flash, The (2010)")] [TestCase("A League Of Their Own (AU)", "League Of Their Own, A (AU)")] [TestCase("The Fixer (ZH) (2015)", "Fixer, The (ZH) (2015)")] [TestCase("The Sixth Sense 2 (Thai)", "Sixth Sense 2, The (Thai)")] [TestCase("The Amazing Race (Latin America)", "Amazing Race, The (Latin America)")] [TestCase("The Rat Pack (A&E)", "Rat Pack, The (A&E)")] [TestCase("The Climax: I (Almost) Got Away With It (2016)", "Climax I (Almost) Got Away With It, The (2016)")] public void should_get_expected_title_back(string title, string expected) { _movie.Title = title; _namingConfig.StandardMovieFormat = "{Movie TitleThe}"; Subject.BuildFileName(_movie, _movieFile) .Should().Be(expected); } [TestCase("A")] [TestCase("Anne")] [TestCase("Theodore")] [TestCase("3%")] public void should_not_change_title(string title) { _movie.Title = title; _namingConfig.StandardMovieFormat = "{Movie TitleThe}"; Subject.BuildFileName(_movie, _movieFile) .Should().Be(title); } } }