예제 #1
0
        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();
        }
예제 #2
0
        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();
        }
예제 #3
0
        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();
        }