mirror of
https://github.com/Sarsoo/IF.Lastfm.git
synced 2024-10-17 07:13:09 +01:00
parent
608d7b1c38
commit
d1bca34f6c
@ -31,10 +31,10 @@ public async Task HandleSuccessResponse()
|
|||||||
Assert.IsTrue(parsed.Success);
|
Assert.IsTrue(parsed.Success);
|
||||||
Assert.IsNotNull(parsed.Content);
|
Assert.IsNotNull(parsed.Content);
|
||||||
|
|
||||||
var expectedShouts = new List<Shout>
|
var expectedShouts = new List<LastShout>
|
||||||
{
|
{
|
||||||
new Shout("uhIgor", "Nunca vou cansar disso.", "Thu, 23 Oct 2014 02:20:30"),
|
new LastShout("uhIgor", "Nunca vou cansar disso.", "Thu, 23 Oct 2014 02:20:30"),
|
||||||
new Shout("Zachary-K",
|
new LastShout("Zachary-K",
|
||||||
"Oblivion is the best song on whole album. Maybe i dig it but i don't want to really. Or i'm not in the right mood for it.",
|
"Oblivion is the best song on whole album. Maybe i dig it but i don't want to really. Or i'm not in the right mood for it.",
|
||||||
"Wed, 17 Sep 2014 21:04:36")
|
"Wed, 17 Sep 2014 21:04:36")
|
||||||
};
|
};
|
||||||
|
@ -2,16 +2,12 @@
|
|||||||
using IF.Lastfm.Core.Api.Enums;
|
using IF.Lastfm.Core.Api.Enums;
|
||||||
using IF.Lastfm.Core.Tests.Resources;
|
using IF.Lastfm.Core.Tests.Resources;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace IF.Lastfm.Core.Tests.Api.Commands.AlbumApi
|
namespace IF.Lastfm.Core.Tests.Api.Commands.AlbumApi
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
[TestClass]
|
[TestClass]
|
||||||
public class GetAlbumTopTagsCommandTest : CommandTestsBase
|
public class GetAlbumTopTagsCommandTest : CommandTestsBase
|
||||||
{
|
{
|
||||||
@ -34,7 +30,6 @@ public void Constructor()
|
|||||||
Assert.AreEqual(_command.Method, "album.gettoptags");
|
Assert.AreEqual(_command.Method, "album.gettoptags");
|
||||||
Assert.AreEqual(_command.Parameters["album"], "Believe");
|
Assert.AreEqual(_command.Parameters["album"], "Believe");
|
||||||
Assert.AreEqual(_command.Parameters["artist"], "Cher");
|
Assert.AreEqual(_command.Parameters["artist"], "Cher");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
@ -46,10 +41,8 @@ public async Task HandleSuccessResponse()
|
|||||||
|
|
||||||
Assert.IsTrue(parsed.Success);
|
Assert.IsTrue(parsed.Success);
|
||||||
Assert.IsNotNull(parsed.Content);
|
Assert.IsNotNull(parsed.Content);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public async Task HandleEmptyResponse()
|
public async Task HandleEmptyResponse()
|
||||||
{
|
{
|
||||||
@ -75,6 +68,4 @@ public async Task HandleErrorResponse()
|
|||||||
Assert.IsTrue(!parsed.Content.Any());
|
Assert.IsTrue(!parsed.Content.Any());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ public async Task<PageResponse<LastAlbum>> SearchForAlbumAsync(string albumname,
|
|||||||
return await command.ExecuteAsync();
|
return await command.ExecuteAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<PageResponse<Shout>> GetShoutsAsync(string albumname, string artistname, bool autocorrect = false, int page = 1, int count = LastFm.DefaultPageLength)
|
public async Task<PageResponse<LastShout>> GetShoutsAsync(string albumname, string artistname, bool autocorrect = false, int page = 1, int count = LastFm.DefaultPageLength)
|
||||||
{
|
{
|
||||||
var command = new GetAlbumShoutsCommand(Auth, albumname, artistname)
|
var command = new GetAlbumShoutsCommand(Auth, albumname, artistname)
|
||||||
{
|
{
|
||||||
|
@ -94,7 +94,7 @@ public async Task<PageResponse<LastTag>> GetTopTagsForArtistAsync(string artist,
|
|||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<PageResponse<Shout>> GetShoutsForArtistAsync(string artist, int page = 0, int count = LastFm.DefaultPageLength, bool autocorrect = false)
|
public async Task<PageResponse<LastShout>> GetShoutsForArtistAsync(string artist, int page = 0, int count = LastFm.DefaultPageLength, bool autocorrect = false)
|
||||||
{
|
{
|
||||||
var command = new GetArtistShoutsCommand(Auth, artist)
|
var command = new GetArtistShoutsCommand(Auth, artist)
|
||||||
{
|
{
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
namespace IF.Lastfm.Core.Api.Commands.AlbumApi
|
namespace IF.Lastfm.Core.Api.Commands.AlbumApi
|
||||||
{
|
{
|
||||||
internal class GetAlbumShoutsCommand : GetAsyncCommandBase<PageResponse<Shout>>
|
internal class GetAlbumShoutsCommand : GetAsyncCommandBase<PageResponse<LastShout>>
|
||||||
{
|
{
|
||||||
public string AlbumName { get; set; }
|
public string AlbumName { get; set; }
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ public override void SetParameters()
|
|||||||
DisableCaching();
|
DisableCaching();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async override Task<PageResponse<Shout>> HandleResponse(HttpResponseMessage response)
|
public async override Task<PageResponse<LastShout>> HandleResponse(HttpResponseMessage response)
|
||||||
{
|
{
|
||||||
var json = await response.Content.ReadAsStringAsync();
|
var json = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
@ -47,11 +47,11 @@ public async override Task<PageResponse<Shout>> HandleResponse(HttpResponseMessa
|
|||||||
var itemsToken = jtoken.SelectToken("shout");
|
var itemsToken = jtoken.SelectToken("shout");
|
||||||
var pageInfoToken = jtoken.SelectToken("@attr");
|
var pageInfoToken = jtoken.SelectToken("@attr");
|
||||||
|
|
||||||
return PageResponse<Shout>.CreateSuccessResponse(itemsToken, pageInfoToken, Shout.ParseJToken);
|
return PageResponse<LastShout>.CreateSuccessResponse(itemsToken, pageInfoToken, LastShout.ParseJToken);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return LastResponse.CreateErrorResponse<PageResponse<Shout>>(error);
|
return LastResponse.CreateErrorResponse<PageResponse<LastShout>>(error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
namespace IF.Lastfm.Core.Api.Commands.ArtistApi
|
namespace IF.Lastfm.Core.Api.Commands.ArtistApi
|
||||||
{
|
{
|
||||||
internal class GetArtistShoutsCommand : GetAsyncCommandBase<PageResponse<Shout>>
|
internal class GetArtistShoutsCommand : GetAsyncCommandBase<PageResponse<LastShout>>
|
||||||
{
|
{
|
||||||
public string ArtistName { get; set; }
|
public string ArtistName { get; set; }
|
||||||
public bool Autocorrect { get; set; }
|
public bool Autocorrect { get; set; }
|
||||||
@ -30,7 +30,7 @@ public override void SetParameters()
|
|||||||
DisableCaching();
|
DisableCaching();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task<PageResponse<Shout>> HandleResponse(HttpResponseMessage response)
|
public override async Task<PageResponse<LastShout>> HandleResponse(HttpResponseMessage response)
|
||||||
{
|
{
|
||||||
var json = await response.Content.ReadAsStringAsync();
|
var json = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
@ -42,11 +42,11 @@ public override async Task<PageResponse<Shout>> HandleResponse(HttpResponseMessa
|
|||||||
var itemsToken = shoutsToken.SelectToken("shout");
|
var itemsToken = shoutsToken.SelectToken("shout");
|
||||||
var pageInfoToken = shoutsToken.SelectToken("@attr");
|
var pageInfoToken = shoutsToken.SelectToken("@attr");
|
||||||
|
|
||||||
return PageResponse<Shout>.CreateSuccessResponse(itemsToken, pageInfoToken, Shout.ParseJToken);
|
return PageResponse<LastShout>.CreateSuccessResponse(itemsToken, pageInfoToken, LastShout.ParseJToken);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return LastResponse.CreateErrorResponse<PageResponse<Shout>>(error);
|
return LastResponse.CreateErrorResponse<PageResponse<LastShout>>(error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
namespace IF.Lastfm.Core.Api.Commands.TrackApi
|
namespace IF.Lastfm.Core.Api.Commands.TrackApi
|
||||||
{
|
{
|
||||||
internal class GetTrackShoutsCommand : GetAsyncCommandBase<PageResponse<Shout>>
|
internal class GetTrackShoutsCommand : GetAsyncCommandBase<PageResponse<LastShout>>
|
||||||
{
|
{
|
||||||
public string TrackName { get; set; }
|
public string TrackName { get; set; }
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ public override void SetParameters()
|
|||||||
DisableCaching();
|
DisableCaching();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async override Task<PageResponse<Shout>> HandleResponse(HttpResponseMessage response)
|
public async override Task<PageResponse<LastShout>> HandleResponse(HttpResponseMessage response)
|
||||||
{
|
{
|
||||||
var json = await response.Content.ReadAsStringAsync();
|
var json = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
@ -47,11 +47,11 @@ public async override Task<PageResponse<Shout>> HandleResponse(HttpResponseMessa
|
|||||||
var itemsToken = jtoken.SelectToken("shout");
|
var itemsToken = jtoken.SelectToken("shout");
|
||||||
var pageInfoToken = jtoken.SelectToken("@attr");
|
var pageInfoToken = jtoken.SelectToken("@attr");
|
||||||
|
|
||||||
return PageResponse<Shout>.CreateSuccessResponse(itemsToken, pageInfoToken, Shout.ParseJToken);
|
return PageResponse<LastShout>.CreateSuccessResponse(itemsToken, pageInfoToken, LastShout.ParseJToken);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return LastResponse.CreateErrorResponse<PageResponse<Shout>>(error);
|
return LastResponse.CreateErrorResponse<PageResponse<LastShout>>(error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
namespace IF.Lastfm.Core.Api.Commands.UserApi
|
namespace IF.Lastfm.Core.Api.Commands.UserApi
|
||||||
{
|
{
|
||||||
internal class GetUserShoutsCommand : GetAsyncCommandBase<PageResponse<Shout>>
|
internal class GetUserShoutsCommand : GetAsyncCommandBase<PageResponse<LastShout>>
|
||||||
{
|
{
|
||||||
public string Username { get; set; }
|
public string Username { get; set; }
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ public override void SetParameters()
|
|||||||
DisableCaching();
|
DisableCaching();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async override Task<PageResponse<Shout>> HandleResponse(HttpResponseMessage response)
|
public async override Task<PageResponse<LastShout>> HandleResponse(HttpResponseMessage response)
|
||||||
{
|
{
|
||||||
var json = await response.Content.ReadAsStringAsync();
|
var json = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
@ -38,11 +38,11 @@ public async override Task<PageResponse<Shout>> HandleResponse(HttpResponseMessa
|
|||||||
var itemsToken = shoutsToken.SelectToken("shout");
|
var itemsToken = shoutsToken.SelectToken("shout");
|
||||||
var pageInfoToken = jtoken.SelectToken("@attr");
|
var pageInfoToken = jtoken.SelectToken("@attr");
|
||||||
|
|
||||||
return PageResponse<Shout>.CreateSuccessResponse(itemsToken, pageInfoToken, Shout.ParseJToken);
|
return PageResponse<LastShout>.CreateSuccessResponse(itemsToken, pageInfoToken, LastShout.ParseJToken);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return LastResponse.CreateErrorResponse<PageResponse<Shout>>(error);
|
return LastResponse.CreateErrorResponse<PageResponse<LastShout>>(error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ Task<PageResponse<LastAlbum>> SearchForAlbumAsync(string album,
|
|||||||
int page = 1,
|
int page = 1,
|
||||||
int itemsPerPage = LastFm.DefaultPageLength);
|
int itemsPerPage = LastFm.DefaultPageLength);
|
||||||
|
|
||||||
Task<PageResponse<Shout>> GetShoutsAsync(string albumname,
|
Task<PageResponse<LastShout>> GetShoutsAsync(string albumname,
|
||||||
string artistname,
|
string artistname,
|
||||||
bool autocorrect = false,
|
bool autocorrect = false,
|
||||||
int page = 1,
|
int page = 1,
|
||||||
|
@ -38,7 +38,7 @@ Task<PageResponse<LastTag>> GetUserTagsForArtistAsync(string artist,
|
|||||||
|
|
||||||
Task<PageResponse<LastTag>> GetTopTagsForArtistAsync(string artist, bool autocorrect = false);
|
Task<PageResponse<LastTag>> GetTopTagsForArtistAsync(string artist, bool autocorrect = false);
|
||||||
|
|
||||||
Task<PageResponse<Shout>> GetShoutsForArtistAsync(string artistname,
|
Task<PageResponse<LastShout>> GetShoutsForArtistAsync(string artistname,
|
||||||
int page = 0,
|
int page = 0,
|
||||||
int count = LastFm.DefaultPageLength,
|
int count = LastFm.DefaultPageLength,
|
||||||
bool autocorrect = false);
|
bool autocorrect = false);
|
||||||
|
@ -12,7 +12,7 @@ public interface ITrackApi
|
|||||||
Task<LastResponse> ScrobbleAsync(Scrobble scrobble);
|
Task<LastResponse> ScrobbleAsync(Scrobble scrobble);
|
||||||
//Task<LastResponse> ScrobbleAsync(IEnumerable<Scrobble> scrobble);
|
//Task<LastResponse> ScrobbleAsync(IEnumerable<Scrobble> scrobble);
|
||||||
|
|
||||||
Task<PageResponse<Shout>> GetShoutsForTrackAsync(string trackname,
|
Task<PageResponse<LastShout>> GetShoutsForTrackAsync(string trackname,
|
||||||
string artistname,
|
string artistname,
|
||||||
bool autocorrect = false,
|
bool autocorrect = false,
|
||||||
int page = 0,
|
int page = 0,
|
||||||
|
@ -24,7 +24,7 @@ Task<PageResponse<LastStation>> GetRecentStations(string username,
|
|||||||
int pagenumber,
|
int pagenumber,
|
||||||
int count = LastFm.DefaultPageLength);
|
int count = LastFm.DefaultPageLength);
|
||||||
|
|
||||||
Task<PageResponse<Shout>> GetShoutsAsync(string username,
|
Task<PageResponse<LastShout>> GetShoutsAsync(string username,
|
||||||
int pagenumber,
|
int pagenumber,
|
||||||
int count = LastFm.DefaultPageLength);
|
int count = LastFm.DefaultPageLength);
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ public async Task<LastResponse> ScrobbleAsync(Scrobble scrobble)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<PageResponse<Shout>> GetShoutsForTrackAsync(string trackname, string artistname, bool autocorrect = false, int page = 0, int count = LastFm.DefaultPageLength)
|
public async Task<PageResponse<LastShout>> GetShoutsForTrackAsync(string trackname, string artistname, bool autocorrect = false, int page = 0, int count = LastFm.DefaultPageLength)
|
||||||
{
|
{
|
||||||
var command = new GetTrackShoutsCommand(Auth, trackname, artistname)
|
var command = new GetTrackShoutsCommand(Auth, trackname, artistname)
|
||||||
{
|
{
|
||||||
|
@ -65,7 +65,7 @@ public async Task<PageResponse<LastStation>> GetRecentStations(string username,
|
|||||||
return await command.ExecuteAsync();
|
return await command.ExecuteAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<PageResponse<Shout>> GetShoutsAsync(string username, int pagenumber, int count = LastFm.DefaultPageLength)
|
public async Task<PageResponse<LastShout>> GetShoutsAsync(string username, int pagenumber, int count = LastFm.DefaultPageLength)
|
||||||
{
|
{
|
||||||
var command = new GetUserShoutsCommand(Auth, username)
|
var command = new GetUserShoutsCommand(Auth, username)
|
||||||
{
|
{
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
namespace IF.Lastfm.Core.Objects
|
namespace IF.Lastfm.Core.Objects
|
||||||
{
|
{
|
||||||
public class Shout : ILastfmObject
|
public class LastShout : ILastfmObject
|
||||||
{
|
{
|
||||||
#region Properties
|
#region Properties
|
||||||
|
|
||||||
@ -15,20 +15,20 @@ public class Shout : ILastfmObject
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public Shout()
|
public LastShout()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public Shout(string author, string body, string time)
|
public LastShout(string author, string body, string time)
|
||||||
{
|
{
|
||||||
Author = author;
|
Author = author;
|
||||||
Body = body;
|
Body = body;
|
||||||
TimePosted = DateTime.Parse(time);
|
TimePosted = DateTime.Parse(time);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Shout ParseJToken(JToken token)
|
public static LastShout ParseJToken(JToken token)
|
||||||
{
|
{
|
||||||
var s = new Shout();
|
var s = new LastShout();
|
||||||
|
|
||||||
s.Body = token.Value<string>("body");
|
s.Body = token.Value<string>("body");
|
||||||
s.Author = token.Value<string>("author");
|
s.Author = token.Value<string>("author");
|
Loading…
Reference in New Issue
Block a user