private void assertDictParseSucc(string json, JsonDict expected) { JsonDict t = null; Assert.DoesNotThrow(() => { t = JsonDict.Parse(json); }); Assert.IsTrue(expected.Equals(t)); Assert.IsTrue(JsonDict.TryParse(json, out t)); Assert.IsTrue(expected.Equals(t)); }
public void TestJsonComplexAndToString() { var constructed = new JsonDict { { "thingy", 47 }, { "stuff", 47.1 }, { "bla", null }, { "sub", new JsonDict { { "wah", "gah" }, { "em", new JsonList { } }, { "fu", new JsonList { 1, null, new JsonDict { { "wow", new JsonDict { } } }, "2" } } } }, { "more", true } }; JsonValue parsed = null; Assert.DoesNotThrow(() => { parsed = JsonValue.Parse("{ \"bla\": null, \"stuff\": 47.1, \"more\": true, \"sub\": { \"em\": [], \"fu\": [1, null, { \"wow\": {} }, \"2\"], \"wah\": \"gah\" }, \"thingy\": 47 }"); }); Assert.IsNotNull(parsed); JsonValue reparsed = null; Assert.DoesNotThrow(() => { reparsed = JsonValue.Parse(parsed.ToString()); }); Assert.IsNotNull(reparsed); JsonValue reparsed2 = null; Assert.DoesNotThrow(() => { reparsed2 = JsonValue.Parse(constructed.ToString()); }); Assert.IsNotNull(reparsed2); Assert.IsTrue(parsed.Equals(constructed)); Assert.IsTrue(parsed.Equals(reparsed)); Assert.IsTrue(constructed.Equals(reparsed2)); }