示例#1
0
        public void op_ReadJson_JsonReader_whenNestedArrayBug(string json)
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new StreamWriter(stream))
                {
                    writer.Write(json);
                    writer.Flush();
                    stream.Position = 0;
                    using (var reader = new JsonReader(stream))
                    {
                        reader.Read();

                        var obj = new JsonObject();
                        obj.ReadJson(reader);

                        Assert.Equal("123", obj.Array("list").Object(0).Number("count").Value);
                        Assert.True(obj.Array("list").Boolean(1));
                    }
                }
            }
        }
示例#2
0
        public void op_ReadJson_JsonReader_whenEmpty(string json)
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new StreamWriter(stream))
                {
                    writer.Write(json);
                    writer.Flush();
                    stream.Position = 0;
                    using (var reader = new JsonReader(stream))
                    {
                        reader.Read();

                        var obj = new JsonObject();
                        obj.ReadJson(reader);

                        Assert.Empty(obj);
                    }
                }
            }
        }
示例#3
0
        public void op_ReadJson_JsonReader_whenNestedArray(string json)
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new StreamWriter(stream))
                {
                    writer.Write(json);
                    writer.Flush();
                    stream.Position = 0;
                    using (var reader = new JsonReader(stream))
                    {
                        reader.Read();

                        var obj = new JsonObject();
                        obj.ReadJson(reader);

                        Assert.True(obj.Array("list").Boolean(0));
                        Assert.Equal("1", obj.Array("list").Array(1).Number(0).Value);
                        Assert.Equal("2", obj.Array("list").Array(1).Number(1).Value);
                        Assert.Equal("3", obj.Array("list").Array(1).Number(2).Value);
                        Assert.False(obj.Array("list").Boolean(2));
                        Assert.True(obj.Array("list").IsNull(3));
                        Assert.Equal("abc", obj.Array("list").String(4).Value);
                        Assert.Equal("123", obj.Array("list").Object(5).Number("count").Value);
                        Assert.Equal("456", obj.Array("list").Object(6).Number("count").Value);
                        Assert.True(obj.Array("list").Boolean(7));
                        Assert.Equal("789", obj.Array("list").Object(8).Number("count").Value);
                    }
                }
            }
        }
示例#4
0
        public void op_ReadJson_JsonReader(string json)
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new StreamWriter(stream))
                {
                    writer.Write(json);
                    writer.Flush();
                    stream.Position = 0;
                    using (var reader = new JsonReader(stream))
                    {
                        reader.Read();

                        var obj = new JsonObject();
                        obj.ReadJson(reader);

                        Assert.Equal("value", obj.String("name").Value);
                        Assert.Equal("1", obj.Array("range").Number(0).Value);
                        Assert.Equal("2", obj.Array("range").Number(1).Value);
                        Assert.Equal("3", obj.Array("range").Number(2).Value);
                        Assert.Equal("123", obj.Number("id").Value);
                        Assert.True(obj.Boolean("visible"));
                        Assert.False(obj.Boolean("enabled"));
                        Assert.Null(obj.String("check"));
                        Assert.Equal("1.23", obj.Object("child").Number("value").Value);
                    }
                }
            }
        }