Ejemplo n.º 1
0
        public void ToString_Always_ReturnsNull()
        {
            // Arrange
            IJsonObject json = JsonObject.OfNull();

            // Act
            string r = json.ToString();

            // Assert
            Assert.That(r, Is.EqualTo("null"));
        }
        public void ToString_ReturnsLiteral()
        {
            // Arrange
            IJsonObject json0 = JsonObject.Of(true);
            IJsonObject json1 = JsonObject.Of(false);

            // Act
            string r0 = json0.ToString();
            string r1 = json1.ToString();

            // Assert
            Assert.That(r0, Is.EqualTo("true"));
            Assert.That(r1, Is.EqualTo("false"));
        }
Ejemplo n.º 3
0
        public void ToString_ReturnsNumberLiteral()
        {
            // Arrange
            IJsonObject json0 = JsonObject.Of(0.5);
            IJsonObject json1 = JsonObject.Of(1.0);

            // Act
            string r0 = json0.ToString();
            string r1 = json1.ToString();

            // Assert
            Assert.That(r0, Is.EqualTo("0.5"));
            Assert.That(r1, Is.EqualTo("1"));
        }
        public void ToString_ReturnsStringLiteral()
        {
            // Arrange
            IJsonObject json0 = JsonObject.Of("");
            IJsonObject json1 = JsonObject.Of("abc");

            // Act
            string r0 = json0.ToString();
            string r1 = json1.ToString();

            // Assert
            Assert.That(r0, Is.EqualTo("\"\""));
            Assert.That(r1, Is.EqualTo("\"abc\""));
        }
        public void ToString_ReturnsStringLiteral()
        {
            // Arrange
            IJsonObject json0 = JsonObject.Of(new string[0]);
            IJsonObject json1 = JsonObject.Of(1, 2, 3);

            // Act
            string r0 = json0.ToString();
            string r1 = json1.ToString();

            // Assert
            Assert.That(r0, Is.EqualTo("[]"));
            Assert.That(r1, Is.EqualTo("[1,2,3]"));
        }
        public void ToString_ReturnsStringLiteral()
        {
            // Arrange
            IJsonObject json0 = JsonObject.FromString("{}");
            IJsonObject json1 = JsonObject.FromString("{a:'abc',b:123,c:true,d:null,e:[],f:{}}");

            // Act
            string r0 = json0.ToString();
            string r1 = json1.ToString();

            // Assert
            Assert.That(r0, Is.EqualTo("{}"));
            Assert.That(r1, Is.EqualTo("{\"a\":\"abc\",\"b\":123,\"c\":true,\"d\":null,\"e\":[],\"f\":{}}"));
        }
Ejemplo n.º 7
0
        private static void FormatHelper(IJsonObject json,
                                         IJsonFormatOptions opts,
                                         StringBuilder buff,
                                         int depth)
        {
            if (json.Type != JsonObjectType.Array && !json.TypeIs(JsonObjectType.Object))
            {
                buff.Append(json.ToString());
                return;
            }

            if (json.Type == JsonObjectType.Array)
            {
                buff.Append('[');
                bool empty = true;
                foreach (IJsonObject item in json.AsArray())
                {
                    if (empty)
                    {
                        empty = false;
                    }
                    else
                    {
                        buff.Append(',');
                    }
                    FormatHelperNewLine(opts, buff);
                    FormatHelperIndent(opts, buff, depth + 1);
                    FormatHelper(item, opts, buff, depth + 1);
                }
                if (!empty)
                {
                    FormatHelperNewLine(opts, buff);
                    FormatHelperIndent(opts, buff, depth);
                }
                buff.Append(']');
            }
            else if (json.Type == JsonObjectType.Object)
            {
                buff.Append('{');
                bool empty = true;
                foreach (IJsonProperty p in json.Properties)
                {
                    if (empty)
                    {
                        empty = false;
                    }
                    else
                    {
                        buff.Append(',');
                    }
                    FormatHelperNewLine(opts, buff);
                    FormatHelperIndent(opts, buff, depth + 1);
                    buff.Append(Quotes(p.Name)).Append(' ').Append(':').Append(' ');
                    FormatHelper(p.Value, opts, buff, depth + 1);
                }
                if (!empty)
                {
                    FormatHelperNewLine(opts, buff);
                    FormatHelperIndent(opts, buff, depth);
                }
                buff.Append('}');
            }
        }