public void GetLastFMRecentlyPlayedWithAfterParam_CorrectResponseReturned() { var after = DateTime.UtcNow.AddDays(-1); sut = MakeSut(); var listeningHistory = sut.GetLastFMRecentlyPlayed("SomeUser", after); IF.Lastfm.Core.Api.Helpers.PageResponse <IF.Lastfm.Core.Objects.LastTrack> actualHistory = (IF.Lastfm.Core.Api.Helpers.PageResponse <IF.Lastfm.Core.Objects.LastTrack>)listeningHistory.Value; actualHistory.Should().NotBeNull(); actualHistory.Should().BeOfType <IF.Lastfm.Core.Api.Helpers.PageResponse <IF.Lastfm.Core.Objects.LastTrack> >(); actualHistory.Content.Should().HaveCount(1); }
public JsonResult GetLastFMRecentlyPlayed(string user_name, DateTimeOffset?after = null, double duration = 0) { List <IF.Lastfm.Core.Objects.LastTrack> validListeningHistory = new List <IF.Lastfm.Core.Objects.LastTrack>(); IF.Lastfm.Core.Api.Helpers.PageResponse <IF.Lastfm.Core.Objects.LastTrack> returnedHistory = (IF.Lastfm.Core.Api.Helpers.PageResponse <IF.Lastfm.Core.Objects.LastTrack>) this.dataSource.GetLastFMRecentlyPlayed(user_name, after).Result.Value; if (duration != 0) { double actualDuration = (double)duration; var actualAfter = (DateTimeOffset)after; var end = actualAfter.AddSeconds(actualDuration); foreach (var item in returnedHistory.Content) { if (item.TimePlayed >= actualAfter && item.TimePlayed < end) { validListeningHistory.Add(item); } } return(new JsonResult(new IF.Lastfm.Core.Api.Helpers.PageResponse <IF.Lastfm.Core.Objects.LastTrack>(validListeningHistory))); } else { return(new JsonResult(returnedHistory)); } }