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); }