コード例 #1
0
ファイル: ClassTypeTests.cs プロジェクト: alanmbennett/Diez
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }