mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-14 10:47:08 -07:00
parent
6f9d7d83d4
commit
4b5d20cefe
22 changed files with 210 additions and 121 deletions
|
@ -10,8 +10,8 @@ using NzbDrone.Common;
|
|||
using NzbDrone.Core.Providers;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using NzbDrone.Test.Common;
|
||||
using XemLib.Data;
|
||||
using XemLib.Exceptions;
|
||||
using TvdbLib.Data;
|
||||
using TvdbLib.Exceptions;
|
||||
|
||||
namespace NzbDrone.Core.Test.ProviderTests
|
||||
{
|
||||
|
@ -30,7 +30,7 @@ namespace NzbDrone.Core.Test.ProviderTests
|
|||
[TearDown]
|
||||
public void TearDown()
|
||||
{
|
||||
ExceptionVerification.MarkInconclusive(typeof(TheTvbdbUnavailableException));
|
||||
ExceptionVerification.MarkInconclusive(typeof(TvdbNotAvailableException));
|
||||
}
|
||||
|
||||
[TestCase("The Simpsons")]
|
||||
|
@ -68,5 +68,58 @@ namespace NzbDrone.Core.Test.ProviderTests
|
|||
.Max(e => e.Count()).Should().Be(1);
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void American_dad_fix()
|
||||
{
|
||||
//act
|
||||
var result = tvDbProvider.GetSeries(73141, true);
|
||||
|
||||
var seasonsNumbers = result.Episodes.Select(e => e.SeasonNumber)
|
||||
.Distinct().ToList();
|
||||
|
||||
var seasons = new Dictionary<int, List<TvdbEpisode>>(seasonsNumbers.Count);
|
||||
|
||||
foreach (var season in seasonsNumbers)
|
||||
{
|
||||
seasons.Add(season, result.Episodes.Where(e => e.SeasonNumber == season).ToList());
|
||||
}
|
||||
|
||||
foreach (var episode in result.Episodes)
|
||||
{
|
||||
Console.WriteLine(episode);
|
||||
}
|
||||
|
||||
//assert
|
||||
seasonsNumbers.Should().HaveCount(9);
|
||||
seasons[1].Should().HaveCount(23);
|
||||
seasons[2].Should().HaveCount(19);
|
||||
seasons[3].Should().HaveCount(16);
|
||||
seasons[4].Should().HaveCount(20);
|
||||
seasons[5].Should().HaveCount(18);
|
||||
seasons[6].Should().HaveCount(19);
|
||||
seasons[7].Should().HaveCount(18);
|
||||
|
||||
foreach (var season in seasons)
|
||||
{
|
||||
season.Value.Should().OnlyHaveUniqueItems("Season {0}", season.Key);
|
||||
}
|
||||
|
||||
//Make sure no episode number is skipped
|
||||
foreach (var season in seasons)
|
||||
{
|
||||
for (int i = 1; i < season.Value.Count; i++)
|
||||
{
|
||||
//Skip specials, because someone decided 1,3,4,6,7,21 is how you count...
|
||||
if (season.Key == 0)
|
||||
continue;
|
||||
|
||||
season.Value.Should().Contain(c => c.EpisodeNumber == i, "Can't find Episode S{0:00}E{1:00}",
|
||||
season.Value[0].SeasonNumber, i);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue