public async Task MapAniDbEpisodeAsync_NoEpisodeInTvDbData_ReturnsNone() { var groupMapping = new EpisodeGroupMapping(1, 2, 4, null, null, new List <EpisodeMapping>()); var result = await this.mapper.MapAniDbEpisodeAsync(1, groupMapping, 123).ToOption(); result.IsSome.Should().BeFalse(); }
public async Task MapAniDbEpisodeAsync_NoEpisodeMapping_MapsUsingOffset() { var groupMapping = new EpisodeGroupMapping(1, 2, 4, null, null, new List <EpisodeMapping>()); var result = await this.mapper.MapAniDbEpisodeAsync(44, groupMapping, 123).ToOption(); result.IsSome.Should().BeTrue(); result.ValueUnsafe().Should().Be(this.tvDbEpisodeA); }
public void CanMapTvDbEpisode_NoMatch_ReturnsFalse() { var episodeGroupMapping = new EpisodeGroupMapping(1, 1, 1, 4, 16, new[] { new EpisodeMapping(4, 12), new EpisodeMapping(6, 33) }); episodeGroupMapping.CanMapTvDbEpisode(18).Should().BeFalse(); }
public void CanMapAniDbEpisode_MatchesEpisodeMapping_ReturnsTrue() { var episodeGroupMapping = new EpisodeGroupMapping(1, 1, 1, null, null, new[] { new EpisodeMapping(4, 12), new EpisodeMapping(6, 33) }); episodeGroupMapping.CanMapAniDbEpisode(6).Should().BeTrue(); }
public void Create_InvalidEpisodeMappingString_EmptyEpisodeMappings(string episodeMappingString) { var data = new AnimeEpisodeGroupMappingData { EpisodeMappingString = episodeMappingString }; var episodeGroupMapping = EpisodeGroupMapping.FromData(data); episodeGroupMapping.ValueUnsafe().EpisodeMappings.Should().BeEmpty(); }
public void Create_NonNullData_SetsTvDbSeasonIndex() { var data = new AnimeEpisodeGroupMappingData { TvDbSeason = 443 }; var episodeGroupMapping = EpisodeGroupMapping.FromData(data); episodeGroupMapping.ValueUnsafe().TvDbSeasonIndex.Should().Be(443); }
public void Create_NonNullData_SetsTvDbEpisodeIndexOffset() { var data = new AnimeEpisodeGroupMappingData { Offset = 12 }; var episodeGroupMapping = EpisodeGroupMapping.FromData(data); episodeGroupMapping.ValueUnsafe().TvDbEpisodeIndexOffset.Should().Be(12); }
public async Task MapTvDbEpisodeAsync_HasEpisodeMapping_MapsUsingEpisodeMapping() { var groupMapping = new EpisodeGroupMapping(1, 2, 4, null, null, new List <EpisodeMapping> { new EpisodeMapping(23, 7) }); var result = await this.mapper.MapTvDbEpisodeAsync(7, groupMapping, 77).ToOption(); result.IsSome.Should().BeTrue(); result.ValueUnsafe().Should().Be(this.aniDbEpisodeB); }
public async Task MapAniDbEpisodeAsync_HasEpisodeMapping_MapsUsingEpisodeMapping() { var groupMapping = new EpisodeGroupMapping(1, 2, 4, null, null, new List <EpisodeMapping> { new EpisodeMapping(44, 7) }); var result = await _mapper.MapAniDbEpisodeAsync(44, groupMapping, 123).ToOption(); result.IsSome.Should().BeTrue(); result.ValueUnsafe().Should().Be(_tvDbEpisodeB); }
public void Create_OneEpisodeMappingString_CreatesOneEpisodeMapping() { var data = new AnimeEpisodeGroupMappingData { EpisodeMappingString = ";5-3;" }; var episodeGroupMapping = EpisodeGroupMapping.FromData(data); episodeGroupMapping.ValueUnsafe().EpisodeMappings.Should().HaveCount(1); var episodeMapping = episodeGroupMapping.ValueUnsafe().EpisodeMappings.Single(); episodeMapping.AniDbEpisodeIndex.Should().Be(5); episodeMapping.TvDbEpisodeIndex.Should().Be(3); }
public async Task MapTvDbEpisodeAsync_UsesGroupMappingEpisodeMapper() { this.seriesMapping = new SeriesMapping(new SeriesIds(324, 523, Option <int> .None, Option <int> .None), new AbsoluteTvDbSeason(), 2, new List <EpisodeGroupMapping>(), new List <SpecialEpisodePosition>()); var episodeGroupMapping = new EpisodeGroupMapping(1, 1, 3, 1, 1, new List <EpisodeMapping>()); var expected = new AniDbEpisodeData(); this.groupMappingEpisodeMapper.MapTvDbEpisodeAsync(3, episodeGroupMapping, 324).Returns(expected); var episodeMapper = new EpisodeMapper(this.defaultSeasonEpisodeMapper, this.groupMappingEpisodeMapper); var episodeData = await episodeMapper.MapTvDbEpisodeAsync(3, this.seriesMapping, episodeGroupMapping).ToOption(); episodeData.ValueUnsafe().Should().Be(expected); }
public async Task MapAniDbEpisodeAsync_GroupMappingWithTvDbSeriesId_UsesGroupMappingEpisodeMapper() { _seriesMapping = new SeriesMapping(new SeriesIds(123, 523, Option <int> .None, Option <int> .None), new AbsoluteTvDbSeason(), 2, new List <EpisodeGroupMapping>(), new List <SpecialEpisodePosition>()); var episodeGroupMapping = new EpisodeGroupMapping(1, 1, 3, 1, 1, new List <EpisodeMapping>()); var expected = TvDbTestData.Episode(3); _groupMappingEpisodeMapper.MapAniDbEpisodeAsync(3, episodeGroupMapping, 523).Returns(expected); var episodeMapper = new EpisodeMapper(_defaultSeasonEpisodeMapper, _groupMappingEpisodeMapper); var episodeData = await episodeMapper.MapAniDbEpisodeAsync(3, _seriesMapping, episodeGroupMapping).ToOption(); episodeData.ValueUnsafe().Should().Be(expected); }
public void Create_TwoEpisodeMappingStrings_CreatesTwoEpisodeMapping() { var data = new AnimeEpisodeGroupMappingData { EpisodeMappingString = ";5-3;22-55;" }; var episodeGroupMapping = EpisodeGroupMapping.FromData(data); episodeGroupMapping.ValueUnsafe().EpisodeMappings.Should().HaveCount(2); var episodeMapping = episodeGroupMapping.ValueUnsafe().EpisodeMappings.First(); episodeMapping.AniDbEpisodeIndex.Should().Be(5); episodeMapping.TvDbEpisodeIndex.Should().Be(3); episodeMapping = episodeGroupMapping.ValueUnsafe().EpisodeMappings.Last(); episodeMapping.AniDbEpisodeIndex.Should().Be(22); episodeMapping.TvDbEpisodeIndex.Should().Be(55); }
public void CanMapTvDbEpisode_BetweenStartAndEndPlusOffset_ReturnsTrue(int episodeIndex) { var episodeGroupMapping = new EpisodeGroupMapping(1, 1, 1, 4, 16, null); episodeGroupMapping.CanMapTvDbEpisode(episodeIndex).Should().BeTrue(); }
public void Create_NullData_ReturnsNone() { var episodeGroupMapping = EpisodeGroupMapping.FromData(null); episodeGroupMapping.IsSome.Should().BeFalse(); }