Пример #1
0
 public void should_add_named_fields_to_objects()
 {
     var node = new JsonNode(NodeType.Object, new Options());
     node.NodeType.ShouldEqual(NodeType.Object);
     node.Add("field1", NodeType.Value, Metadata.Empty, x => x.Value = "oh");
     node.Add("field2", NodeType.Value, Metadata.Empty, x => x.Value = "hai");
     node.Encode().ShouldEqual("{\"field1\":\"oh\",\"field2\":\"hai\"}");
 }
Пример #2
0
 public void should_add_unamed_fields_to_arrays()
 {
     var node = new JsonNode(NodeType.Array, new Options());
     node.NodeType.ShouldEqual(NodeType.Array);
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = "oh");
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = "hai");
     node.Encode().ShouldEqual("[\"oh\",\"hai\"]");
 }
Пример #3
0
 public void should_set_array_object_value()
 {
     var node = new JsonNode(NodeType.Array, new Options()) { NodeType = NodeType.Array };
     node.Add(NodeType.Object, Metadata.Empty, x => {});
     node.Encode().ShouldEqual("[{}]");
 }
Пример #4
0
 public void should_set_array_number_value()
 {
     var node = new JsonNode(NodeType.Array, new Options()) { NodeType = NodeType.Array };
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = (decimal)1.1);
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = (float)2.2);
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = (double)3.3);
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = (sbyte)4);
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = (byte)5);
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = (short)6);
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = (ushort)7);
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = (int)8);
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = (uint)9);
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = (long)10);
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = (ulong)11);
     node.Encode().ShouldEqual("[1.1,2.2,3.3,4,5,6,7,8,9,10,11]");
 }
Пример #5
0
 public void should_fail_to_add_unamed_fields_to_objects()
 {
     var node = new JsonNode(NodeType.Object, new Options());
     node.NodeType.ShouldEqual(NodeType.Object);
     Assert.Throws<UnnamedChildrenNotSupportedException>(() =>
         node.Add(NodeType.Value, Metadata.Empty, x => x.Value = "hai"));
 }
Пример #6
0
 public void should_save_with_whitespace()
 {
     var node = new JsonNode(NodeType.Object, 
         Options.Create(x => x.Serialization(y => y.PrettyPrint())));
     node.Add("field1", NodeType.Value, Metadata.Empty, x => x.Value = "hai");
     node.Encode(UTF8Encoding.NoBOM).ShouldEqual("{\r\n  \"field1\": \"hai\"\r\n}");
 }
Пример #7
0
 public void should_set_field_string_value()
 {
     var node = new JsonNode(NodeType.Object, new Options()) { NodeType = NodeType.Object };
     node.Add("field1", NodeType.Value, Metadata.Empty, x => x.Value = "hai");
     node.Add("field2", NodeType.Value, Metadata.Empty, x => x.Value = 'y');
     node.Encode().ShouldEqual("{\"field1\":\"hai\",\"field2\":\"y\"}");
 }
Пример #8
0
 public void should_set_field_number_value()
 {
     var node = new JsonNode(NodeType.Object, new Options()) { NodeType = NodeType.Object };
     node.Add("field1", NodeType.Value, Metadata.Empty, x => x.Value = (decimal)1.1);
     node.Add("field2", NodeType.Value, Metadata.Empty, x => x.Value = (float)2.2);
     node.Add("field3", NodeType.Value, Metadata.Empty, x => x.Value = (double)3.3);
     node.Add("field4", NodeType.Value, Metadata.Empty, x => x.Value = (sbyte)4);
     node.Add("field5", NodeType.Value, Metadata.Empty, x => x.Value = (byte)5);
     node.Add("field6", NodeType.Value, Metadata.Empty, x => x.Value = (short)6);
     node.Add("field7", NodeType.Value, Metadata.Empty, x => x.Value = (ushort)7);
     node.Add("field8", NodeType.Value, Metadata.Empty, x => x.Value = (int)8);
     node.Add("field9", NodeType.Value, Metadata.Empty, x => x.Value = (uint)9);
     node.Add("field10", NodeType.Value, Metadata.Empty, x => x.Value = (long)10);
     node.Add("field11", NodeType.Value, Metadata.Empty, x => x.Value = (ulong)11);
     node.Encode().ShouldEqual("{" +
         "\"field1\":1.1," +
         "\"field2\":2.2," +
         "\"field3\":3.3," +
         "\"field4\":4," +
         "\"field5\":5," +
         "\"field6\":6," +
         "\"field7\":7," +
         "\"field8\":8," +
         "\"field9\":9," +
         "\"field10\":10," +
         "\"field11\":11" +
         "}");
 }
