public void SerializeTestSimpleObject() { var value = new DynamicJsonObject(); var target = new DynamicJsonSerializer(); const string expected = "{}"; var actual = target.Serialize(value); Assert.AreEqual(expected, actual); }
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); }