Exemplo n.º 1
0
        public void MergeTest()
        {
            var payload = new PayloadStub
            {
                Prop1 = 1,
                Prop2 = "value",
                Prop3 = false,
                Prop4 = new List <PayloadStub>()
                {
                    new PayloadStub {
                        Prop2 = "nested"
                    }
                }
            };
            var links = new List <Link>()
            {
                new Link {
                    Href = "a/b/c", Rel = "first", Method = "Get"
                },
                new Link {
                    Href = "another/link", Rel = "other", Method = "Post"
                }
            };
            var serializer = new JsonOutputSerializer(new Settings {
            });
            var obj        = serializer.Merge(payload, links);

            Assert.AreEqual(payload, obj.Payload);
            Assert.AreEqual(links.Count, obj.Links.Count());
            Assert.AreEqual(links[0].Href, obj.Links.First().Href);
            Assert.AreEqual(links[1].Href, obj.Links.Last().Href);
        }
Exemplo n.º 2
0
        public void MergeAsStringTest()
        {
            var payload = new PayloadStub
            {
                Prop1 = 1,
                Prop2 = "value",
                Prop3 = false,
                Prop4 = new List <PayloadStub>()
                {
                    new PayloadStub {
                        Prop2 = "nested"
                    }
                }
            };
            var links = new List <Link>()
            {
                new Link {
                    Href = "a/b/c", Rel = "first", Method = "Get"
                },
                new Link {
                    Href = "another/link", Rel = "other", Method = "Post"
                }
            };
            var serializer           = new JsonOutputSerializer(new Settings {
            });
            var str                  = serializer.MergeAsString(payload, links);
            Packet <PayloadStub> obj = JsonConvert.DeserializeObject <Packet <PayloadStub> >(str);

            Assert.IsTrue(str.Contains("payload"));
            Assert.IsTrue(str.Contains("links"));
            Assert.AreEqual(payload.Prop4[0].Prop2, obj.Payload.Prop4[0].Prop2);
            Assert.AreEqual(links[1].Href, obj.Links[1].Href);
        }
Exemplo n.º 3
0
        public void SerializePayloadArrayTest()
        {
            var payload = new List <PayloadStub>()
            {
                new PayloadStub
                {
                    Prop1 = 1,
                    Prop2 = "value",
                    Prop3 = false,
                    Prop4 = new List <PayloadStub>()
                    {
                        new PayloadStub {
                            Prop2 = "nested"
                        }
                    }
                }
            };
            var serializer = new JsonOutputSerializer(new Settings {
            });
            var str        = serializer.SerializePayload(payload);
            var obj        = JsonConvert.DeserializeObject <List <PayloadStub> >(str);

            Assert.AreEqual(payload[0].Prop1, obj[0].Prop1);
            Assert.AreEqual(payload[0].Prop2, obj[0].Prop2);
            Assert.AreEqual(payload[0].Prop3, obj[0].Prop3);
            Assert.AreEqual(payload[0].Prop4.Count, obj[0].Prop4.Count);
            Assert.AreEqual(payload[0].Prop4[0].Prop2, obj[0].Prop4[0].Prop2);
        }
Exemplo n.º 4
0
        public void SerializePayloadTest()
        {
            var payload    = new { property = "value", count = 2 };
            var serializer = new JsonOutputSerializer(new Settings {
            });
            var     str    = serializer.SerializePayload <dynamic>(payload);
            dynamic obj    = JObject.Parse(str);

            Assert.AreEqual(payload.property, (string)obj.property);
            Assert.AreEqual(payload.count, (int)obj.count);
        }
Exemplo n.º 5
0
        public void SerializeLinksTest()
        {
            var links = new List <Link>()
            {
                new Link {
                    Href = "a/b/c", Rel = "first", Method = "Get"
                },
                new Link {
                    Href = "another/link", Rel = "other", Method = "Post"
                }
            };
            var serializer = new JsonOutputSerializer(new Settings {
            });
            var str        = serializer.SerializeLinks(links);
            var obj        = JsonConvert.DeserializeObject <List <Link> >(str);

            Assert.IsFalse(str.Contains("Href"));
            Assert.IsTrue(str.Contains("href"));
            Assert.AreEqual(links.Count, obj.Count);
            Assert.AreEqual(links[0].Href, obj[0].Href);
            Assert.AreEqual(links[1].Href, obj[1].Href);
        }
Exemplo n.º 6
0
        public void SerializeLinksWithBaseUrlTest2()
        {
            var baseUrl = "http://base.url";
            var links   = new List <Link>()
            {
                new Link {
                    Href = "a/b/c", Rel = "first", Method = "Get"
                },
                new Link {
                    Href = "another/link", Rel = "other", Method = "Post"
                }
            };
            var serializer = new JsonOutputSerializer(new Settings {
                UseAbsoluteUrl = true, AbsoluteBaseUrl = baseUrl + "/"
            });
            var str = serializer.SerializeLinks(links);
            var obj = JsonConvert.DeserializeObject <List <Link> >(str);

            Assert.IsFalse(str.Contains("Href"));
            Assert.IsTrue(str.Contains("href"));
            Assert.AreEqual(links.Count, obj.Count);
            Assert.AreEqual(baseUrl + "/" + links[0].Href, obj[0].Href);
            Assert.AreEqual(baseUrl + "/" + links[1].Href, obj[1].Href);
        }