public void DumpClassPrettyPrint() { var testClass = new TestClass { x = 5, y = 7, z = 0 }; testClass.list = new List <int> { 3, 1, 4 }; var settings = new NsonSettings() { PrettyPrint = true }; var json = Nson.ToNson(testClass, settings); Assert.AreEqual(@"Nez.Persistence.NsonTests.ClassTypeTests+TestClass( date: ""2020-01-01T00:00:00Z"", x: 5, y: 7, list: [ 3, 1, 4 ] )".Replace(" ", "\t"), json); }
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 = 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); }
public void Converter_ObjectFactoryListWithTypeHint() { var list = new List <Doodle> { { new Doodle { x = 1, y = 2, z = 3 } }, { new Doodle { x = 4, y = 5, z = 5 } } }; var json = Nson.ToNson(list); var settings = new NsonSettings { TypeConverters = new NsonTypeConverter[] { new ObjectFactoryConverter() } }; var newList = Nson.FromNson <List <Doodle> >(json, settings); Assert.IsTrue(newList[0].wasCreatedByObjectFactory); Assert.IsTrue(newList[1].wasCreatedByObjectFactory); Assert.AreEqual(list[0].x, newList[0].x); Assert.AreEqual(list[0].y, newList[0].y); Assert.AreEqual(list[0].z, newList[0].z); Assert.AreEqual(list[1].x, newList[1].x); Assert.AreEqual(list[1].y, newList[1].y); Assert.AreEqual(list[1].z, newList[1].z); }
public void Converter_OnFoundCustomData() { var settings = new NsonSettings { TypeConverters = new NsonTypeConverter[] { new CustomDataConverter() } }; var doodle = new Doodle { x = 5, y = 7, z = 9 }; var nson = Nson.ToNson(doodle, settings); var newDoodle = Nson.FromNson <Doodle>(nson, settings); Assert.AreEqual(2, newDoodle.totalOrphanedKeys); Assert.AreNotEqual(doodle.totalOrphanedKeys, newDoodle.totalOrphanedKeys); }
public void Converter_ObjectFactoryWithTypeHint() { var doodle = new Doodle { x = 5, y = 7, z = 9 }; var json = Nson.ToNson(doodle); var settings = new NsonSettings { TypeConverters = new NsonTypeConverter[] { new ObjectFactoryConverter() } }; var newDoodle = Nson.FromNson <Doodle>(json, settings); Assert.IsTrue(newDoodle.wasCreatedByObjectFactory); Assert.AreEqual(newDoodle.x, doodle.x); Assert.AreEqual(newDoodle.y, doodle.y); Assert.AreEqual(newDoodle.z, doodle.z); }