diff --git a/core/src/main/java/org/everit/json/schema/ConstSchema.java b/core/src/main/java/org/everit/json/schema/ConstSchema.java index 0496e73e5..8fb87f9e2 100644 --- a/core/src/main/java/org/everit/json/schema/ConstSchema.java +++ b/core/src/main/java/org/everit/json/schema/ConstSchema.java @@ -2,6 +2,8 @@ import static org.everit.json.schema.EnumSchema.toJavaValue; +import org.everit.json.schema.internal.JSONPrinter; + public class ConstSchema extends Schema { public static class ConstSchemaBuilder extends Schema.Builder { @@ -29,6 +31,11 @@ protected ConstSchema(ConstSchemaBuilder builder) { this.permittedValue = toJavaValue(builder.permittedValue); } + @Override void describePropertiesTo(JSONPrinter writer) { + writer.key("const"); + writer.value(this.permittedValue); + } + @Override void accept(Visitor visitor) { visitor.visitConstSchema(this); } diff --git a/core/src/test/java/org/everit/json/schema/ConstSchemaTest.java b/core/src/test/java/org/everit/json/schema/ConstSchemaTest.java index a157ad954..54a0ecce7 100644 --- a/core/src/test/java/org/everit/json/schema/ConstSchemaTest.java +++ b/core/src/test/java/org/everit/json/schema/ConstSchemaTest.java @@ -1,6 +1,7 @@ package org.everit.json.schema; import static org.everit.json.schema.TestSupport.loadAsV6; +import static org.junit.Assert.assertEquals; import org.json.JSONArray; import org.json.JSONObject; @@ -56,6 +57,27 @@ public void successWithObject() { testSuccess(new JSONObject("{\"a\":\"b\", \"b\":\"a\"}")); } + @Test + public void toStringTest() { + ConstSchema subject = ConstSchema.builder().permittedValue(true).build(); + String actual = subject.toString(); + assertEquals("{\"const\":true}", actual); + } + + @Test + public void toStringWithNull() { + ConstSchema subject = ConstSchema.builder().permittedValue(null).build(); + String actual = subject.toString(); + assertEquals("{\"const\":null}", actual); + } + + @Test + public void toStringWithObject() { + ConstSchema subject = ConstSchema.builder().permittedValue(new JSONObject("{\"a\":2}")).build(); + String actual = subject.toString(); + assertEquals("{\"const\":{\"a\":2}}", actual); + } + @Test public void failureWithObject() { testFailure(new JSONObject("{}"), new JSONObject("{\"a\":null}"));