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")); }
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\":{}}")); }
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('}'); } }