|
|
@@ -1,6 +1,9 @@
|
|
|
package org.leumasjaffe.json.schema.factory;
|
|
|
|
|
|
-import static org.junit.Assert.*;
|
|
|
+import static org.junit.Assert.assertThat;
|
|
|
+import static org.junit.Assert.fail;
|
|
|
+import static org.leumasjaffe.json.schema.matcher.Accepts.accepts;
|
|
|
+import static org.leumasjaffe.json.schema.matcher.Not.not;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
import java.util.Map;
|
|
|
@@ -52,174 +55,174 @@ public class SchemaV6FactoryTest {
|
|
|
@Test
|
|
|
public void testIDSchema() {
|
|
|
Tester test = fromSingleElement("{ \"$id\": \"test.json\" }");
|
|
|
- assertTrue(test.accepts(NullNode.getInstance()));
|
|
|
+ assertThat(test, accepts(NullNode.getInstance()));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testSchemaSchema() {
|
|
|
Tester test = fromSingleElement("{ \"$schema\": \"http://json-schema.org/draft-06/schema#\" }");
|
|
|
- assertTrue(test.accepts(NullNode.getInstance()));
|
|
|
+ assertThat(test, accepts(NullNode.getInstance()));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testTitleSchema() {
|
|
|
Tester test = fromSingleElement("{ \"title\": \"This is a schema\" }");
|
|
|
- assertTrue(test.accepts(NullNode.getInstance()));
|
|
|
+ assertThat(test, accepts(NullNode.getInstance()));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testDescriptionSchema() {
|
|
|
Tester test = fromSingleElement("{ \"description\": \"This is a schema\" }");
|
|
|
- assertTrue(test.accepts(NullNode.getInstance()));
|
|
|
+ assertThat(test, accepts(NullNode.getInstance()));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testDefaultSchema() {
|
|
|
Tester test = fromSingleElement("{ \"default\": {} }");
|
|
|
- assertTrue(test.accepts(NullNode.getInstance()));
|
|
|
+ assertThat(test, accepts(NullNode.getInstance()));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testExamplesSchema() {
|
|
|
Tester test = fromSingleElement("{ \"examples\": [] }");
|
|
|
- assertTrue(test.accepts(NullNode.getInstance()));
|
|
|
+ assertThat(test, accepts(NullNode.getInstance()));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testMultipleOfSchema() {
|
|
|
Tester test = fromSingleElement("{ \"multipleOf\": 1.5 }");
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertTrue(test.accepts(new DoubleNode(1.5)));
|
|
|
- assertTrue(test.accepts(new DoubleNode(3.0)));
|
|
|
- assertTrue(test.accepts(new IntNode(3)));
|
|
|
- assertFalse(test.accepts(new DoubleNode(2.5)));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, accepts(new DoubleNode(1.5)));
|
|
|
+ assertThat(test, accepts(new DoubleNode(3.0)));
|
|
|
+ assertThat(test, accepts(new IntNode(3)));
|
|
|
+ assertThat(test, not(accepts(new DoubleNode(2.5))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testMaximumSchema() {
|
|
|
Tester test = fromSingleElement("{ \"maximum\": 2.5 }");
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertTrue(test.accepts(new DoubleNode(1.5)));
|
|
|
- assertFalse(test.accepts(new DoubleNode(3.0)));
|
|
|
- assertTrue(test.accepts(new IntNode(2)));
|
|
|
- assertFalse(test.accepts(new IntNode(3)));
|
|
|
- assertTrue(test.accepts(new DoubleNode(2.5)));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, accepts(new DoubleNode(1.5)));
|
|
|
+ assertThat(test, not(accepts(new DoubleNode(3.0))));
|
|
|
+ assertThat(test, accepts(new IntNode(2)));
|
|
|
+ assertThat(test, not(accepts(new IntNode(3))));
|
|
|
+ assertThat(test, accepts(new DoubleNode(2.5)));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testExclusiveMaximumSchema() {
|
|
|
Tester test = fromSingleElement("{ \"exclusiveMaximum\": 2.5 }");
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertTrue(test.accepts(new DoubleNode(1.5)));
|
|
|
- assertFalse(test.accepts(new DoubleNode(3.0)));
|
|
|
- assertTrue(test.accepts(new IntNode(2)));
|
|
|
- assertFalse(test.accepts(new IntNode(3)));
|
|
|
- assertFalse(test.accepts(new DoubleNode(2.5)));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, accepts(new DoubleNode(1.5)));
|
|
|
+ assertThat(test, not(accepts(new DoubleNode(3.0))));
|
|
|
+ assertThat(test, accepts(new IntNode(2)));
|
|
|
+ assertThat(test, not(accepts(new IntNode(3))));
|
|
|
+ assertThat(test, not(accepts(new DoubleNode(2.5))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testMinimumSchema() {
|
|
|
Tester test = fromSingleElement("{ \"minimum\": 2.5 }");
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertFalse(test.accepts(new DoubleNode(1.5)));
|
|
|
- assertTrue(test.accepts(new DoubleNode(3.0)));
|
|
|
- assertFalse(test.accepts(new IntNode(2)));
|
|
|
- assertTrue(test.accepts(new IntNode(3)));
|
|
|
- assertTrue(test.accepts(new DoubleNode(2.5)));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, not(accepts(new DoubleNode(1.5))));
|
|
|
+ assertThat(test, accepts(new DoubleNode(3.0)));
|
|
|
+ assertThat(test, not(accepts(new IntNode(2))));
|
|
|
+ assertThat(test, accepts(new IntNode(3)));
|
|
|
+ assertThat(test, accepts(new DoubleNode(2.5)));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testExclusiveMinimumSchema() {
|
|
|
Tester test = fromSingleElement("{ \"exclusiveMinimum\": 2.5 }");
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertFalse(test.accepts(new DoubleNode(1.5)));
|
|
|
- assertTrue(test.accepts(new DoubleNode(3.0)));
|
|
|
- assertFalse(test.accepts(new IntNode(2)));
|
|
|
- assertTrue(test.accepts(new IntNode(3)));
|
|
|
- assertFalse(test.accepts(new DoubleNode(2.5)));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, not(accepts(new DoubleNode(1.5))));
|
|
|
+ assertThat(test, accepts(new DoubleNode(3.0)));
|
|
|
+ assertThat(test, not(accepts(new IntNode(2))));
|
|
|
+ assertThat(test, accepts(new IntNode(3)));
|
|
|
+ assertThat(test, not(accepts(new DoubleNode(2.5))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testMaxLengthSchema() {
|
|
|
Tester test = fromSingleElement("{ \"maxLength\": 1 }");
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertFalse(test.accepts(new DoubleNode(1.5)));
|
|
|
- assertTrue(test.accepts(new TextNode("")));
|
|
|
- assertFalse(test.accepts(new TextNode(" ")));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, not(accepts(new DoubleNode(1.5))));
|
|
|
+ assertThat(test, accepts(new TextNode("")));
|
|
|
+ assertThat(test, not(accepts(new TextNode(" "))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testMinLengthSchema() {
|
|
|
Tester test = fromSingleElement("{ \"minLength\": 2 }");
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertFalse(test.accepts(new DoubleNode(1.5)));
|
|
|
- assertFalse(test.accepts(new TextNode("")));
|
|
|
- assertTrue(test.accepts(new TextNode(" ")));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, not(accepts(new DoubleNode(1.5))));
|
|
|
+ assertThat(test, not(accepts(new TextNode(""))));
|
|
|
+ assertThat(test, accepts(new TextNode(" ")));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testPatternSchema() {
|
|
|
Tester test = fromSingleElement("{ \"pattern\": \"^\\\\s.*\" }");
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertFalse(test.accepts(new TextNode("S ")));
|
|
|
- assertTrue(test.accepts(new TextNode(" S")));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, not(accepts(new TextNode("S "))));
|
|
|
+ assertThat(test, accepts(new TextNode(" S")));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testAdditionalItemsSchema() {
|
|
|
Tester test = fromSingleElement("{ \"additionalItems\": false }");
|
|
|
final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
|
|
|
- assertTrue(test.accepts(node));
|
|
|
+ assertThat(test, accepts(node));
|
|
|
node.add(false);
|
|
|
- assertFalse(test.accepts(node));
|
|
|
+ assertThat(test, not(accepts(node)));
|
|
|
node.add(false);
|
|
|
- assertFalse(test.accepts(node));
|
|
|
+ assertThat(test, not(accepts(node)));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testItemsSchema() {
|
|
|
Tester test = fromSingleElement("{ \"items\": [ true, false ] }");
|
|
|
final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
|
|
|
- assertTrue(test.accepts(node));
|
|
|
+ assertThat(test, accepts(node));
|
|
|
node.add(false);
|
|
|
- assertTrue(test.accepts(node));
|
|
|
+ assertThat(test, accepts(node));
|
|
|
node.add(false);
|
|
|
- assertFalse(test.accepts(node));
|
|
|
+ assertThat(test, not(accepts(node)));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testItemsSchemaSingle() {
|
|
|
Tester test = fromSingleElement("{ \"items\": true }");
|
|
|
final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
|
|
|
- assertTrue(test.accepts(node));
|
|
|
+ assertThat(test, accepts(node));
|
|
|
node.add(false);
|
|
|
- assertTrue(test.accepts(node));
|
|
|
+ assertThat(test, accepts(node));
|
|
|
node.add(false);
|
|
|
- assertTrue(test.accepts(node));
|
|
|
+ assertThat(test, accepts(node));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testMaxItemsSchema() {
|
|
|
Tester test = fromSingleElement("{ \"maxItems\": 1 }");
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertFalse(test.accepts(new DoubleNode(1.5)));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, not(accepts(new DoubleNode(1.5))));
|
|
|
final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
|
|
|
- assertTrue(test.accepts(node));
|
|
|
+ assertThat(test, accepts(node));
|
|
|
node.add(false);
|
|
|
node.add(false);
|
|
|
- assertFalse(test.accepts(node));
|
|
|
+ assertThat(test, not(accepts(node)));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testMinItemsSchema() {
|
|
|
Tester test = fromSingleElement("{ \"minItems\": 2 }");
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertFalse(test.accepts(new DoubleNode(1.5)));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, not(accepts(new DoubleNode(1.5))));
|
|
|
final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
|
|
|
- assertFalse(test.accepts(node));
|
|
|
+ assertThat(test, not(accepts(node)));
|
|
|
node.add(false);
|
|
|
node.add(false);
|
|
|
- assertTrue(test.accepts(node));
|
|
|
+ assertThat(test, accepts(node));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
@@ -228,11 +231,11 @@ public class SchemaV6FactoryTest {
|
|
|
Tester any = fromSingleElement("{ \"uniqueItems\": false }");
|
|
|
final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
|
|
|
node.add(false);
|
|
|
- assertTrue(uniq.accepts(node));
|
|
|
- assertTrue(any.accepts(node));
|
|
|
+ assertThat(uniq, accepts(node));
|
|
|
+ assertThat(any, accepts(node));
|
|
|
node.add(false);
|
|
|
- assertFalse(uniq.accepts(node));
|
|
|
- assertTrue(any.accepts(node));
|
|
|
+ assertThat(uniq, not(accepts(node)));
|
|
|
+ assertThat(any, accepts(node));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
@@ -240,34 +243,34 @@ public class SchemaV6FactoryTest {
|
|
|
Tester test = fromSingleElement("{ \"contains\": { } }");
|
|
|
final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
|
|
|
|
|
|
- assertFalse(test.accepts(node));
|
|
|
+ assertThat(test, not(accepts(node)));
|
|
|
|
|
|
node.add(new ObjectNode(JsonNodeFactory.instance));
|
|
|
- assertTrue(test.accepts(node));
|
|
|
+ assertThat(test, accepts(node));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testMaxPropertiesSchema() {
|
|
|
Tester test = fromSingleElement("{ \"maxProperties\": 1 }");
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertFalse(test.accepts(new DoubleNode(1.5)));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, not(accepts(new DoubleNode(1.5))));
|
|
|
final ObjectNode node = new ObjectNode(JsonNodeFactory.instance);
|
|
|
- assertTrue(test.accepts(node));
|
|
|
+ assertThat(test, accepts(node));
|
|
|
node.set("A", BooleanNode.FALSE);
|
|
|
node.set("B", BooleanNode.FALSE);
|
|
|
- assertFalse(test.accepts(node));
|
|
|
+ assertThat(test, not(accepts(node)));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testMinPropertiesSchema() {
|
|
|
Tester test = fromSingleElement("{ \"minProperties\": 2 }");
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertFalse(test.accepts(new DoubleNode(1.5)));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, not(accepts(new DoubleNode(1.5))));
|
|
|
final ObjectNode node = new ObjectNode(JsonNodeFactory.instance);
|
|
|
- assertFalse(test.accepts(node));
|
|
|
+ assertThat(test, not(accepts(node)));
|
|
|
node.set("A", BooleanNode.FALSE);
|
|
|
node.set("B", BooleanNode.FALSE);
|
|
|
- assertTrue(test.accepts(node));
|
|
|
+ assertThat(test, accepts(node));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
@@ -276,17 +279,17 @@ public class SchemaV6FactoryTest {
|
|
|
final ObjectNode node = new ObjectNode(JsonNodeFactory.instance);
|
|
|
node.set("A", BooleanNode.FALSE);
|
|
|
node.set("C", BooleanNode.FALSE);
|
|
|
- assertFalse(test.accepts(node));
|
|
|
+ assertThat(test, not(accepts(node)));
|
|
|
node.set("B", BooleanNode.FALSE);
|
|
|
- assertTrue(test.accepts(node));
|
|
|
+ assertThat(test, accepts(node));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testAdditionalPropertiesSchema() {
|
|
|
Tester test = fromSingleElement("{ \"additionalProperties\": false }");
|
|
|
- assertTrue(test.accepts(readTree("{ }")));
|
|
|
- assertFalse(test.accepts(readTree("{ \"A\": {} }")));
|
|
|
- assertFalse(test.accepts(readTree("{ \"B\": {} }")));
|
|
|
+ assertThat(test, accepts(readTree("{ }")));
|
|
|
+ assertThat(test, not(accepts(readTree("{ \"A\": {} }"))));
|
|
|
+ assertThat(test, not(accepts(readTree("{ \"B\": {} }"))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
@@ -297,27 +300,27 @@ public class SchemaV6FactoryTest {
|
|
|
"{ \"type\": \"boolean\" }" +
|
|
|
"]" +
|
|
|
"}"));
|
|
|
- assertFalse(defArray.accepts(NullNode.instance));
|
|
|
- assertFalse(defArray.accepts(new ObjectNode(JsonNodeFactory.instance)));
|
|
|
- assertTrue(defArray.accepts(BooleanNode.TRUE));
|
|
|
+ assertThat(defArray, not(accepts(NullNode.instance)));
|
|
|
+ assertThat(defArray, not(accepts(new ObjectNode(JsonNodeFactory.instance))));
|
|
|
+ assertThat(defArray, accepts(BooleanNode.TRUE));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testPropertiesSchema() {
|
|
|
Tester test = fromSingleElement("{ \"properties\": { \"A\": true, \"B\": false } }");
|
|
|
- assertTrue(test.accepts(readTree("{ }")));
|
|
|
- assertTrue(test.accepts(readTree("{ \"A\": {} }")));
|
|
|
- assertFalse(test.accepts(readTree("{ \"B\": {} }")));
|
|
|
- assertFalse(test.accepts(readTree("{ \"A\": {}, \"B\": {} }")));
|
|
|
+ assertThat(test, accepts(readTree("{ }")));
|
|
|
+ assertThat(test, accepts(readTree("{ \"A\": {} }")));
|
|
|
+ assertThat(test, not(accepts(readTree("{ \"B\": {} }"))));
|
|
|
+ assertThat(test, not(accepts(readTree("{ \"A\": {}, \"B\": {} }"))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testPatternPropertiesSchema() {
|
|
|
Tester test = fromSingleElement("{ \"patternProperties\": { \"A\": true, \"A.\": false } }");
|
|
|
- assertTrue(test.accepts(readTree("{ }")));
|
|
|
- assertTrue(test.accepts(readTree("{ \"A\": {} }")));
|
|
|
- assertFalse(test.accepts(readTree("{ \"A.\": {} }")));
|
|
|
- assertFalse(test.accepts(readTree("{ \"A_\": {} }")));
|
|
|
+ assertThat(test, accepts(readTree("{ }")));
|
|
|
+ assertThat(test, accepts(readTree("{ \"A\": {} }")));
|
|
|
+ assertThat(test, not(accepts(readTree("{ \"A.\": {} }"))));
|
|
|
+ assertThat(test, not(accepts(readTree("{ \"A_\": {} }"))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
@@ -327,18 +330,18 @@ public class SchemaV6FactoryTest {
|
|
|
"\"A\": [ \"B\", \"C\" ]" +
|
|
|
"}" +
|
|
|
"}");
|
|
|
- assertTrue(arrayDep.accepts(readTree("{ \"B\": true }")));
|
|
|
- assertFalse(arrayDep.accepts(readTree("{ \"A\": true, \"B\": true }")));
|
|
|
- assertTrue(arrayDep.accepts(readTree("{ \"A\": true, \"B\": true, \"C\": true }")));
|
|
|
+ assertThat(arrayDep, accepts(readTree("{ \"B\": true }")));
|
|
|
+ assertThat(arrayDep, not(accepts(readTree("{ \"A\": true, \"B\": true }"))));
|
|
|
+ assertThat(arrayDep, accepts(readTree("{ \"A\": true, \"B\": true, \"C\": true }")));
|
|
|
|
|
|
Tester schemaDep = fromSingleElement("{" +
|
|
|
"\"dependencies\": {" +
|
|
|
"\"D\": { \"properties\": { \"B\": { \"type\": \"integer\" } } }" +
|
|
|
"}" +
|
|
|
"}");
|
|
|
- assertTrue(schemaDep.accepts(readTree("{ \"B\": true }")));
|
|
|
- assertFalse(schemaDep.accepts(readTree("{ \"D\": true, \"B\": true }")));
|
|
|
- assertTrue(schemaDep.accepts(readTree("{ \"D\": true, \"B\": 5 }")));
|
|
|
+ assertThat(schemaDep, accepts(readTree("{ \"B\": true }")));
|
|
|
+ assertThat(schemaDep, not(accepts(readTree("{ \"D\": true, \"B\": true }"))));
|
|
|
+ assertThat(schemaDep, accepts(readTree("{ \"D\": true, \"B\": 5 }")));
|
|
|
|
|
|
Tester bothDep = fromSingleElement("{" +
|
|
|
"\"dependencies\": {" +
|
|
|
@@ -346,46 +349,46 @@ public class SchemaV6FactoryTest {
|
|
|
"\"D\": { \"properties\": { \"B\": { \"type\": \"integer\" } } }" +
|
|
|
"}" +
|
|
|
"}");
|
|
|
- assertTrue(bothDep.accepts(readTree("{ \"A\": true, \"B\": true, \"C\": true }")));
|
|
|
- assertTrue(bothDep.accepts(readTree("{ \"D\": true, \"B\": 5 }")));
|
|
|
- assertFalse(bothDep.accepts(readTree("{ \"A\": true, \"D\": true, \"B\": true, \"C\": true }")));
|
|
|
- assertTrue(bothDep.accepts(readTree("{ \"A\": true, \"D\": true, \"B\": 5, \"C\": true }")));
|
|
|
+ assertThat(bothDep, accepts(readTree("{ \"A\": true, \"B\": true, \"C\": true }")));
|
|
|
+ assertThat(bothDep, accepts(readTree("{ \"D\": true, \"B\": 5 }")));
|
|
|
+ assertThat(bothDep, not(accepts(readTree("{ \"A\": true, \"D\": true, \"B\": true, \"C\": true }"))));
|
|
|
+ assertThat(bothDep, accepts(readTree("{ \"A\": true, \"D\": true, \"B\": 5, \"C\": true }")));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testPropertyNamesSchema() {
|
|
|
Tester test = fromSingleElement("{ \"propertyNames\": false }");
|
|
|
- assertTrue(test.accepts(readTree("{ }")));
|
|
|
- assertFalse(test.accepts(readTree("{ \"A\": {} }")));
|
|
|
+ assertThat(test, accepts(readTree("{ }")));
|
|
|
+ assertThat(test, not(accepts(readTree("{ \"A\": {} }"))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testConstSchema() {
|
|
|
Tester test = fromSingleElement("{ \"const\": { \"nice\": \"meme\" } }");
|
|
|
JsonNode matching = readTree("{ \"nice\": \"meme\" }");
|
|
|
- assertTrue(test.accepts(matching));
|
|
|
+ assertThat(test, accepts(matching));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testEnumSchema() {
|
|
|
Tester test = fromSingleElement("{ \"enum\": [ \"A\", \"B\", \"D\" ] }");
|
|
|
- assertTrue(test.accepts(new TextNode("A")));
|
|
|
- assertFalse(test.accepts(new TextNode("a")));
|
|
|
- assertTrue(test.accepts(new TextNode("B")));
|
|
|
- assertFalse(test.accepts(new TextNode("AB")));
|
|
|
- assertFalse(test.accepts(new TextNode("C")));
|
|
|
- assertTrue(test.accepts(new TextNode("D")));
|
|
|
+ assertThat(test, accepts(new TextNode("A")));
|
|
|
+ assertThat(test, not(accepts(new TextNode("a"))));
|
|
|
+ assertThat(test, accepts(new TextNode("B")));
|
|
|
+ assertThat(test, not(accepts(new TextNode("AB"))));
|
|
|
+ assertThat(test, not(accepts(new TextNode("C"))));
|
|
|
+ assertThat(test, accepts(new TextNode("D")));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testTypeSchema() {
|
|
|
Tester multi = fromSingleElement("{ \"type\": [ \"boolean\", \"number\" ] }");
|
|
|
- assertTrue(multi.accepts(BooleanNode.TRUE));
|
|
|
- assertTrue(multi.accepts(new DoubleNode(1.5)));
|
|
|
- assertFalse(multi.accepts(new TextNode("hi")));
|
|
|
+ assertThat(multi, accepts(BooleanNode.TRUE));
|
|
|
+ assertThat(multi, accepts(new DoubleNode(1.5)));
|
|
|
+ assertThat(multi, not(accepts(new TextNode("hi"))));
|
|
|
Tester sing = fromSingleElement("{ \"type\": \"boolean\" }");
|
|
|
- assertTrue(sing.accepts(BooleanNode.TRUE));
|
|
|
- assertFalse(sing.accepts(new DoubleNode(1.5)));
|
|
|
+ assertThat(sing, accepts(BooleanNode.TRUE));
|
|
|
+ assertThat(sing, not(accepts(new DoubleNode(1.5))));
|
|
|
}
|
|
|
|
|
|
@Test(expected=IllegalArgumentException.class)
|