private async Task <Option <TvDbEpisodeData> > MapEpisodeWithDefaultSeasonAsync(int aniDbEpisodeIndex, int tvDbSeriesId, int defaultTvDbEpisodeIndexOffset, int defaultTvDbSeasonIndex) { var tvDbEpisodeIndex = aniDbEpisodeIndex + defaultTvDbEpisodeIndexOffset; var tvDbEpisodeData = await _tvDbClient.GetEpisodeAsync(tvDbSeriesId, defaultTvDbSeasonIndex, tvDbEpisodeIndex); return(tvDbEpisodeData.Match(d => { _log.Debug( $"Found mapped TvDb episode: {tvDbEpisodeData}"); return d; }, () => Option <TvDbEpisodeData> .None)); }
public async Task MapEpisodeAsync_AbsoluteDefaultTvDbSeason_MapsOnAbsoluteEpisodeIndex() { _seriesMapping.Ids.Returns(new SeriesIds(12, 33, Option <int> .None, Option <int> .None)); _seriesMapping.DefaultTvDbSeason.Returns(new AbsoluteTvDbSeason()); var tvDbEpisodeData = TvDbTestData.Episode(3); _tvDbClient.GetEpisodeAsync(33, 10).Returns(tvDbEpisodeData); var defaultSeasonEpisodeMapper = new DefaultSeasonEpisodeMapper(_tvDbClient, _logManager); var result = await defaultSeasonEpisodeMapper.MapEpisodeAsync(10, _seriesMapping); await _tvDbClient.Received(1).GetEpisodeAsync(33, 10); result.ValueUnsafe().Should().Be(tvDbEpisodeData); }