Пример #1
0
        private static void AssertEmbeddedEntity(JObject embeddedEntityObject, EmbeddedSubEntity embeddedSubHo)
        {
            var embeddedEntityProperties = (JObject)embeddedEntityObject["properties"];

            Assert.AreEqual(embeddedEntityProperties.Count, 2);
            Assert.AreEqual(embeddedEntityObject["properties"]["ABool"].ToString(), embeddedSubHo.ABool.ToString());
            Assert.AreEqual(embeddedEntityObject["properties"]["AInt"].ToString(), embeddedSubHo.AInt.ToString());
        }
Пример #2
0
        public void RepresentationEntitiesTest()
        {
            var routeName = typeof(EmptyHypermediaObject).Name + "_Route";

            RouteRegister.AddHypermediaObjectRoute(typeof(EmptyHypermediaObject), routeName);

            var routeNameEmbedded = typeof(EmbeddedSubEntity).Name + "_Route";

            RouteRegister.AddHypermediaObjectRoute(typeof(EmbeddedSubEntity), routeNameEmbedded);

            var ho          = new EmptyHypermediaObject();
            var relation1   = "Embedded";
            var embeddedHo1 = new EmbeddedSubEntity();

            ho.Entities.Add(relation1, new HypermediaObjectReference(embeddedHo1));

            var relationsList2 = new List <string> {
                "RelationA", "RelationB"
            };
            var embeddedHo2 = new EmbeddedSubEntity {
                ABool = true, AInt = 3
            };

            ho.Entities.Add(new RelatedEntity(relationsList2, new HypermediaObjectReference(embeddedHo2)));

            var siren = SirenConverter.ConvertToJson(ho);

            AssertDefaultClassName(siren, typeof(EmptyHypermediaObject));
            AssertEmptyProperties(siren);
            AssertEmptyActions(siren);
            AssertHasOnlySelfLink(siren, routeName);

            Assert.IsTrue(siren["entities"].Type == JTokenType.Array);
            var entitiesArray = (JArray)siren["entities"];

            Assert.AreEqual(entitiesArray.Count, ho.Entities.Count);

            var embeddedEntityObject = (JObject)siren["entities"][0];

            AssertDefaultClassName(embeddedEntityObject, typeof(EmbeddedSubEntity));
            AssertRelations(embeddedEntityObject, new List <string> {
                relation1
            });
            AssertHasOnlySelfLink(embeddedEntityObject, routeNameEmbedded);
            AssertEmbeddedEntity(embeddedEntityObject, embeddedHo1);

            embeddedEntityObject = (JObject)siren["entities"][1];
            AssertDefaultClassName(embeddedEntityObject, typeof(EmbeddedSubEntity));
            AssertRelations(embeddedEntityObject, relationsList2);
            AssertHasOnlySelfLink(embeddedEntityObject, routeNameEmbedded);
            AssertEmbeddedEntity(embeddedEntityObject, embeddedHo2);
        }