public void ConvertToJSONTest() { JSONParameters param = new JSONParameters(); param.UseExtensions = true; //param.UsingGlobalTypes = false; JSONSerializer target = new JSONSerializer(param); TestClass tc = new TestClass() { T1 = "4", t2 = 3 }; string expected = "{\"$types\":{\"Arch.CFramework.AppInternals.Test.TestClass, Arch.CFramework.AppInternals.Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\":\"1\"},\"$type\":\"1\",\"T1\":\"4\",\"t2\":3}";// string actual; actual = target.ConvertToJSON(tc); Assert.AreEqual(expected, actual); param.UseExtensions = false; param.FixValues(); target = new JSONSerializer(param); expected = "{\"T1\":\"4\",\"t2\":3}"; actual = target.ConvertToJSON(tc); Assert.AreEqual(expected, actual); param.UseExtensions = true; param.UsingGlobalTypes = true; target = new JSONSerializer(param); TestClass2 tc2 = new TestClass2() { T1 = GetDataTable(), t2 = new DataSet(), T3 = new Dictionary<string, string>(), t4 = DateTime.Parse("2013-02-20 06:42:39Z"), t5 = new List<string>(), t6 = new Guid(), t7 = TEnum.A }; tc2.t2.Tables.Add(tc2.T1); tc2.T3.Add("a", "a1"); tc2.T3.Add("b", "b1"); tc2.t5.Add("aa"); tc2.t5.Add("bb"); actual = target.ConvertToJSON(tc2); Assert.AreEqual("{\"$types\":{\"Arch.CFramework.AppInternals.Test.TestClass2, Arch.CFramework.AppInternals.Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\":\"1\",\"Arch.CFramework.AppInternals.Serialization.JSONSerialize.DatasetSchema, Arch.CFramework.AppInternals, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\":\"2\"},\"$type\":\"1\",\"T1\":{\"$schema\":{\"$type\":\"2\",\"Info\":[\"test\",\"t1\",\"System.Int32\",\"test\",\"t2\",\"System.Int32\",\"test\",\"t3\",\"System.Int32\"],\"Name\":\"test\"},\"test\":[[0,1,2]]},\"t2\":{\"$schema\":{\"$type\":\"2\",\"Info\":[\"test\",\"t1\",\"System.Int32\",\"test\",\"t2\",\"System.Int32\",\"test\",\"t3\",\"System.Int32\"],\"Name\":\"NewDataSet\"},\"test\":[[0,1,2]]},\"T3\":{\"a\":\"a1\",\"b\":\"b1\"},\"t7\":\"A\",\"t6\":\"AAAAAAAAAAAAAAAAAAAAAA==\",\"t4\":\"2013-02-20 06:42:39Z\",\"t5\":[\"aa\",\"bb\"]}" , actual); }
public void JSONSerializerConstructorTest() { JSONParameters param = new JSONParameters(); // TODO: Initialize to an appropriate value JSONSerializer target = new JSONSerializer(param); Assert.IsNotNull(target); }