public Uri GetUriForDate(FeedDate date) { EnsureValidSettings(); if (date.Direction == DateDirection.Before) { return(new Uri(BaseUrl.Replace(PARAMETERSKEY, $"?automapper=false&before={date.Date.ToUTCWebTime()}"))); } else { return(new Uri(BaseUrl.Replace(PARAMETERSKEY, $"?automapper=false&after={date.Date.ToUTCWebTime()}"))); } }
public void GetUriForDate_Before() { string dateStr = "2021-08-02T20:36:22.804Z"; DateTime.Parse(dateStr); DateTime dateTime = DateTime.Parse(dateStr); FeedDate feedDate = new FeedDate(dateTime, DateDirection.Before); BeatSaverFeedSettings settings = new BeatSaverFeedSettings(BeatSaverFeedName.Latest); BeatSaverFeed feed = new BeatSaverFeed(settings); string expectedUrl = $"https://api.beatsaver.com/maps/latest?automapper=false&before={dateStr}"; string actualUrl = feed.GetUriForDate(feedDate).ToString(); Assert.AreEqual(expectedUrl, actualUrl); }
public override void calculateFeedDate() { var month = DateTime.Now.Month; if (FeedDate.Equals(DateFormatter.getCurrentDate())) { Hungry = true; return; } if (isWinter(month)) { int year = DateTime.Now.Year; if (month == 12) { year++; } FeedDate = year + "-03-01"; return; } if (Hungry) { FeedDate = DateFormatter.getCurrentDate(); return; } if (!isWinter(month) && !Hungry) { if (!isActivePeriod(month)) { FeedDate = DateFormatter.addDays(FeedDate, 2); } else { FeedDate = DateFormatter.addDays(FeedDate, 1); } } }