فهرست منبع

Add tests for "uniqueItems"

Sam Jaffe 6 سال پیش
والد
کامیت
83ec7ccda6

+ 3 - 1
src/test/java/org/leumasjaffe/json/schema/JsonTesterSuite.java

@@ -9,6 +9,7 @@ import org.leumasjaffe.json.schema.tester.NotTesterTest;
 import org.leumasjaffe.json.schema.tester.OneOfTesterTest;
 import org.leumasjaffe.json.schema.tester.SizeTesterTest;
 import org.leumasjaffe.json.schema.tester.TypeTesterTest;
+import org.leumasjaffe.json.schema.tester.UniqueItemTesterTest;
 
 @RunWith(Suite.class)
 @Suite.SuiteClasses({
@@ -18,7 +19,8 @@ import org.leumasjaffe.json.schema.tester.TypeTesterTest;
 	NotTesterTest.class,
 	OneOfTesterTest.class,
 	SizeTesterTest.class, 
-	TypeTesterTest.class
+	TypeTesterTest.class,
+	UniqueItemTesterTest.class
 })
 public class JsonTesterSuite {
 

+ 32 - 0
src/test/java/org/leumasjaffe/json/schema/tester/UniqueItemTesterTest.java

@@ -0,0 +1,32 @@
+package org.leumasjaffe.json.schema.tester;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+public class UniqueItemTesterTest {
+
+	@Test
+	public void testAcceptsEmptyArray() {
+		final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
+		assertTrue(new UniqueItemTester().accepts(node));
+	}
+
+	@Test
+	public void testRejectsNonArray() {
+		final ObjectNode node = new ObjectNode(JsonNodeFactory.instance);
+		assertFalse(new UniqueItemTester().accepts(node));
+	}
+	
+	@Test
+	public void testRejectsArrayWithDuplicates() {
+		final ArrayNode node = new ArrayNode(JsonNodeFactory.instance);
+		node.add(1.5);
+		node.add(1.5);
+		assertFalse(new UniqueItemTester().accepts(node));
+	}
+}