Beispiel #1
0
        /// <summary>
        /// Creates a <see cref="JsonArray"/> containing the data readed from
        /// <paramref name="reader"/>.
        /// </summary>
        /// <param name="reader">
        /// A <see cref="IDataReader"/> object that contains the data that will be
        /// used to populate a <see cref="JsonArray"/>.
        /// </param>
        /// <returns>
        /// A <see cref="JsonArray"/> object that contains the data readed from
        /// the <paramref name="reader"/>.
        /// </returns>
        /// <remarks>
        /// Each line readed from the <paramref name="reader"/> is mapped to a
        /// <see cref="JsonObject"/> object.
        /// </remarks>
        public JsonArray CreateJsonArrayOfObject(IDataReader reader)
        {
            JsonArray json_array = new JsonArray();

            if (reader.Read())
            {
                IJsonDataField[] json_data_fields = GetJsonDataFields(reader);

                int length = json_data_fields.Length;
                do
                {
                    JsonObject json_object = new JsonObject();
                    json_array.Add(json_object);
                    for (int i = 0, j = length; i < j; i++)
                    {
                        IJsonDataField        json_data_field    = json_data_fields[i];
                        JsonObject.JsonMember json_object_member =
                            new JsonObject.JsonMember(json_data_field.Name,
                                                      json_data_field.GetValue(reader));
                        json_object.Add(json_object_member);
                    }
                } while (reader.Read());
            }
            return(json_array);
        }
Beispiel #2
0
        public void ShouldReturnObjectMembers()
        {
            var obj    = new JsonObject();
            var member = new JsonObject.JsonMember("name", "value");

            obj.Add(member);
            obj.Add(member);

            var members = obj.Value;

            Assert.That(members.Length, Is.EqualTo(2));
            Assert.That(members[0], Is.EqualTo(member));
        }
Beispiel #3
0
        public void ShouldSerializeAsJsonObject()
        {
            var obj    = new JsonObject();
            var member = new JsonObject.JsonMember("name", new JsonString("value"));

            Assert.That(obj.AsJson(), Is.EqualTo("{}"));

            obj.Add(member);
            Assert.That(obj.AsJson(),
                        Is.EqualTo("{\"name\":\"value\"}"));

            obj.Add(member);
            Assert.That(obj.AsJson(),
                        Is.EqualTo("{\"name\":\"value\",\"name\":\"value\"}"));
        }
Beispiel #4
0
        public void ShouldCountTheNumberOfMembers()
        {
            var obj = new JsonObject();

            Assert.That(obj.Count, Is.EqualTo(0));

            obj = new JsonObject(10);
            Assert.That(obj.Count, Is.EqualTo(0));

            var member = new JsonObject.JsonMember("name", new JsonString("value"));

            obj = new JsonObject(new[] { member });
            Assert.That(obj.Count, Is.EqualTo(1));

            obj.Add(member);
            Assert.That(obj.Count, Is.EqualTo(2));
        }