Ejemplo n.º 1
0
        public void NormalJsonSerializationAndDeserialization()
        {
            TestDataStructureOne firstTestData = new TestDataStructureOne {
                IntValue = 2
            };
            string resultString = serializer.To(firstTestData);

            Assert.AreEqual(resultString, "{\n    \"IntValue\": 2\n}");

            TestDataStructureOne firstResult = serializer.From <TestDataStructureOne>(resultString);

            Assert.AreEqual(firstTestData.IntValue,
                            firstResult.IntValue); // Classes are never the same as they two different objects.

            TestDataStructureTwo secondTestData = new TestDataStructureTwo
            {
                BoolArray        = new[] { true, false, true },
                DataStructureOne = firstTestData
            };

            resultString = serializer.To(secondTestData);

            Assert.AreEqual(resultString,
                            "{\n    \"BoolArray\": [\n        true,\n        false,\n        true\n    ],\n    \"DataStructureOne\": {\n        \"IntValue\": 2\n    }\n}");

            TestDataStructureTwo secondResult = serializer.From <TestDataStructureTwo>(resultString);

            Assert.AreEqual(secondTestData.BoolArray, secondResult.BoolArray);
            Assert.AreEqual(secondTestData.DataStructureOne.IntValue, secondResult.DataStructureOne.IntValue);
        }
Ejemplo n.º 2
0
        public void NormalPersistence()
        {
            TestDataStructureOne firstTestData = new TestDataStructureOne {
                IntValue = 3
            };
            const string firstDestination = TestingFolder + "/FirstTestData.json";

            persister.Save(firstTestData, firstDestination);
            persister.Load(out TestDataStructureOne firstResult, firstDestination);
            Assert.AreEqual(firstTestData.IntValue, firstResult.IntValue);

            TestDataStructureTwo secondTestData = new TestDataStructureTwo
            {
                BoolArray        = new[] { true, false, true },
                DataStructureOne = firstTestData
            };

            const string secondDestination = TestingFolder + "/SecondTestData.json";

            persister.Save(secondTestData, secondDestination);
            persister.Load(out TestDataStructureTwo secondResult, secondDestination);
            Assert.AreEqual(secondTestData.BoolArray, secondTestData.BoolArray);
            Assert.AreEqual(secondTestData.DataStructureOne.IntValue, secondResult.DataStructureOne.IntValue);
        }