using System; using System.Collections.Generic; using FluentAssertions; using NUnit.Framework; using NzbDrone.Core.Model; using NzbDrone.Core.Repository.Quality; using NzbDrone.Core.Test.Framework; namespace NzbDrone.Core.Test { [TestFixture] // ReSharper disable InconsistentNaming public class EpisodeParseResultTest : SqlCeTest { [Test] public void tostring_single_season_episode() { var parseResult = new EpisodeParseResult(); parseResult.SeriesTitle = "My Series"; parseResult.SeasonNumber = 12; parseResult.EpisodeNumbers = new List { 3 }; parseResult.FullSeason = false; parseResult.AirDate = null; parseResult.Quality = new QualityModel(QualityTypes.HDTV720p, false); parseResult.ToString().Should().Be("My Series - S12E03 HDTV-720p"); } [Test] public void tostring_single_season_episode_proper() { var parseResult = new EpisodeParseResult(); parseResult.SeriesTitle = "My Series"; parseResult.SeasonNumber = 12; parseResult.EpisodeNumbers = new List { 3 }; parseResult.FullSeason = false; parseResult.AirDate = null; parseResult.Quality = new QualityModel(QualityTypes.HDTV720p, true); parseResult.ToString().Should().Be("My Series - S12E03 HDTV-720p [proper]"); } [Test] public void tostring_multi_season_episode() { var parseResult = new EpisodeParseResult(); parseResult.SeriesTitle = "My Series"; parseResult.SeasonNumber = 12; parseResult.EpisodeNumbers = new List { 3, 4, 5 }; parseResult.FullSeason = false; parseResult.AirDate = null; parseResult.Quality = new QualityModel(QualityTypes.HDTV720p, false); parseResult.ToString().Should().Be("My Series - S12E03-04-05 HDTV-720p"); } [Test] public void tostring_multi_season_episode_proper() { var parseResult = new EpisodeParseResult(); parseResult.SeriesTitle = "My Series"; parseResult.SeasonNumber = 12; parseResult.EpisodeNumbers = new List { 3, 4, 5 }; parseResult.FullSeason = false; parseResult.AirDate = null; parseResult.Quality = new QualityModel(QualityTypes.HDTV720p, true); parseResult.ToString().Should().Be("My Series - S12E03-04-05 HDTV-720p [proper]"); } [Test] public void tostring_full_season() { var parseResult = new EpisodeParseResult(); parseResult.SeriesTitle = "My Series"; parseResult.SeasonNumber = 12; parseResult.FullSeason = true; parseResult.AirDate = null; parseResult.Quality = new QualityModel(QualityTypes.HDTV720p, false); parseResult.ToString().Should().Be("My Series - Season 12 HDTV-720p"); } [Test] public void tostring_full_season_proper() { var parseResult = new EpisodeParseResult(); parseResult.SeriesTitle = "My Series"; parseResult.SeasonNumber = 12; parseResult.FullSeason = true; parseResult.AirDate = null; parseResult.Quality = new QualityModel(QualityTypes.HDTV720p, true); parseResult.ToString().Should().Be("My Series - Season 12 HDTV-720p [proper]"); } [Test] public void tostring_daily_show() { var parseResult = new EpisodeParseResult(); parseResult.SeriesTitle = "My Series"; parseResult.SeasonNumber = 12; parseResult.FullSeason = true; parseResult.AirDate = new DateTime(2010, 12, 30); parseResult.Quality = new QualityModel(QualityTypes.HDTV720p, false); parseResult.ToString().Should().Be("My Series - 2010-12-30 HDTV-720p"); } [Test] public void tostring_daily_show_proper() { var parseResult = new EpisodeParseResult(); parseResult.SeriesTitle = "My Series"; parseResult.SeasonNumber = 12; parseResult.FullSeason = true; parseResult.AirDate = new DateTime(2010, 12, 30); parseResult.Quality = new QualityModel(QualityTypes.HDTV720p, true); parseResult.ToString().Should().Be("My Series - 2010-12-30 HDTV-720p [proper]"); } } }