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); }
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 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 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); }