Skip to content

Commit d687315

Browse files
Adding deserialization tests
1 parent aeee27c commit d687315

File tree

3 files changed

+30
-9
lines changed

3 files changed

+30
-9
lines changed

DiscogsClient.Test/DiscogsArtistDeserializationTest.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Text;
4-
using DiscogsClient.Data.Result;
1+
using DiscogsClient.Data.Result;
52
using FluentAssertions;
63
using Newtonsoft.Json;
74
using Xunit;

DiscogsClient.Test/MasterDeserializationTest.cs

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace DiscogsClient.Test
77
{
88
public class MasterDeserializationTest
99
{
10-
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\"}";
10+
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\"}]}";
1111
private readonly DiscogsMaster _Result;
1212
public MasterDeserializationTest()
1313
{
@@ -19,5 +19,29 @@ public void DeserializeResult_IsNotNull()
1919
{
2020
_Result.Should().NotBeNull();
2121
}
22+
23+
[Fact]
24+
public void DeserializeResult_Deserialize_most_recent_release()
25+
{
26+
_Result.most_recent_release.Should().Be(13111150);
27+
}
28+
29+
[Fact]
30+
public void DeserializeResult_Deserialize_most_recent_release_url()
31+
{
32+
_Result.most_recent_release_url.Should().Be("https://api.discogs.com/releases/13111150");
33+
}
34+
35+
[Fact]
36+
public void DeserializeResult_Deserialize_num_for_sale()
37+
{
38+
_Result.num_for_sale.Should().Be(7);
39+
}
40+
41+
[Fact]
42+
public void DeserializeResult_Deserialize_lowest_price()
43+
{
44+
_Result.lowest_price.Should().Be(13.51m);
45+
}
2246
}
2347
}

DiscogsClient/DiscogsClient.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<AssemblyName>DiscogsClient</AssemblyName>
77
<RootNamespace>DiscogsClient</RootNamespace>
88
<Authors>David Desmaisons</Authors>
9-
<Version>2.4.0</Version>
9+
<Version>2.5.0</Version>
1010
<PackageProjectUrl></PackageProjectUrl>
1111
<RepositoryUrl>https://github.com/David-Desmaisons/DiscogsClient</RepositoryUrl>
1212
<PackageLicenseUrl>https://github.com/David-Desmaisons/DiscogsClient/blob/master/LICENSE</PackageLicenseUrl>
@@ -22,9 +22,9 @@ Transparent management of pagination using none blocking API (Reactive IObservab
2222
<PackageId>DiscogsClient</PackageId>
2323
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
2424
<PackageTags>DiscogsClient, Asynchronous, Client</PackageTags>
25-
<AssemblyVersion>2.4.0.0</AssemblyVersion>
26-
<FileVersion>2.4.0.0</FileVersion>
27-
<PackageReleaseNotes>Add release information: series, artist_sort and text format</PackageReleaseNotes>
25+
<AssemblyVersion>2.5.0.0</AssemblyVersion>
26+
<FileVersion>2.5.0.0</FileVersion>
27+
<PackageReleaseNotes>Add master information: most_recent_release_url num_for_sale lowest_price most_recent_release</PackageReleaseNotes>
2828
</PropertyGroup>
2929

3030
<ItemGroup>

0 commit comments

Comments
 (0)