public void DeserializeBlockData() { var json = "{" + "\"Description\":\"test block\"," + "\"Name\":\"testName\"," + "\"Type\":\"testType\"," + "\"Source\":\"testSource\"," + "\"IsKill\":false," + "\"IsReset\":true," + "\"MinLevel\":0," + "\"MaxLevel\":" + int.MaxValue + "," + "\"Data\":{\"value\":1234}," + "\"FragmentData\":null," + "\"Blocks\":[]" + "}"; BlockDataValue.ClearTypes(); BlockDataValue.AddType("testType", new BlockDataValue()); var b = JsonSerializer.Instance.Deserialize <BlockDataValue>(json); Assert.AreEqual("test block", b.Description); Assert.AreEqual("testname", b.Name); Assert.AreEqual("testtype", b.Type); Assert.AreEqual("testsource", b.Source); Assert.IsFalse(b.IsKill); Assert.IsTrue(b.IsReset); Assert.IsTrue(b.IsNamed); Assert.IsNotNull(b.Data); Assert.AreEqual(1, b.Data.Count); Assert.IsTrue(b.Data.ContainsKey("value")); Assert.AreEqual(b.Data["value"], 1234); Assert.AreEqual(0, b.Blocks.Length); }
public void DeserializeBlockDataWithType() { var json = "{" + "\"Description\":\"test block\"," + "\"Name\":\"testName\"," + "\"Type\":\"foo\"," + "\"Source\":\"testSource\"," + "\"IsKill\":false," + "\"IsReset\":true," + "\"MinLevel\":0," + "\"MaxLevel\":" + int.MaxValue + "," //+ "\"DataJson\":\"\"," //+ "\"DataJson\":null," + "\"FragmentType\":null," + "\"FragmentData\":null," + "\"Blocks\":[]" + "}"; BlockDataValue.ClearTypes(); BlockDataValue.AddType("foo", new BlockDataValue { Data = new Dictionary <string, object> { { "doo", 7788 } } }); var b = JsonSerializer.Instance.Deserialize <BlockDataValue>(json); Assert.AreEqual("test block", b.Description); Assert.AreEqual("testname", b.Name); Assert.AreEqual("foo", b.Type); Assert.AreEqual("testsource", b.Source); Assert.IsFalse(b.IsKill); Assert.IsTrue(b.IsReset); Assert.IsTrue(b.IsNamed); Assert.IsNotNull(b.Data); Assert.AreEqual(1, b.Data.Count); Assert.IsTrue(b.Data.ContainsKey("doo")); Assert.AreEqual(7788, b.Data["doo"]); Assert.AreEqual(0, b.Blocks.Length); }