Przeglądaj źródła

Add tests for NotTester

Sam Jaffe 6 lat temu
rodzic
commit
d8df642da6

+ 2 - 0
src/test/java/org/leumasjaffe/json/JsonTesterSuite.java

@@ -2,11 +2,13 @@ package org.leumasjaffe.json;
 
 import org.junit.runner.RunWith;
 import org.junit.runners.Suite;
+import org.leumasjaffe.json.tester.NotTesterTest;
 import org.leumasjaffe.json.tester.SizeTesterTest;
 import org.leumasjaffe.json.tester.TypeTesterTest;
 
 @RunWith(Suite.class)
 @Suite.SuiteClasses({
+	NotTesterTest.class,
 	SizeTesterTest.class, 
 	TypeTesterTest.class
 })

+ 28 - 0
src/test/java/org/leumasjaffe/json/tester/NotTesterTest.java

@@ -0,0 +1,28 @@
+package org.leumasjaffe.json.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;
+import com.fasterxml.jackson.databind.node.BooleanNode;
+import com.fasterxml.jackson.databind.node.NullNode;
+
+public class NotTesterTest {
+
+	@Test
+	public void testNotInvertsOutputTrue() {
+		Tester impl = JsonNode::isNull;
+		assertTrue(impl.accepts(NullNode.getInstance()));
+		assertFalse(new NotTester(impl).accepts(NullNode.getInstance()));
+	}
+
+	@Test
+	public void testNotInvertsOutputFalse() {
+		Tester impl = JsonNode::isNull;
+		assertFalse(impl.accepts(BooleanNode.TRUE));
+		assertTrue(new NotTester(impl).accepts(BooleanNode.TRUE));
+	}
+}