public void Should_deserialize_playlist_from_json() { const string json = @"{ ""id"": ""51ed5cfec9021614f462bb7b"", ""name"": ""party time"", ""status"": ""published"", ""visibility"": ""Public"", ""imageUrl"": ""http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg"", ""description"": ""Hits to get the party started"", ""lastUpdated"": ""2013-10-02T12:16:04.615Z"", ""tracks"": [{ ""playlistItemId"": ""52cd88c2c902161660aeab80"", ""trackId"": ""5495893"", ""trackTitle"": ""No You Girls"" }], ""annotations"": { ""key"": ""value"", ""another key"": ""another value"" }, ""tags"": [{ ""name"": ""tag1"", ""playlistPosition"": 1 }, { ""name"": ""tag2"" }] }" ; var response = new Wrapper.Responses.Response(System.Net.HttpStatusCode.OK, new Dictionary <string, string> { { "Content-Type", "application/json" } }, json); var playlist = new ResponseDeserializer().DeserializeResponse <Playlist>(response, true); Assert.That(playlist.Id, Is.EqualTo("51ed5cfec9021614f462bb7b")); Assert.That(playlist.Name, Is.EqualTo("party time")); Assert.That(playlist.Description, Is.EqualTo("Hits to get the party started")); Assert.That(playlist.Status, Is.EqualTo("published")); Assert.That(playlist.Visibility, Is.EqualTo(PlaylistVisibilityType.Public)); Assert.That(playlist.ImageUrl, Is.EqualTo("http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg")); Assert.That(playlist.Tracks.Count, Is.EqualTo(1)); Assert.That(playlist.Tracks[0].PlaylistItemId, Is.EqualTo("52cd88c2c902161660aeab80")); Assert.That(playlist.Tracks[0].TrackId, Is.EqualTo("5495893")); Assert.That(playlist.Tracks[0].TrackTitle, Is.EqualTo("No You Girls")); Assert.That(playlist.LastUpdated.ToString("O"), Is.EqualTo("2013-10-02T12:16:04.6150000Z")); Assert.That(playlist.Annotations.Count, Is.EqualTo(2)); Assert.That(playlist.Annotations[0].Key, Is.EqualTo("key")); Assert.That(playlist.Annotations[0].Value, Is.EqualTo("value")); Assert.That(playlist.Annotations[1].Key, Is.EqualTo("another key")); Assert.That(playlist.Annotations[1].Value, Is.EqualTo("another value")); Assert.That(playlist.Tags.Count, Is.EqualTo(2)); Assert.That(playlist.Tags[0].Name, Is.EqualTo("tag1")); Assert.That(playlist.Tags[0].PlaylistPosition, Is.EqualTo(1)); Assert.That(playlist.Tags[1].Name, Is.EqualTo("tag2")); Assert.That(playlist.Tags[1].PlaylistPosition, Is.Null); }
public void Should_deserialize_playlist_from_xml() { const string xml = @" <response status=""ok"" version=""1.2""> <playlist id=""51ed5cfec9021614f462bb7b""> <name>party time</name> <description>Hits to get the party started</description> <status>Published</status> <visibility>Public</visibility> <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</image> <tracks><track id=""524ae1a1c90216252c1837ab""><trackId>5495893</trackId><trackTitle>No You Girls</trackTitle></track></tracks> <annotations> <annotation key=""key"">value</annotation> <annotation key=""anotherkey"">another value</annotation> </annotations> <lastUpdated>2013-10-02T12:16:04.615Z</lastUpdated> </playlist> </response>" ; var response = new Wrapper.Responses.Response(System.Net.HttpStatusCode.OK, xml); var playlist = new ResponseDeserializer().DeserializeResponse <Playlist>(response, true); Assert.That(playlist.Id, Is.EqualTo("51ed5cfec9021614f462bb7b")); Assert.That(playlist.Name, Is.EqualTo("party time")); Assert.That(playlist.Description, Is.EqualTo("Hits to get the party started")); Assert.That(playlist.Status, Is.EqualTo("Published")); Assert.That(playlist.Visibility, Is.EqualTo(PlaylistVisibilityType.Public)); Assert.That(playlist.ImageUrl, Is.EqualTo("http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg")); Assert.That(playlist.Tracks.Count, Is.EqualTo(1)); Assert.That(playlist.Tracks[0].PlaylistItemId, Is.EqualTo("524ae1a1c90216252c1837ab")); Assert.That(playlist.Tracks[0].TrackId, Is.EqualTo("5495893")); Assert.That(playlist.Tracks[0].TrackTitle, Is.EqualTo("No You Girls")); Assert.That(playlist.LastUpdated.ToString("O"), Is.EqualTo("2013-10-02T12:16:04.6150000Z")); Assert.That(playlist.Annotations.Count, Is.EqualTo(2)); Assert.That(playlist.Annotations[0].Key, Is.EqualTo("key")); Assert.That(playlist.Annotations[0].Value, Is.EqualTo("value")); }