Пример #1
0
        public void EmptyToOneShouldSerializeAsNull()
        {
            var r = new ResourceWithRelationship {
                Id = 1
            };
            var ro = new ResourceObject(r, _p);

            ro.ExtractAndRewireResourceLinks();

            var link = ro.Link("ToOne");
            var json = link.ToJson();

            Assert.AreEqual(JTokenType.Null, json["linkage"].Type);
        }
Пример #2
0
        public void LinkedObjectShouldHandleUriLinkage()
        {
            var r = new ResourceWithUriRelationship
            {
                Id     = 1,
                Author = new Uri("http://www.google.com")
            };
            var ro = new ResourceObject(r, _p);

            ro.ExtractAndRewireResourceLinks();
            var link = ro.Link("Author");

            Assert.AreEqual(LinkType.ToUrl, link.LinkType);
            var json = link.ToJson();

            Assert.AreEqual("http://www.google.com", (string)json);
        }
Пример #3
0
        public void PopulatedToOneShouldSerializeAsObject()
        {
            var r = new ResourceWithRelationship
            {
                Id    = 1,
                ToOne = new Resource {
                    Id = 2
                }
            };
            var ro = new ResourceObject(r, _p);

            ro.ExtractAndRewireResourceLinks();

            var link = ro.Link("ToOne");
            var json = link.ToJson();

            Assert.AreEqual(JTokenType.Object, json["linkage"].Type);
        }
Пример #4
0
        public void LinkedObjectShouldHandleSingleLinkage()
        {
            var r = new ResourceWithRelationship
            {
                Id    = 1,
                ToOne = new Resource {
                    Id = 2
                }
            };
            var ro = new ResourceObject(r, _p);

            ro.ExtractAndRewireResourceLinks();
            var link = ro.Link("ToOne");

            Assert.AreEqual("2", link.Resources.First().ResourceIdentifier.Id);
            Assert.AreEqual("Resources", link.Resources.First().ResourceIdentifier.Type);
            Assert.AreEqual(LinkType.ToOne, link.LinkType);
        }
Пример #5
0
        public void PopulatedToManyShouldSerializeAsArray()
        {
            var r = new ResourceWithRelationship
            {
                Id     = 1,
                ToMany = new List <Resource>
                {
                    new Resource {
                        Id = 2
                    }
                }
            };
            var ro = new ResourceObject(r, _p);

            ro.ExtractAndRewireResourceLinks();

            var link = ro.Link("ToMany");
            var json = link.ToJson();

            Assert.AreEqual(JTokenType.Array, json["linkage"].Type);
            Assert.IsNotEmpty(json["linkage"]);
        }