예제 #1
0
        public void JsonParserConstructorTest()
        {
            ICharSource source = new StringCharSource("{\"array\":[[],false,null,2.718281828,{},\"foo\"],\"bool\":true,\"null\":null,\"number\":2.828427125,\"object\":{\"array\":[[],false,null,2.718281828,{},\"foo\"],\"bool\":true,\"null\":null,\"number\":2.828427125,\"object\":{},\"string\":\"Hello, World!\"},\"string\":\"Hello, World!\"}");
            var         target = new JsonParser_Accessor(source);

            Assert.AreEqual(source, target.CharSource);
            var root = target.ParseElement() as JsonObject;

            Assert.IsNotNull(root);
            Assert.IsNotNull(root["array"]);
            Assert.IsNotNull(root["string"]);
            Assert.AreEqual("Hello, World!", ((JsonString)root["string"]).Value);
        }
예제 #2
0
        public void ParseElementTest()
        {
            ICharSource source = new StringCharSource("{\"array\":[],\"bool\":true,\"null\":null,\"number\":2012,\"object\":{},\"string\":\"Hello, World!\"}");
            var         param0 = new PrivateObject(JsonParser.CreateJsonParser(source));
            var         target = new JsonParser_Accessor(param0);
            JsonElement actual = target.ParseElement();
            var         obj    = actual as JsonObject;

            Assert.IsNotNull(obj);
            Assert.AreEqual(6, obj.Items.Count);
            Assert.IsNotNull(obj["bool"]);
            Assert.AreEqual("Hello, World!", ((JsonString)obj["string"]).Value);

            source = new StringCharSource("[[],true,null,2012,{},\"Hello, World!\"]");
            param0 = new PrivateObject(JsonParser.CreateJsonParser(source));
            target = new JsonParser_Accessor(param0);
            actual = target.ParseElement();
            var array = actual as JsonArray;

            Assert.IsNotNull(array);
            Assert.AreEqual(6, array.Items.Count);
            Assert.IsNotNull(array[2]);
            Assert.AreEqual(2012, ((JsonNumber)array[3]).Value);
        }