public void Modify_WithTestArgument_RemovesDuplicates(XDocument podcast, RemoveDuplicateEpisodesModification.DuplicateTimeFrames timeFrame, int expectedEpisodes)
        {
            var modification = new RemoveDuplicateEpisodesModification(timeFrame);

            modification.Modify(podcast);

            Assert.Equal(expectedEpisodes, podcast.Descendants("item").Count());
        }
 public PodcastTriple(string title, DateTime pubDate, XElement xElement, RemoveDuplicateEpisodesModification.DuplicateTimeFrames timeFrame)
 {
     this.Title             = title;
     this.PubDate           = pubDate;
     this.XElement          = xElement;
     this.PubWeek           = pubDate.Week(timeFrame);
     TotalPubDateString     = CreateDateString(pubDate);
     TimeFramePubDateString = CreateTimeFramePubDateStringFromDateString(TotalPubDateString, timeFrame);
 }
Example #3
0
        public override string DuplicateTimeFrameToDisplayString(RemoveDuplicateEpisodesModification.DuplicateTimeFrames timeFrame)
        {
            switch (timeFrame)
            {
            case DuplicateTimeFrames.Day:
                return("day");

            case DuplicateTimeFrames.Hour:
                return("hour");

            case DuplicateTimeFrames.Month:
                return("month");

            case DuplicateTimeFrames.Week:
                return("week");

            default:
                throw new ArgumentException($"DuplicateTimeFrames {timeFrame} is unknown.");
            }
        }