public void FullSerializeAndDeserialize() { var mutableTestModel1 = new MutableTestModel1 { TestStringObject = "TestStringObject" }; var mutableTestModel2 = new MutableTestModel2 { TestString = "TestString"}; var mutableTestModel1List = new List<MutableTestModel1>() { new MutableTestModel1 { TestStringObject = "TestStringObject" }, new MutableTestModel1 { TestStringObject = "TestStringObject" } }; var mutableTestModel2List = new List<MutableTestModel2>() { new MutableTestModel2 { TestString = "TestString" }, new MutableTestModel2 { TestString = "TestString" } }; var testObject = new MutableTestModel1 { TestBool = true, TestInt = 42, TestLong = 42, TestFloat = 42.0f, TestDouble = 42.0d, TestDecimal = 42, TestStringObject = "TestStringObject", TestBooleanObject = true, TestDoubleObject = 42.0d, TestDecimalObject = 42, TestDateTimeObject = new DateTime(2012, 08, 13, 13, 25, 30), TestUint64Object = 42, TestInternalReference = mutableTestModel1, TestExternalReference = mutableTestModel2, TestIntList = new List<int>() {4, 2}, TestStringList = new List<string>() {"4", "2"}, TestDateTimeList = new List<DateTime>() { new DateTime(2012, 08, 13, 13, 25, 30), new DateTime(2012, 08, 13, 13, 25, 30) }, TestInternalReferenceList = mutableTestModel1List, TestExternalReferenceList = mutableTestModel2List }; var jsonString = JsonSerializer.SerializeDataContract(testObject, false); // Assert.Fail(jsonString); var result = JsonSerializer.DeserializeDataContract<MutableTestModel1>(jsonString, false); Assert.AreEqual(true, result.TestBool); Assert.AreEqual(42, result.TestInt); Assert.AreEqual(42, result.TestLong); Assert.AreEqual(42.0f, result.TestFloat); Assert.AreEqual(42.0d, result.TestDouble); Assert.AreEqual(42, result.TestDecimal); Assert.AreEqual("TestStringObject", result.TestStringObject); Assert.AreEqual(true, result.TestBooleanObject); Assert.AreEqual(42.0d, result.TestDoubleObject); Assert.AreEqual(42, result.TestDecimalObject); Assert.AreEqual(new DateTime(2012, 08, 13, 13, 25, 30), result.TestDateTimeObject); Assert.AreEqual(42UL, result.TestUint64Object); Assert.AreEqual("TestStringObject", result.TestInternalReference.TestStringObject); Assert.AreEqual("TestString", result.TestExternalReference.TestString); Assert.AreEqual(2, result.TestIntList[1]); Assert.AreEqual("2", result.TestStringList[1]); Assert.AreEqual(new DateTime(2012, 08, 13, 13, 25, 30), result.TestDateTimeList[1]); Assert.AreEqual("TestStringObject", result.TestInternalReferenceList[1].TestStringObject); Assert.AreEqual("TestString", result.TestExternalReferenceList[1].TestString); }
public void FullSerializeAndDeserialize() { var mutableTestModel1 = new MutableTestModel1 { TestStringObject = "TestStringObject" }; var mutableTestModel2 = new MutableTestModel2 { TestString = "TestString" }; var mutableTestModel1List = new List <MutableTestModel1>() { new MutableTestModel1 { TestStringObject = "TestStringObject" }, new MutableTestModel1 { TestStringObject = "TestStringObject" } }; var mutableTestModel2List = new List <MutableTestModel2>() { new MutableTestModel2 { TestString = "TestString" }, new MutableTestModel2 { TestString = "TestString" } }; var testObject = new MutableTestModel1 { TestBool = true, TestInt = 42, TestLong = 42, TestFloat = 42.0f, TestDouble = 42.0d, TestDecimal = 42, TestStringObject = "TestStringObject", TestBooleanObject = true, TestDoubleObject = 42.0d, TestDecimalObject = 42, TestDateTimeObject = new DateTime(2012, 08, 13, 13, 25, 30), TestUint64Object = 42, TestInternalReference = mutableTestModel1, TestExternalReference = mutableTestModel2, TestIntList = new List <int>() { 4, 2 }, TestStringList = new List <string>() { "4", "2" }, TestDateTimeList = new List <DateTime>() { new DateTime(2012, 08, 13, 13, 25, 30), new DateTime(2012, 08, 13, 13, 25, 30) }, TestInternalReferenceList = mutableTestModel1List, TestExternalReferenceList = mutableTestModel2List }; var jsonString = JsonSerializer.SerializeDataContract(testObject, false); // Assert.Fail(jsonString); var result = JsonSerializer.DeserializeDataContract <MutableTestModel1>(jsonString, false); Assert.AreEqual(true, result.TestBool); Assert.AreEqual(42, result.TestInt); Assert.AreEqual(42, result.TestLong); Assert.AreEqual(42.0f, result.TestFloat); Assert.AreEqual(42.0d, result.TestDouble); Assert.AreEqual(42, result.TestDecimal); Assert.AreEqual("TestStringObject", result.TestStringObject); Assert.AreEqual(true, result.TestBooleanObject); Assert.AreEqual(42.0d, result.TestDoubleObject); Assert.AreEqual(42, result.TestDecimalObject); Assert.AreEqual(new DateTime(2012, 08, 13, 13, 25, 30), result.TestDateTimeObject); Assert.AreEqual(42UL, result.TestUint64Object); Assert.AreEqual("TestStringObject", result.TestInternalReference.TestStringObject); Assert.AreEqual("TestString", result.TestExternalReference.TestString); Assert.AreEqual(2, result.TestIntList[1]); Assert.AreEqual("2", result.TestStringList[1]); Assert.AreEqual(new DateTime(2012, 08, 13, 13, 25, 30), result.TestDateTimeList[1]); Assert.AreEqual("TestStringObject", result.TestInternalReferenceList[1].TestStringObject); Assert.AreEqual("TestString", result.TestExternalReferenceList[1].TestString); }