Пример #9
0
 public void should_set_field_bool_value()
 {
     var node = new JsonNode(NodeType.Object);
     node.NodeType = NodeType.Object;
     node.Add("field1", NodeType.Value, Metadata.Empty, x => x.Value = true);
     node.Encode().ShouldEqual("{\"field1\":true}");
 }
Пример #10
0
 public void should_set_field_array_value()
 {
     var node = new JsonNode(NodeType.Object);
     node.NodeType = NodeType.Object;
     node.Add("field1", NodeType.Array, Metadata.Empty, x => { });
     node.Encode().ShouldEqual("{\"field1\":[]}");
 }
Пример #11
0
 public void should_set_array_null_value()
 {
     var node = new JsonNode(NodeType.Array);
     node.NodeType = NodeType.Array;
     node.Add(NodeType.Value, Metadata.Empty, x => { });
     node.Encode().ShouldEqual("[null]");
 }
Пример #12
0
 public void should_set_array_bool_value()
 {
     var node = new JsonNode(NodeType.Array);
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = true);
     node.Encode().ShouldEqual("[true]");
 }
Пример #13
0
 public void should_save_with_whitespace()
 {
     var node = new JsonNode(NodeType.Object);
     node.Add("field1", NodeType.Value, Metadata.Empty, x => x.Value = "hai");
     node.Encode(UTF8Encoding.NoBOM, true).ShouldEqual("{\r\n  \"field1\": \"hai\"\r\n}");
 }
Пример #14
0
        public void should_not_be_named_if_parent_is_array()
        {
            var node = new JsonNode(NodeType.Array);
            node.Add("field1", NodeType.Value, Metadata.Empty, x => { });
            node.First().IsNamed.ShouldBeFalse();

            new JsonNode("[1]").First().IsNamed.ShouldBeFalse();
        }
Пример #15
0
 public void should_be_own_type_when_array_item(NodeType nodeType, string type)
 {
     var node = new JsonNode(NodeType.Array);
     node.Add("item", nodeType, Metadata.Empty, x => { });
     node.First().Type.ShouldEqual(type);
 }
Пример #16
0
 public void should_set_array_string_value()
 {
     var node = new JsonNode(NodeType.Array, new Options()) { NodeType = NodeType.Array };
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = "hai");
     node.Add(NodeType.Value, Metadata.Empty, x => x.Value = 'y');
     node.Encode().ShouldEqual("[\"hai\",\"y\"]");
 }
Пример #17
0
 public void should_set_field_null_value()
 {
     var node = new JsonNode(NodeType.Object, new Options()) { NodeType = NodeType.Object };
     node.Add("field1", NodeType.Value, Metadata.Empty, x => x.Value = null);
     node.Encode().ShouldEqual("{\"field1\":null}");
 }
Пример #18
0
 public void should_set_field_name()
 {
     var node = new JsonNode(NodeType.Object);
     node.Add("field2", NodeType.Value, Metadata.Empty, x => x.Value = "");
     node.Encode().ShouldEqual("{\"field2\":\"\"}");
 }
Пример #19
0
 public void should_set_field_object_value()
 {
     var node = new JsonNode(NodeType.Object, new Options()) { NodeType = NodeType.Object };
     node.Add("field1", NodeType.Object, Metadata.Empty, x => {});
     node.Encode().ShouldEqual("{\"field1\":{}}");
 }
Пример #20
0
 public void should_be_field_type_when_field(NodeType nodeType)
 {
     var node = new JsonNode(NodeType.Object);
     node.Add("field", nodeType, Metadata.Empty, x => {});
     node.GetNode("field").Type.ShouldEqual("field");
 }
Пример #21
0
        public void should_be_named_if_parent_is_object()
        {
            var node = new JsonNode(NodeType.Object);
            node.Add("field1", NodeType.Value, Metadata.Empty, x => { });
            node.First().IsNamed.ShouldBeTrue();

            new JsonNode("{\"field1\":1}").First(x => x.Name == "field1").IsNamed.ShouldBeTrue();
        }
Пример #22
0
 public void should_set_array_array_value()
 {
     var node = new JsonNode(NodeType.Array, new Options());
     node.NodeType = NodeType.Array;
     node.Add(NodeType.Array, Metadata.Empty, x => {});
     node.Encode().ShouldEqual("[[]]");
 }