public void SerializeTestArray()
		{
			var value = new DynamicJsonObject();
			(value as dynamic).array = new object[] { "arrayValue1", 8 };
			var target = new DynamicJsonSerializer();
			const string expected = "{\"array\":[\"arrayValue1\",8]}";
			var actual = target.Serialize(value);
			Assert.AreEqual(expected, actual);
		}
		public void SerializeTestArrayWithObjects()
		{
			var value = new DynamicJsonObject();
			var inner = new DynamicJsonObject();
			(inner as dynamic).objVal = 90;
			(value as dynamic).array = new object[] { "arrayValue1", inner };
			var target = new DynamicJsonSerializer();
			const string expected = "{\"array\":[\"arrayValue1\",{\"objVal\":90}]}";
			var actual = target.Serialize(value);
			Assert.AreEqual(expected, actual);
		}
		public void SerializeTest()
		{
			var target = new DynamicJsonSerializer();
			dynamic value = new DynamicJsonObject();
			value.int1 = -19;
			value.decimal1 = 1.21M;
			value.string1 = "hi";
			dynamic obj1 = new DynamicJsonObject();
			obj1.int1 = 19;
			obj1.string1 = "hi";
			obj1.decimal1 = -1.21M;
			value.obj1 = obj1;
			const string expected = "{\"int1\":-19,\"decimal1\":1.21,\"string1\":\"hi\",\"obj1\":{\"int1\":19,\"string1\":\"hi\",\"decimal1\":-1.21}}";
			string actual = target.Serialize(value);
			Assert.AreEqual(expected, actual);
		}
		public void RoundTripTest()
		{
			dynamic val1 = new DynamicJsonObject();
			val1.int1 = -19;
			val1.decimal1 = 1.21M;
			val1.string1 = "hi";
			dynamic obj1 = new DynamicJsonObject();
			obj1.int1 = 19;
			obj1.string1 = "hi";
			obj1.decimal1 = -1.21M;
			val1.obj1 = obj1;
			var target = new DynamicJsonSerializer();
			string json = target.Serialize(val1);
			dynamic val2 = target.Deserialize(json);

			Assert.AreEqual(val2.int1, -19);
			Assert.AreEqual(val2.decimal1, 1.21M);
			Assert.AreEqual(val2.string1, "hi");
			Assert.AreEqual(val2.obj1.int1, obj1.int1);
			Assert.AreEqual(val2.obj1.string1, obj1.string1);
			Assert.AreEqual(val2.obj1.decimal1, obj1.decimal1);
		}
		public void SerializeTestSimpleObject()
		{
			var value = new DynamicJsonObject();
			var target = new DynamicJsonSerializer();
			const string expected = "{}";
			var actual = target.Serialize(value);
			Assert.AreEqual(expected, actual);
		}