public void ToJson() { var descriptor = new SerialDescriptor("Test title", "Test description", new SerialPlaylist(new[] { new Season("Season 1", new[] { new Episode("Episode 1.1", new LocalMediaSource(@"C:/Test/Path/media_1_1.mp4")), new Episode("Episode 1.2", new LocalMediaSource(@"C:/Test/Path/media_1_2.mp4")), }), })); var expected = JObject.FromObject(new { title = "Test title", description = "Test description", playlist = new [] { new { title = "Season 1", episodes = new [] { new { title = "Episode 1.1", media = @"C:/Test/Path/media_1_1.mp4" }, new { title = "Episode 1.2", media = @"C:/Test/Path/media_1_2.mp4" } } } } }); var actual = JObject.Parse(descriptor.ToJson()); Assert.IsTrue(JToken.DeepEquals(expected, actual)); }
public void Parse() { string text = @" { 'title': 'Test title', 'description': 'Test description', 'playlist': [ { 'title': 'Season 1', 'episodes': [ { 'title': 'Episode 1.1', 'media': 'C:/Test/Path/media_1_1.mp4' }, { 'title': 'Episode 1.2', 'media': 'C:/Test/Path/media_1_2.mp4' } ] } ] } "; SerialDescriptor expected = new SerialDescriptor("Test title", "Test description", new SerialPlaylist(new[] { new Season("Season 1", new[] { new Episode("Episode 1.1", new LocalMediaSource(@"C:/Test/Path/media_1_1.mp4")), new Episode("Episode 1.2", new LocalMediaSource(@"C:/Test/Path/media_1_2.mp4")), }), })); SerialDescriptor actual = SerialDescriptor.Parse(text); Assert.AreEqual(expected, actual); }