コード例 #1
0
        public void TestNormal()
        {
            ExampleOuter o1 = CreateExample();

            Assert.AreEqual(2, o1.ValueObject.Value);
            Assert.AreEqual(4, o1.ValueObject.OtherValue);

            string s1 = new JsonSerializer().Serialize(o1);

            var          d  = new JsonDeserializer();
            ExampleOuter o2 = d.Deserialize <ExampleOuter>(s1);

            CompareSomeFields(o1, o2);
            Assert.AreEqual(2.345f, o1.RetrievePrivateValue());
            Assert.AreEqual(0, o2.RetrievePrivateValue());
            Assert.AreEqual(0, o2.ValueObject.OtherValue);

            string s2 = new JsonSerializer().Serialize(o2);

            Assert.AreEqual(s1, s2);

            JsonNode n1 = JsonParser.Parse(s1);
            JsonNode n2 = n1.Clone();
            JsonNode n3 = JsonParser.Parse(n2.AsJson);
            JsonNode n4 = JsonParser.Parse(n3.AsJsonCompact);

            Assert.IsTrue(n1 != n2);
            CompareNodes(n1, n1);
            CompareNodes(n1, n2);
            CompareNodes(n1, n3);
            CompareNodes(n1, n4);
        }