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