diff --git a/src/IF.Lastfm.Core.Tests/Api/Commands/AlbumApi/GetAlbumTopTagsCommandTest.cs b/src/IF.Lastfm.Core.Tests/Api/Commands/AlbumApi/GetAlbumTopTagsCommandTest.cs
new file mode 100644
index 0000000..9fd4498
--- /dev/null
+++ b/src/IF.Lastfm.Core.Tests/Api/Commands/AlbumApi/GetAlbumTopTagsCommandTest.cs
@@ -0,0 +1,80 @@
+using IF.Lastfm.Core.Api.Commands.AlbumApi;
+using IF.Lastfm.Core.Api.Enums;
+using IF.Lastfm.Core.Tests.Resources;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace IF.Lastfm.Core.Tests.Api.Commands.AlbumApi
+{
+
+
+ [TestClass]
+ public class GetAlbumTopTagsCommandTest : CommandTestsBase
+ {
+ private GetAlbumTopTagsCommand _command;
+
+ public GetAlbumTopTagsCommandTest()
+ {
+ _command = new GetAlbumTopTagsCommand(MAuth.Object)
+ {
+ AlbumName = "Believe",
+ ArtistName = "Cher"
+ };
+
+ _command.SetParameters();
+ }
+
+ [TestMethod]
+ public void Constructor()
+ {
+ Assert.AreEqual(_command.Method, "album.gettoptags");
+ Assert.AreEqual(_command.Parameters["album"], "Believe");
+ Assert.AreEqual(_command.Parameters["artist"], "Cher");
+
+ }
+
+ [TestMethod]
+ public async Task HandleSuccessResponse()
+ {
+ var response = CreateResponseMessage(Encoding.UTF8.GetString(AlbumApiResponses.AlbumGetTopTags));
+
+ var parsed = await _command.HandleResponse(response);
+
+ Assert.IsTrue(parsed.Success);
+ Assert.IsNotNull(parsed.Content);
+
+ }
+
+
+ [TestMethod]
+ public async Task HandleEmptyResponse()
+ {
+ var response = CreateResponseMessage(Encoding.UTF8.GetString(AlbumApiResponses.AlbumGetTopTagsEmpty));
+
+ var parsed = await _command.HandleResponse(response);
+
+ Assert.IsTrue(parsed.Success);
+ Assert.IsNotNull(parsed.Content);
+ Assert.IsTrue(!parsed.Content.Any());
+ }
+
+ [TestMethod]
+ public async Task HandleErrorResponse()
+ {
+ var response = CreateResponseMessage(Encoding.UTF8.GetString(AlbumApiResponses.AlbumGetTopTagsError));
+
+ var parsed = await _command.HandleResponse(response);
+
+ Assert.IsFalse(parsed.Success);
+ Assert.IsTrue(parsed.Error == LastFmApiError.MissingParameters);
+ Assert.IsNotNull(parsed.Content);
+ Assert.IsTrue(!parsed.Content.Any());
+ }
+ }
+
+
+}
diff --git a/src/IF.Lastfm.Core.Tests/IF.Lastfm.Core.Tests.csproj b/src/IF.Lastfm.Core.Tests/IF.Lastfm.Core.Tests.csproj
index 6a54462..06c2327 100644
--- a/src/IF.Lastfm.Core.Tests/IF.Lastfm.Core.Tests.csproj
+++ b/src/IF.Lastfm.Core.Tests/IF.Lastfm.Core.Tests.csproj
@@ -57,6 +57,12 @@
+
+ ..\..\packages\Microsoft.Net.Http.2.2.28\lib\net45\System.Net.Http.Extensions.dll
+
+
+ ..\..\packages\Microsoft.Net.Http.2.2.28\lib\net45\System.Net.Http.Primitives.dll
+
@@ -70,6 +76,7 @@
+
@@ -80,9 +87,9 @@
- AlbumApiResponses.resx
- True
True
+ True
+ AlbumApiResponses.resx
TrackApiResponses.resx
@@ -102,10 +109,13 @@
+
+
+
@@ -149,6 +159,11 @@
+
+
+
+
+