Skip to content

Commit

Permalink
Adding deserialization tests
Browse files Browse the repository at this point in the history
  • Loading branch information
David-Desmaisons committed Mar 24, 2019
1 parent aeee27c commit d687315
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 9 deletions.
5 changes: 1 addition & 4 deletions DiscogsClient.Test/DiscogsArtistDeserializationTest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using DiscogsClient.Data.Result;
using DiscogsClient.Data.Result;
using FluentAssertions;
using Newtonsoft.Json;
using Xunit;
Expand Down
26 changes: 25 additions & 1 deletion DiscogsClient.Test/MasterDeserializationTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ namespace DiscogsClient.Test
{
public class MasterDeserializationTest
{
private const string _Master = "{\"styles\": [\"Goa Trance\"], \"genres\": [\"Electronic\"], \"videos\": [{\"duration\": 421, \"description\": \"Electric Universe - Alien Encounter Part 2 (Spirit Zone 97)\", \"embed\": true, \"uri\": \"https://www.youtube.com/watch?v=n1LGinzMDi8\", \"title\": \"Electric Universe - Alien Encounter Part 2 (Spirit Zone 97)\"}, {\"duration\": 434, \"description\": \"Electric Universe - From the Heart (Spirit Zone 97)\", \"embed\": true, \"uri\": \"https://www.youtube.com/watch?v=gm0_2i4ydSQ\", \"title\": \"Electric Universe - From the Heart (Spirit Zone 97)\"}, {\"duration\": 409, \"description\": \"Electric Universe - Radio S.P.A.C.E\", \"embed\": true, \"uri\": \"https://www.youtube.com/watch?v=3HyFdVQcz0E\", \"title\": \"Electric Universe - Radio S.P.A.C.E\"}, {\"duration\": 423, \"description\": \"Electric Universe - The Rising Sun\", \"embed\": true, \"uri\": \"https://www.youtube.com/watch?v=myvdEzZTPnM\", \"title\": \"Electric Universe - The Rising Sun\"}, {\"duration\": 385, \"description\": \"Electric Universe - Online Information\", \"embed\": true, \"uri\": \"https://www.youtube.com/watch?v=IAN-WUH1iSg\", \"title\": \"Electric Universe - Online Information\"}, {\"duration\": 341, \"description\": \"Electric Universe - Luna Overdrive\", \"embed\": true, \"uri\": \"https://www.youtube.com/watch?v=dJ-Y6Zfkk70\", \"title\": \"Electric Universe - Luna Overdrive\"}, {\"duration\": 410, \"description\": \"Electric Universe - Technologic\", \"embed\": true, \"uri\": \"https://www.youtube.com/watch?v=Q29j5F_r4JA\", \"title\": \"Electric Universe - Technologic\"}, {\"duration\": 269, \"description\": \"Electric Universe - Astral Voyage (Edit)\", \"embed\": true, \"uri\": \"https://www.youtube.com/watch?v=LO9dnqOz2UA\", \"title\": \"Electric Universe - Astral Voyage (Edit)\"}, {\"duration\": 351, \"description\": \"Electric Universe - Sunset Skyline (Edit)\", \"embed\": true, \"uri\": \"https://www.youtube.com/watch?v=eR9MDXAcpQQ\", \"title\": \"Electric Universe - Sunset Skyline (Edit)\"}, {\"duration\": 501, \"description\": \"Electric Universe - Alien Encounter (Part 1)\", \"embed\": true, \"uri\": \"https://www.youtube.com/watch?v=4o2gXzF27jY\", \"title\": \"Electric Universe - Alien Encounter (Part 1)\"}, {\"duration\": 4327, \"description\": \"Electric Universe \u200e- Stardiver [FULL ALBUM]\", \"embed\": true, \"uri\": \"https://www.youtube.com/watch?v=2qKclS5u3vU\", \"title\": \"Electric Universe \u200e- Stardiver [FULL ALBUM]\"}], \"title\": \"Stardiver\", \"main_release\": 66785, \"main_release_url\": \"https://api.discogs.com/releases/66785\", \"uri\": \"https://www.discogs.com/Electric-Universe-Stardiver/master/1000\", \"ReleaseArtists\": [{\"join\": \"\", \"name\": \"Electric Universe\", \"anv\": \"\", \"tracks\": \"\", \"role\": \"\", \"resource_url\": \"https://api.discogs.com/ReleaseArtists/21849\", \"id\": 21849}], \"versions_url\": \"https://api.discogs.com/masters/1000/versions\", \"year\": 1997, \"images\": [{\"uri\": \"\", \"height\": 569, \"width\": 600, \"resource_url\": \"\", \"type\": \"primary\", \"uri150\": \"\"}, {\"uri\": \"\", \"height\": 296, \"width\": 600, \"resource_url\": \"\", \"type\": \"secondary\", \"uri150\": \"\"}, {\"uri\": \"\", \"height\": 500, \"width\": 506, \"resource_url\": \"\", \"type\": \"secondary\", \"uri150\": \"\"}, {\"uri\": \"\", \"height\": 500, \"width\": 507, \"resource_url\": \"\", \"type\": \"secondary\", \"uri150\": \"\"}, {\"uri\": \"\", \"height\": 500, \"width\": 508, \"resource_url\": \"\", \"type\": \"secondary\", \"uri150\": \"\"}, {\"uri\": \"\", \"height\": 470, \"width\": 600, \"resource_url\": \"\", \"type\": \"secondary\", \"uri150\": \"\"}, {\"uri\": \"\", \"height\": 465, \"width\": 600, \"resource_url\": \"\", \"type\": \"secondary\", \"uri150\": \"\"}, {\"uri\": \"\", \"height\": 598, \"width\": 600, \"resource_url\": \"\", \"type\": \"secondary\", \"uri150\": \"\"}], \"resource_url\": \"https://api.discogs.com/masters/1000\", \"tracklist\": [{\"duration\": \"7:00\", \"position\": \"1\", \"type_\": \"track\", \"title\": \"Alien Encounter (Part 2)\"}, {\"duration\": \"7:13\", \"position\": \"2\", \"type_\": \"track\", \"extraartists\": [{\"join\": \"\", \"name\": \"DJ Sangeet\", \"anv\": \"\", \"tracks\": \"\", \"role\": \"Written-By, Producer\", \"resource_url\": \"https://api.discogs.com/ReleaseArtists/25460\", \"id\": 25460}], \"title\": \"From The Heart\"}, {\"duration\": \"6:45\", \"position\": \"3\", \"type_\": \"track\", \"title\": \"Radio S.P.A.C.E.\"}, {\"duration\": \"7:11\", \"position\": \"4\", \"type_\": \"track\", \"title\": \"The Rising Sun\"}, {\"duration\": \"6:17\", \"position\": \"5\", \"type_\": \"track\", \"extraartists\": [{\"join\": \"\", \"name\": \"Michael Dressler\", \"anv\": \"\", \"tracks\": \"\", \"role\": \"Written-By, Producer\", \"resource_url\": \"https://api.discogs.com/ReleaseArtists/234116\", \"id\": 234116}], \"title\": \"Online Information\"}, {\"duration\": \"5:39\", \"position\": \"6\", \"type_\": \"track\", \"title\": \"Luna Overdrive\"}, {\"duration\": \"7:18\", \"position\": \"7\", \"type_\": \"track\", \"title\": \"Technologic\"}, {\"duration\": \"4:28\", \"position\": \"8\", \"type_\": \"track\", \"extraartists\": [{\"join\": \"\", \"name\": \"Michael Dressler\", \"anv\": \"\", \"tracks\": \"\", \"role\": \"Written-By, Producer\", \"resource_url\": \"https://api.discogs.com/ReleaseArtists/234116\", \"id\": 234116}], \"title\": \"Astral Voyage (Edit)\"}, {\"duration\": \"5:52\", \"position\": \"9\", \"type_\": \"track\", \"extraartists\": [{\"join\": \"\", \"name\": \"DJ Sangeet\", \"anv\": \"\", \"tracks\": \"\", \"role\": \"Written-By, Producer\", \"resource_url\": \"https://api.discogs.com/ReleaseArtists/25460\", \"id\": 25460}, {\"join\": \"\", \"name\": \"Michael Dressler\", \"anv\": \"\", \"tracks\": \"\", \"role\": \"Written-By, Producer\", \"resource_url\": \"https://api.discogs.com/ReleaseArtists/234116\", \"id\": 234116}], \"title\": \"Sunset Skyline (Edit)\"}, {\"duration\": \"6:26\", \"position\": \"10\", \"type_\": \"track\", \"extraartists\": [{\"join\": \"\", \"name\": \"DJ Sangeet\", \"anv\": \"\", \"tracks\": \"\", \"role\": \"Written-By, Producer\", \"resource_url\": \"https://api.discogs.com/ReleaseArtists/25460\", \"id\": 25460}], \"title\": \"Stardiver\"}, {\"duration\": \"8:21\", \"position\": \"11\", \"type_\": \"track\", \"title\": \"Alien Encounter (Part 1)\"}], \"id\": 1000, \"data_quality\": \"Correct\"}";
private const string _Master = "{\"styles\": [\"Techno\", \"Deep Techno\", \"Deep House\", \"Disco\"], \"genres\": [\"Electronic\"], \"num_for_sale\": 7, \"title\": \"Conceptions Inspirations b/w Sweet Love \", \"most_recent_release\": 13111150, \"main_release\": 13111150, \"main_release_url\": \"https://api.discogs.com/releases/13111150\", \"uri\": \"https://www.discogs.com/Vintage-Future-ft-Vann-Johnson-and-Syndicate-Of-Swing-Conceptions-Inspirations-bw-Sweet-Love-/master/1489926\", \"artists\": [{\"join\": \"ft.\", \"name\": \"Vintage Future\", \"anv\": \"\", \"tracks\": \"\", \"role\": \"\", \"resource_url\": \"https://api.discogs.com/artists/65478\", \"id\": 65478}, {\"join\": \"and\", \"name\": \"Vann Johnson\", \"anv\": \"\", \"tracks\": \"\", \"role\": \"\", \"resource_url\": \"https://api.discogs.com/artists/603935\", \"id\": 603935}, {\"join\": \"\", \"name\": \"Syndicate Of Swing\", \"anv\": \"\", \"tracks\": \"\", \"role\": \"\", \"resource_url\": \"https://api.discogs.com/artists/1185799\", \"id\": 1185799}], \"versions_url\": \"https://api.discogs.com/masters/1489926/versions\", \"data_quality\": \"Correct\", \"most_recent_release_url\": \"https://api.discogs.com/releases/13111150\", \"year\": 2019, \"images\": [{\"uri\": \"\", \"height\": 600, \"width\": 600, \"resource_url\": \"\", \"type\": \"primary\", \"uri150\": \"\"}, {\"uri\": \"\", \"height\": 600, \"width\": 600, \"resource_url\": \"\", \"type\": \"secondary\", \"uri150\": \"\"}, {\"uri\": \"\", \"height\": 600, \"width\": 600, \"resource_url\": \"\", \"type\": \"secondary\", \"uri150\": \"\"}], \"resource_url\": \"https://api.discogs.com/masters/1489926\", \"lowest_price\": 13.51, \"id\": 1489926, \"tracklist\": [{\"duration\": \"08:05\", \"position\": \"A\", \"type_\": \"track\", \"title\": \"Conceptions Inspirations\"}, {\"duration\": \"13:18\", \"position\": \"B\", \"type_\": \"track\", \"title\": \"Sweet Love\"}]}";
private readonly DiscogsMaster _Result;
public MasterDeserializationTest()
{
Expand All @@ -19,5 +19,29 @@ public void DeserializeResult_IsNotNull()
{
_Result.Should().NotBeNull();
}

[Fact]
public void DeserializeResult_Deserialize_most_recent_release()
{
_Result.most_recent_release.Should().Be(13111150);
}

[Fact]
public void DeserializeResult_Deserialize_most_recent_release_url()
{
_Result.most_recent_release_url.Should().Be("https://api.discogs.com/releases/13111150");
}

[Fact]
public void DeserializeResult_Deserialize_num_for_sale()
{
_Result.num_for_sale.Should().Be(7);
}

[Fact]
public void DeserializeResult_Deserialize_lowest_price()
{
_Result.lowest_price.Should().Be(13.51m);
}
}
}
8 changes: 4 additions & 4 deletions DiscogsClient/DiscogsClient.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<AssemblyName>DiscogsClient</AssemblyName>
<RootNamespace>DiscogsClient</RootNamespace>
<Authors>David Desmaisons</Authors>
<Version>2.4.0</Version>
<Version>2.5.0</Version>
<PackageProjectUrl></PackageProjectUrl>
<RepositoryUrl>https://github.com/David-Desmaisons/DiscogsClient</RepositoryUrl>
<PackageLicenseUrl>https://github.com/David-Desmaisons/DiscogsClient/blob/master/LICENSE</PackageLicenseUrl>
Expand All @@ -22,9 +22,9 @@ Transparent management of pagination using none blocking API (Reactive IObservab
<PackageId>DiscogsClient</PackageId>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageTags>DiscogsClient, Asynchronous, Client</PackageTags>
<AssemblyVersion>2.4.0.0</AssemblyVersion>
<FileVersion>2.4.0.0</FileVersion>
<PackageReleaseNotes>Add release information: series, artist_sort and text format</PackageReleaseNotes>
<AssemblyVersion>2.5.0.0</AssemblyVersion>
<FileVersion>2.5.0.0</FileVersion>
<PackageReleaseNotes>Add master information: most_recent_release_url num_for_sale lowest_price most_recent_release</PackageReleaseNotes>
</PropertyGroup>

<ItemGroup>
Expand Down

0 comments on commit d687315

Please sign in to comment.