diff --git a/.gitignore b/.gitignore index fa36d309e..89cf69ce6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,54 +1,123 @@ +# Build Folders (you can keep bin if you'd like, to store dlls and pdbs) +[Bb]in/ +[Oo]bj/ -#ignore thumbnails created by windows -Thumbs.db -#Ignore files build by Visual Studio -*.obj +# mstest test results +TestResults + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo *.user -*.aps -*.pch -*.vspscc +*.sln.docstates + +# Build results +[Dd]ebug/ +[Rr]elease/ +x64/ *_i.c *_p.c -*.ncb -*.suo -*.tlb -*.tlh -*.bak -*.cache *.ilk -*.log -[Bb]in -[Dd]ebug*/ -[Rrelease]*/ -*.lib +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp *.sbr -*.nzb -obj/ -[Rr]elease*/ -_ReSharper*/ -[Tt]est[Rr]esult[s] -[Nn]zbs -[Bb]uild/ -[Ll]ogs/ -[Aa]pp_Data/ -/[Pp]ackage/ -[Pp]ackages -#NZBDrone specific -*.db -*Web.Publish.xml -NzbDrone.Web/NzbDrone.Web.Publish.xml +*.tlb +*.tli +*.tlh +*.tmp +*.log +*.vspscc +*.vssscc +.builds + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf *.sdf -[Bb]anners -*.orig -_rawPackage/ -NzbDrone.zip -NzbDrone.sln.DotSettings.user* -config.xml -UpdateLogs/ -NzbDrone.Web/MediaCover -NzbDrone.fpr -nzbdrone.log*txt -_rawPackage_service/ + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper* + +# Mindbench SASS cache +.sass-cache/ + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish + +# Publish Web Output +*.Publish.xml + +# NuGet Packages Directory +packages + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql +TestResults +[Tt]est[Rr]esult* +*.Cache +ClientBin +[Ss]tyle[Cc]op.* +~$* +*.dbmdl +Generated_Code #added for RIA/Silverlight projects + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + +# Tools _NCrunch_* _TeamCity* -NCrunch_* \ No newline at end of file + +# NzbDrone +config.xml +nzbdrone.log*txt +NzbDrone.Web/MediaCover +UpdateLogs/ \ No newline at end of file diff --git a/NzbDrone.Core.Test/ProviderTests/SearchProviderTests/GetSeriesTitleFixture.cs b/NzbDrone.Core.Test/ProviderTests/SearchProviderTests/GetSeriesTitleFixture.cs new file mode 100644 index 000000000..2fad2dfa1 --- /dev/null +++ b/NzbDrone.Core.Test/ProviderTests/SearchProviderTests/GetSeriesTitleFixture.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using FizzWare.NBuilder; +using FluentAssertions; +using NUnit.Framework; +using NzbDrone.Core.Providers; +using NzbDrone.Core.Repository; +using NzbDrone.Test.Common; + +namespace NzbDrone.Core.Test.ProviderTests.SearchProviderTests +{ + public class GetSeriesTitleFixture : TestBase + { + private Series _series; + private const string SCENE_NAME = "Scandal"; + + [SetUp] + public void Setup() + { + _series = Builder + .CreateNew() + .With(s => s.Title = "Scandal (2012)") + .Build(); + } + + private void WithSceneName() + { + Mocker.GetMock() + .Setup(s => s.GetSceneName(_series.SeriesId)) + .Returns("Scandal"); + } + + [Test] + public void should_return_scene_name_when_sceneName_is_available() + { + WithSceneName(); + + Mocker.Resolve().GetSeriesTitle(_series).Should().Be(SCENE_NAME); + } + + [Test] + public void should_return_seriesTitle_when_sceneName_is_not_available() + { + Mocker.Resolve().GetSeriesTitle(_series).Should().Be(_series.Title); + } + + [TestCase("Mike & Molly", "Mike and Molly")] + [TestCase("Franklin & Bash", "Franklin and Bash")] + [TestCase("Law & Order", "Law and Order")] + public void should_replace_ampersand_with_and_when_returning_title(string seriesTitle, string expectedTitle) + { + _series.Title = seriesTitle; + + Mocker.Resolve().GetSeriesTitle(_series).Should().Be(expectedTitle); + } + } +}