public void AJson_GeneralParsing_FileParsing_CanParseComplexFile() { string jsonText = ResourceFetcher.GetText("_TestData/Complex.json"); var json = JsonHelper.ParseText(jsonText); Assert.IsNotNull(json); Assert.IsFalse(json.HasErrors, "Json parse errors:\n" + String.Join("\n\t", json.Errors)); var parsedDoc = json.Data as JsonDocument; Assert.AreEqual(1, parsedDoc.Count); var glossEntry = parsedDoc.FindValueByKey("GlossEntry"); Assert.IsNotNull(glossEntry); Assert.AreEqual(7, ((JsonDocument)glossEntry).Count); var paraEntry = parsedDoc.FindValueByKey("para"); Assert.IsNotNull(glossEntry); Assert.AreEqual("A meta-markup language, used to create markup languages such as DocBook.", paraEntry.StringValue); json.AssertSourceIsValid(); }
public void AJson_GeneralParsing_FileParsing_CanParseBasicFile() { string jsonText = ResourceFetcher.GetText("_TestData/Basic.json"); Json json = JsonHelper.ParseText(jsonText); Assert.IsNotNull(json); Assert.IsFalse(json.HasErrors, "Json parse errors:\n" + String.Join("\n\t", json.Errors)); JsonDocument root = json.Data as JsonDocument; Assert.IsNotNull(root); Assert.AreEqual(1, root.Count); JsonDocument first = root.ValueAt(0) as JsonDocument; Assert.IsNotNull(first); Assert.AreEqual(1, first.Count); Assert.AreEqual("OuterThing", root.KeyAt(0)); JsonArray arr = first.ValueAt(0) as JsonArray; Assert.IsNotNull(arr); Assert.AreEqual(2, arr.Count); Assert.AreEqual("Item 1", arr[0]); Assert.AreEqual("Item 2", arr[1]); json.AssertSourceIsValid(); }
public void AJson_GeneralParsing_FileParsing_CanParseLargeFile() { // Currently 771,347 characters - 81,312 words - 38,306 lines string jsonText = ResourceFetcher.GetText("_TestData/Large.json"); Json json = JsonHelper.ParseText(jsonText); Assert.IsNotNull(json); Assert.IsFalse(json.HasErrors, "Json parse errors:\n" + String.Join("\n\t", json.Errors)); JsonArray arr = json.Data as JsonArray; Assert.IsNotNull(arr); Assert.AreEqual(6384, arr.Count); json.AssertSourceIsValid(); }