public static Option <EpisodeGroupMapping> FromData(AnimeEpisodeGroupMappingData data)
 {
     return(IsValidData(data)
         ? new EpisodeGroupMapping(data.AnidbSeason, data.TvDbSeason, data.Offset, data.Start, data.End,
                                   ParseEpisodeMappingString(data.EpisodeMappingString))
         : Option <EpisodeGroupMapping> .None);
 }
Exemple #2
0
        public void Create_InvalidEpisodeMappingString_EmptyEpisodeMappings(string episodeMappingString)
        {
            var data = new AnimeEpisodeGroupMappingData
            {
                EpisodeMappingString = episodeMappingString
            };

            var episodeGroupMapping = EpisodeGroupMapping.FromData(data);

            episodeGroupMapping.ValueUnsafe().EpisodeMappings.Should().BeEmpty();
        }
Exemple #3
0
        public void Create_NonNullData_SetsTvDbSeasonIndex()
        {
            var data = new AnimeEpisodeGroupMappingData
            {
                TvDbSeason = 443
            };

            var episodeGroupMapping = EpisodeGroupMapping.FromData(data);

            episodeGroupMapping.ValueUnsafe().TvDbSeasonIndex.Should().Be(443);
        }
Exemple #4
0
        public void Create_NonNullData_SetsTvDbEpisodeIndexOffset()
        {
            var data = new AnimeEpisodeGroupMappingData
            {
                Offset = 12
            };

            var episodeGroupMapping = EpisodeGroupMapping.FromData(data);

            episodeGroupMapping.ValueUnsafe().TvDbEpisodeIndexOffset.Should().Be(12);
        }
Exemple #5
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);
        }
Exemple #6
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);
        }
 private static bool IsValidData(AnimeEpisodeGroupMappingData data)
 {
     return(data != null);
 }