public void Converter_ObjectFactoryNestedWithTypeHint() { var container = new DoodleContainer { firstDoodle = new Doodle { x = 1, y = 2, z = 3 }, secondDoodle = new Doodle { x = 4, y = 5, z = 5 } }; var json = Json.ToJson(container, new JsonSettings { TypeNameHandling = TypeNameHandling.All }); var settings = new JsonSettings { TypeConverters = new JsonTypeConverter[] { new ObjectFactoryConverter() } }; var newContainer = Json.FromJson <DoodleContainer>(json, settings); Assert.IsTrue(newContainer.firstDoodle.wasCreatedByObjectFactory); Assert.IsTrue(newContainer.secondDoodle.wasCreatedByObjectFactory); Assert.AreEqual(container.firstDoodle.x, newContainer.firstDoodle.x); Assert.AreEqual(container.firstDoodle.y, newContainer.firstDoodle.y); Assert.AreEqual(container.firstDoodle.z, newContainer.firstDoodle.z); Assert.AreEqual(container.secondDoodle.x, newContainer.secondDoodle.x); Assert.AreEqual(container.secondDoodle.y, newContainer.secondDoodle.y); Assert.AreEqual(container.secondDoodle.z, newContainer.secondDoodle.z); }
public void Converter_ObjectFactoryNested() { var container = new DoodleContainer { firstDoodle = new Doodle { x = 1, y = 2, z = 3 }, secondDoodle = new Doodle { x = 4, y = 5, z = 5 } }; var json = Nson.ToNson(container); var settings = new NsonSettings { TypeConverters = new NsonTypeConverter[] { new ObjectFactoryConverter() } }; var newContainer = Nson.FromNson <DoodleContainer>(json, settings); Assert.IsTrue(newContainer.firstDoodle.wasCreatedByObjectFactory); Assert.IsTrue(newContainer.secondDoodle.wasCreatedByObjectFactory); Assert.AreEqual(container.firstDoodle.x, newContainer.firstDoodle.x); Assert.AreEqual(container.firstDoodle.y, newContainer.firstDoodle.y); Assert.AreEqual(container.firstDoodle.z, newContainer.firstDoodle.z); Assert.AreEqual(container.secondDoodle.x, newContainer.secondDoodle.x); Assert.AreEqual(container.secondDoodle.y, newContainer.secondDoodle.y); Assert.AreEqual(container.secondDoodle.z, newContainer.secondDoodle.z); }