浏览代码

Drop the default impl and update test cases that need it.

Sam Jaffe 6 年之前
父节点
当前提交
0ec369ef29

+ 1 - 1
src/main/lombok/org/leumasjaffe/json/schema/Tester.java

@@ -4,10 +4,10 @@ import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.JsonNodeType;
 
 public interface Tester {
-	default JsonNodeType[] acceptedTypes() { return null; }
 	static final JsonNodeType[] ANY = {
 			JsonNodeType.ARRAY, JsonNodeType.OBJECT, JsonNodeType.STRING,
 			JsonNodeType.NUMBER, JsonNodeType.BOOLEAN, JsonNodeType.NULL
 	};
+	JsonNodeType[] acceptedTypes();
 	boolean accepts(final JsonNode node);
 }

+ 4 - 2
src/test/java/org/leumasjaffe/json/schema/tester/AllItemsTesterTest.java

@@ -47,17 +47,19 @@ public class AllItemsTesterTest {
 	
 	@Test
 	public void testRejectsIfAnyPass() {
+		StubTester test = JsonNode::asBoolean;
 		final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
 		node.add(false);
 		node.add(true);
-		assertFalse(new AllItemsTester(ARRAY, JsonNode::asBoolean).accepts(node));
+		assertFalse(new AllItemsTester(ARRAY, test).accepts(node));
 	}
 	
 	@Test
 	public void testAcceptsIfAllPass() {
+		StubTester test = JsonNode::asBoolean;
 		final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
 		node.add(true);
 		node.add(true);
-		assertTrue(new AllItemsTester(ARRAY, JsonNode::asBoolean).accepts(node));
+		assertTrue(new AllItemsTester(ARRAY, test).accepts(node));
 	}
 }

+ 3 - 3
src/test/java/org/leumasjaffe/json/schema/tester/AllOfTesterTest.java

@@ -11,9 +11,9 @@ import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.NullNode;
 
 public class AllOfTesterTest {
-	Tester isArray = JsonNode::isArray;
-	Tester isObject = JsonNode::isObject;
-	Tester notEmpty = j -> j.size() != 0;
+	StubTester isArray = JsonNode::isArray;
+	StubTester isObject = JsonNode::isObject;
+	StubTester notEmpty = j -> j.size() != 0;
 
 	@Test
 	public void testFailsIfAllFail() {

+ 3 - 3
src/test/java/org/leumasjaffe/json/schema/tester/AnyOfTesterTest.java

@@ -11,9 +11,9 @@ import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.NullNode;
 
 public class AnyOfTesterTest {
-	Tester isArray = JsonNode::isArray;
-	Tester isObject = JsonNode::isObject;
-	Tester notEmpty = j -> j.size() != 0;
+	StubTester isArray = JsonNode::isArray;
+	StubTester isObject = JsonNode::isObject;
+	StubTester notEmpty = j -> j.size() != 0;
 
 	@Test
 	public void testFailsIfAllFail() {

+ 2 - 1
src/test/java/org/leumasjaffe/json/schema/tester/ContainsTesterTest.java

@@ -40,9 +40,10 @@ public class ContainsTesterTest {
 	
 	@Test
 	public void testAcceptsIfAnyPass() {
+		StubTester test = JsonNode::asBoolean;
 		final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
 		node.add(false);
 		node.add(true);
-		assertTrue(new ContainsTester(JsonNode::asBoolean).accepts(node));
+		assertTrue(new ContainsTester(test).accepts(node));
 	}
 }

+ 5 - 3
src/test/java/org/leumasjaffe/json/schema/tester/ItemsTesterTest.java

@@ -40,18 +40,20 @@ public class ItemsTesterTest {
 	
 	@Test
 	public void testAcceptsIfNumTestersPass() {
+		StubTester test = JsonNode::asBoolean;
 		final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
 		node.add(true);
 		node.add(false);
-		assertTrue(new ItemsTester(JsonNode::asBoolean).accepts(node));
+		assertTrue(new ItemsTester(test).accepts(node));
 	}
 	
 	@Test
 	public void testAcceptsIfNumElemsPass() {
+		StubTester test = JsonNode::asBoolean;
 		final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
 		node.add(true);
 		node.add(false);
-		assertTrue(new ItemsTester(JsonNode::asBoolean,
-				FixedTester.ACCEPT, FixedTester.REJECT).accepts(node));
+		assertTrue(new ItemsTester(test, FixedTester.ACCEPT, FixedTester.REJECT)
+				.accepts(node));
 	}
 }

+ 2 - 3
src/test/java/org/leumasjaffe/json/schema/tester/NotTesterTest.java

@@ -3,7 +3,6 @@ package org.leumasjaffe.json.schema.tester;
 import static org.junit.Assert.*;
 
 import org.junit.Test;
-import org.leumasjaffe.json.schema.Tester;
 import org.leumasjaffe.json.schema.tester.NotTester;
 
 import com.fasterxml.jackson.databind.JsonNode;
@@ -14,14 +13,14 @@ public class NotTesterTest {
 
 	@Test
 	public void testNotInvertsOutputTrue() {
-		Tester impl = JsonNode::isNull;
+		StubTester impl = JsonNode::isNull;
 		assertTrue(impl.accepts(NullNode.getInstance()));
 		assertFalse(new NotTester(impl).accepts(NullNode.getInstance()));
 	}
 
 	@Test
 	public void testNotInvertsOutputFalse() {
-		Tester impl = JsonNode::isNull;
+		StubTester impl = JsonNode::isNull;
 		assertFalse(impl.accepts(BooleanNode.TRUE));
 		assertTrue(new NotTester(impl).accepts(BooleanNode.TRUE));
 	}

+ 3 - 3
src/test/java/org/leumasjaffe/json/schema/tester/OneOfTesterTest.java

@@ -11,9 +11,9 @@ import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.NullNode;
 
 public class OneOfTesterTest {
-	Tester isArray = JsonNode::isArray;
-	Tester isObject = JsonNode::isObject;
-	Tester notEmpty = j -> j.size() != 0;
+	StubTester isArray = JsonNode::isArray;
+	StubTester isObject = JsonNode::isObject;
+	StubTester notEmpty = j -> j.size() != 0;
 
 	@Test
 	public void testFailsIfAllFail() {

+ 9 - 0
src/test/java/org/leumasjaffe/json/schema/tester/StubTester.java

@@ -0,0 +1,9 @@
+package org.leumasjaffe.json.schema.tester;
+
+import org.leumasjaffe.json.schema.Tester;
+
+import com.fasterxml.jackson.databind.node.JsonNodeType;
+
+interface StubTester extends Tester {
+	default JsonNodeType[] acceptedTypes() { return ANY; }
+}