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);
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 5
0
        public void Create_InvalidEpisodeMappingString_EmptyEpisodeMappings(string episodeMappingString)
        {
            var data = new AnimeEpisodeGroupMappingData
            {
                EpisodeMappingString = episodeMappingString
            };

            var episodeGroupMapping = EpisodeGroupMapping.FromData(data);

            episodeGroupMapping.ValueUnsafe().EpisodeMappings.Should().BeEmpty();
        }
Exemplo n.º 6
0
        public void Create_NonNullData_SetsTvDbSeasonIndex()
        {
            var data = new AnimeEpisodeGroupMappingData
            {
                TvDbSeason = 443
            };

            var episodeGroupMapping = EpisodeGroupMapping.FromData(data);

            episodeGroupMapping.ValueUnsafe().TvDbSeasonIndex.Should().Be(443);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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);
        }
Exemplo n.º 14
0
        public void CanMapTvDbEpisode_BetweenStartAndEndPlusOffset_ReturnsTrue(int episodeIndex)
        {
            var episodeGroupMapping = new EpisodeGroupMapping(1, 1, 1, 4, 16, null);

            episodeGroupMapping.CanMapTvDbEpisode(episodeIndex).Should().BeTrue();
        }
Exemplo n.º 15
0
        public void Create_NullData_ReturnsNone()
        {
            var episodeGroupMapping = EpisodeGroupMapping.FromData(null);

            episodeGroupMapping.IsSome.Should().BeFalse();
        }