/// <summary> /// Search for tags similar to this one. Returns tags ordered by similarity, based on listening data. /// </summary> public Task <PageResponse <LastTag> > GetSimilarAsync(string tagName) { var command = new GetSimilarCommand(Auth, tagName) { HttpClient = HttpClient }; return(command.ExecuteAsync()); }
/// <summary> /// Search for tags similar to this one. Returns tags ordered by similarity, based on listening data. /// </summary> public Task<PageResponse<LastTag>> GetSimilarAsync(string tagName) { var command = new GetSimilarCommand(Auth, tagName) { HttpClient = HttpClient }; return command.ExecuteAsync(); }
public async Task<PageResponse<LastArtist>> GetSimilarAsync(string artistname, bool autocorrect = false, int limit = LastFm.DefaultPageLength) { var command = new GetSimilarCommand(Auth, artistname) { Autocorrect = autocorrect, Limit = limit, HttpClient = HttpClient }; return await command.ExecuteAsync(); }
public async Task <PageResponse <LastTrack> > GetSimilarAsync(string trackname, string artistname, bool autocorrect = false, int limit = 100) { var command = new GetSimilarCommand(Auth, trackname, artistname) { Autocorrect = autocorrect, Limit = limit, HttpClient = HttpClient }; return(await command.ExecuteAsync()); }
public async Task HandleErrorResponse() { var command = new GetSimilarCommand(MAuth.Object, "arroooo"); var response = CreateResponseMessage(Encoding.UTF8.GetString(TagApiResponses.GetSimilarError)); var parsed = await command.HandleResponse(response); Assert.IsFalse(parsed.Success); Assert.IsTrue(parsed.Status == LastResponseStatus.MissingParameters); }
public async Task<PageResponse<LastTrack>> GetSimilarAsync(string trackname, string artistname, bool autocorrect = false, int limit = 100) { var command = new GetSimilarCommand(Auth, trackname, artistname) { Autocorrect = autocorrect, Limit = limit, HttpClient = HttpClient }; return await command.ExecuteAsync(); }
public async Task <PageResponse <LastArtist> > GetSimilarByMbidAsync(string mbid, bool autocorrect = false, int limit = LastFm.DefaultPageLength) { var command = new GetSimilarCommand(Auth) { ArtistMbid = mbid, Autocorrect = autocorrect, Limit = limit, HttpClient = HttpClient }; return(await command.ExecuteAsync()); }
public async Task HandleSuccessResponse() { const string tagName = "daria"; var command = new GetSimilarCommand(MAuth.Object, tagName); var expectedTagNames = new[] { "road trip", "longing", "old school rap", "pj harvey", "girl band", "alt rock", "female rock", "90s", "post-grunge", "acid jazz" }; var expectedTags = expectedTagNames.Select(tag => new LastTag { Name = tag, Url = new Uri(String.Format("http://www.last.fm/tag/{0}", Uri.EscapeUriString(tag))), RelatedTo = tagName, Streamable = true }).ToList(); expectedTags[0].Streamable = false; expectedTags[1].Streamable = null; var file = GetFileContents("Tag.GetSimilarSuccess.json"); var response = CreateResponseMessage(file); //var response = CreateResponseMessage(Encoding.UTF8.GetString(TagApiResponses.GetSimilarSuccess)); var actual = await command.HandleResponse(response); Assert.IsTrue(actual.Skip(2).All(t => t.Streamable.GetValueOrDefault())); Assert.IsTrue(actual.All(t => t.RelatedTo == tagName)); Assert.IsTrue(actual.Success); TestHelper.AssertSerialiseEqual(expectedTags, actual.ToList()); }
public async Task HandleSuccessResponse() { const string tagName = "daria"; var command = new GetSimilarCommand(MAuth.Object, tagName); var expectedTagNames = new[] { "road trip", "longing", "old school rap", "pj harvey", "girl band", "alt rock", "female rock", "90s", "post-grunge", "acid jazz" }; var expectedTags = expectedTagNames.Select(tag => new LastTag { Name = tag, Url = new Uri(String.Format("http://www.last.fm/tag/{0}", Uri.EscapeUriString(tag))), RelatedTo = tagName, Streamable = true }).ToList(); expectedTags[0].Streamable = false; expectedTags[1].Streamable = null; var response = CreateResponseMessage(Encoding.UTF8.GetString(TagApiResponses.GetSimilarSuccess)); var actual = await command.HandleResponse(response); Assert.IsTrue(actual.Skip(2).All(t => t.Streamable.GetValueOrDefault())); Assert.IsTrue(actual.All(t => t.RelatedTo == tagName)); Assert.IsTrue(actual.Success); TestHelper.AssertSerialiseEqual(expectedTags, actual.ToList()); }