Example #1
0
		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);

		}
Example #2
0
        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);
        }