public void Parses_with_embedded_representations() { // Arrange var jsonString = @"{ entities: [ { class: [ ""info"", ""customer"" ], rel: [ ""http://x.io/rels/customer"" ], properties: { customerId: ""pj123"", name: ""Peter Joseph"" }, links: [ { rel: [ ""self"" ], href: ""http://api.x.io/customers/pj123"" } ] } ] }"; // Act var doc = SirenJson.Parse(jsonString); // Assert Assert.NotNull(doc); IEmbeddedRepresentation entity = doc.EmbeddedRepresentations.Single(); Assert.Equal("http://x.io/rels/customer", entity.Rel.Single()); Assert.Equal(2, entity.Classes.Count); Assert.Equal(1, entity.Links.Count); }
private static JObject UnparseEmbeddedRepresentation(IEmbeddedRepresentation Entity) { var entity = new JObject(); UnparseClasses(entity, Entity.Classes); UnparseRels(entity, Entity.Rel); UnparseTitle(entity, Entity.Title); UnparseProperties(entity, Entity.Properties); UnparseActions(entity, Entity.Actions); UnparseLinks(entity, Entity.Links); UnparseEntities(entity, Entity.EmbeddedLinks, Entity.EmbeddedRepresentations); return(entity); }
private static JObject UnparseEmbeddedRepresentation(IEmbeddedRepresentation Entity) { var entity = new JObject(); UnparseClasses(entity, Entity.Classes); UnparseRels(entity, Entity.Rel); UnparseTitle(entity, Entity.Title); UnparseProperties(entity, Entity.Properties); UnparseActions(entity, Entity.Actions); UnparseLinks(entity, Entity.Links); UnparseEntities(entity, Entity.EmbeddedLinks, Entity.EmbeddedRepresentations); return entity; }