1
0
Fork 0
mirror of https://github.com/lidarr/Lidarr synced 2024-12-25 01:02:05 +00:00

GetEpisodesByParseResult will return multiple episode names when multiple episodes are found.

This commit is contained in:
Mark McDowall 2011-12-01 22:26:24 -08:00
parent dba5a1a236
commit f3fbcec8cb
2 changed files with 75 additions and 2 deletions

View file

@ -127,7 +127,6 @@ public void Multi_GetSeason_Episode_Exists()
ep.Should().HaveCount(2);
Db.Fetch<Episode>().Should().HaveCount(2);
ep.First().ShouldHave().AllPropertiesBut(e => e.Series);
parseResult.EpisodeTitle.Should().Be(fakeEpisode.Title);
}
[Test]
@ -313,5 +312,77 @@ public void GetEpisodeParseResult_get_daily_should_not_add_new_episode_when_auto
episodes.Should().BeEmpty();
Db.Fetch<Episode>().Should().BeEmpty();
}
[Test]
public void GetEpisodeParseResult_should_return_multiple_titles_for_multiple_episodes()
{
WithRealDb();
var fakeEpisode = Builder<Episode>.CreateNew()
.With(e => e.SeriesId = 1)
.With(e => e.SeasonNumber = 2)
.With(e => e.EpisodeNumber = 10)
.With(e => e.Title = "Title1")
.Build();
var fakeEpisode2 = Builder<Episode>.CreateNew()
.With(e => e.SeriesId = 1)
.With(e => e.SeasonNumber = 2)
.With(e => e.EpisodeNumber = 11)
.With(e => e.Title = "Title2")
.Build();
var fakeSeries = Builder<Series>.CreateNew().Build();
Db.Insert(fakeEpisode);
Db.Insert(fakeEpisode2);
Db.Insert(fakeSeries);
var parseResult = new EpisodeParseResult
{
Series = fakeSeries,
SeasonNumber = 2,
EpisodeNumbers = new List<int> { 10, 11 }
};
var ep = Mocker.Resolve<EpisodeProvider>().GetEpisodesByParseResult(parseResult);
ep.Should().HaveCount(2);
Db.Fetch<Episode>().Should().HaveCount(2);
ep.First().ShouldHave().AllPropertiesBut(e => e.Series);
parseResult.EpisodeTitle.Should().Be(fakeEpisode.Title + " + " + fakeEpisode2.Title);
}
[Test]
public void GetEpisodeParseResult_should_return_single_title_for_single_episode()
{
WithRealDb();
var fakeEpisode = Builder<Episode>.CreateNew()
.With(e => e.SeriesId = 1)
.With(e => e.SeasonNumber = 2)
.With(e => e.EpisodeNumber = 10)
.With(e => e.Title = "Title1")
.Build();
var fakeSeries = Builder<Series>.CreateNew().Build();
Db.Insert(fakeEpisode);
Db.Insert(fakeSeries);
var parseResult = new EpisodeParseResult
{
Series = fakeSeries,
SeasonNumber = 2,
EpisodeNumbers = new List<int> { 10 }
};
var ep = Mocker.Resolve<EpisodeProvider>().GetEpisodesByParseResult(parseResult);
ep.Should().HaveCount(1);
Db.Fetch<Episode>().Should().HaveCount(1);
ep.First().ShouldHave().AllPropertiesBut(e => e.Series);
parseResult.EpisodeTitle.Should().Be(fakeEpisode.Title);
}
}
}

View file

@ -161,6 +161,7 @@ public virtual IList<Episode> GetEpisodesByParseResult(EpisodeParseResult parseR
if (episodeInfo != null)
{
result.Add(episodeInfo);
parseResult.EpisodeTitle = episodeInfo.Title;
}
return result;
@ -199,7 +200,8 @@ public virtual IList<Episode> GetEpisodesByParseResult(EpisodeParseResult parseR
if (episodeInfo != null)
{
result.Add(episodeInfo);
parseResult.EpisodeTitle = episodeInfo.Title;
parseResult.EpisodeTitle += String.Format(" + {0}", episodeInfo.Title);
parseResult.EpisodeTitle = parseResult.EpisodeTitle.Trim('+', ' ');
}
else
{