|
|
@@ -7,12 +7,26 @@ import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
|
|
|
import org.junit.Test;
|
|
|
+import org.leumasjaffe.json.schema.tester.EqualsTester;
|
|
|
import org.leumasjaffe.json.schema.tester.NumberTester;
|
|
|
|
|
|
+import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.node.DoubleNode;
|
|
|
import com.fasterxml.jackson.databind.node.NullNode;
|
|
|
|
|
|
public class SchemaTest {
|
|
|
+ private Schema getConstSchema(JsonNode json) {
|
|
|
+ Map<String, Tester> tests = new HashMap<>();
|
|
|
+ tests.put("const", new EqualsTester(json));
|
|
|
+ return new Schema(tests);
|
|
|
+ }
|
|
|
+
|
|
|
+ private Schema getEnumSchema(JsonNode... jsons) {
|
|
|
+ Map<String, Tester> tests = new HashMap<>();
|
|
|
+ tests.put("enum", new EqualsTester(jsons));
|
|
|
+ return new Schema(tests);
|
|
|
+ }
|
|
|
+
|
|
|
private Schema getNumberSchema() {
|
|
|
Map<String, Tester> tests = new HashMap<>();
|
|
|
tests.put("minimum", new NumberTester(d -> d >= 0.0));
|
|
|
@@ -54,4 +68,16 @@ public class SchemaTest {
|
|
|
assertFalse(schema.accepts(new DoubleNode(1.1)));
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ public void testHandlesUniversalChecks() {
|
|
|
+ assertTrue(getConstSchema(new DoubleNode(0.0)).accepts(new DoubleNode(0.0)));
|
|
|
+ assertFalse(getConstSchema(new DoubleNode(0.0)).accepts(new DoubleNode(0.5)));
|
|
|
+ assertTrue(getEnumSchema(new DoubleNode(0.0), new DoubleNode(1.0))
|
|
|
+ .accepts(new DoubleNode(0.0)));
|
|
|
+ assertTrue(getEnumSchema(new DoubleNode(0.0), new DoubleNode(1.0))
|
|
|
+ .accepts(new DoubleNode(1.0)));
|
|
|
+ assertFalse(getEnumSchema(new DoubleNode(0.0), new DoubleNode(1.0))
|
|
|
+ .accepts(new DoubleNode(0.5)));
|
|
|
+ }
|
|
|
+
|
|
|
}
|