|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using FluentAssertions;
|
|
|
|
|
using NUnit.Framework;
|
|
|
|
|
using NzbDrone.Core.Tv;
|
|
|
|
|
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 : CoreTest
|
|
|
|
|
{
|
|
|
|
|
[Test]
|
|
|
|
|
public void tostring_single_season_episode()
|
|
|
|
|
{
|
|
|
|
|
var parseResult = new EpisodeParseResult();
|
|
|
|
|
parseResult.SeriesTitle = "My Series";
|
|
|
|
|
parseResult.SeasonNumber = 12;
|
|
|
|
|
parseResult.EpisodeNumbers = new List<int> { 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<int> { 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<int> { 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<int> { 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]");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|