aboutsummaryrefslogtreecommitdiffstats
path: root/document/src/test/java/com/yahoo
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-02-15 14:17:12 +0000
committerArne H Juul <arnej@yahooinc.com>2022-02-15 15:05:36 +0000
commitf83e44760a72cc7d0226352b1114ffc3a8f97dee (patch)
treee0ed02df063aaaa0f3adab688b43018b774ce0c7 /document/src/test/java/com/yahoo
parentd29d335828d98e248f1cb593882d2d4f08fe702c (diff)
add special DocumentOnly fieldset in Java as well
* should have same behavior in Java and C++ * extend unit tests to verify * note various places where we want to change the default on Vespa 8 branch
Diffstat (limited to 'document/src/test/java/com/yahoo')
-rw-r--r--document/src/test/java/com/yahoo/document/DocumentTestCaseBase.java4
-rw-r--r--document/src/test/java/com/yahoo/document/fieldset/FieldSetTestCase.java14
2 files changed, 18 insertions, 0 deletions
diff --git a/document/src/test/java/com/yahoo/document/DocumentTestCaseBase.java b/document/src/test/java/com/yahoo/document/DocumentTestCaseBase.java
index bf9960c3ca3..871e54ca46c 100644
--- a/document/src/test/java/com/yahoo/document/DocumentTestCaseBase.java
+++ b/document/src/test/java/com/yahoo/document/DocumentTestCaseBase.java
@@ -5,6 +5,8 @@ import com.yahoo.document.datatypes.FloatFieldValue;
import com.yahoo.document.datatypes.Raw;
import java.nio.ByteBuffer;
+import java.util.List;
+import java.util.Map;
import static org.junit.Assert.assertNotNull;
@@ -61,6 +63,8 @@ public class DocumentTestCaseBase {
stringField = testDocType.getField("stringattr");
minField = testDocType.getField("Minattr");
+ testDocType.addFieldSets(Map.of("[document]", List.of("stringattr", "intattr")));
+
docMan.registerDocumentType(testDocType);
}
diff --git a/document/src/test/java/com/yahoo/document/fieldset/FieldSetTestCase.java b/document/src/test/java/com/yahoo/document/fieldset/FieldSetTestCase.java
index e1e93adfb6d..b6dff63ac7b 100644
--- a/document/src/test/java/com/yahoo/document/fieldset/FieldSetTestCase.java
+++ b/document/src/test/java/com/yahoo/document/fieldset/FieldSetTestCase.java
@@ -23,6 +23,7 @@ public class FieldSetTestCase extends DocumentTestCaseBase {
@Test
public void testClone() throws Exception {
assertTrue(new AllFields().clone() instanceof AllFields);
+ assertTrue(new DocumentOnly().clone() instanceof DocumentOnly);
assertTrue(new NoFields().clone() instanceof NoFields);
assertTrue(new DocIdOnly().clone() instanceof DocIdOnly);
}
@@ -32,6 +33,7 @@ public class FieldSetTestCase extends DocumentTestCaseBase {
FieldSetRepo repo = new FieldSetRepo();
assertTrue(repo.parse(docMan, AllFields.NAME) instanceof AllFields);
+ assertTrue(repo.parse(docMan, DocumentOnly.NAME) instanceof DocumentOnly);
assertTrue(repo.parse(docMan, NoFields.NAME) instanceof NoFields);
assertTrue(repo.parse(docMan, DocIdOnly.NAME) instanceof DocIdOnly);
@@ -72,21 +74,30 @@ public class FieldSetTestCase extends DocumentTestCaseBase {
assertTrue(intAttr.contains(new DocIdOnly()));
assertTrue(intAttr.contains(new NoFields()));
assertFalse(intAttr.contains(new AllFields()));
+ assertFalse(intAttr.contains(new DocumentOnly()));
assertFalse(new NoFields().contains(intAttr));
assertFalse(new NoFields().contains(new AllFields()));
assertFalse(new NoFields().contains(new DocIdOnly()));
+ assertFalse(new NoFields().contains(new DocumentOnly()));
assertTrue(new AllFields().contains(intAttr));
assertTrue(new AllFields().contains(rawAttr));
assertTrue(new AllFields().contains(new DocIdOnly()));
+ assertTrue(new AllFields().contains(new DocumentOnly()));
assertTrue(new AllFields().contains(new NoFields()));
assertTrue(new AllFields().contains(new AllFields()));
assertTrue(new DocIdOnly().contains(new NoFields()));
assertTrue(new DocIdOnly().contains(new DocIdOnly()));
+ assertFalse(new DocIdOnly().contains(new DocumentOnly()));
assertFalse(new DocIdOnly().contains(intAttr));
+ assertTrue(new DocumentOnly().contains(new NoFields()));
+ assertTrue(new DocumentOnly().contains(new DocIdOnly()));
+ assertTrue(new DocumentOnly().contains(new DocumentOnly()));
+ assertFalse(new DocumentOnly().contains(intAttr));
+
assertContains("testdoc:rawattr,intattr", "testdoc:intattr");
assertNotContains("testdoc:intattr", "testdoc:rawattr,intattr");
assertContains("testdoc:intattr,rawattr", "testdoc:rawattr,intattr");
@@ -124,6 +135,7 @@ public class FieldSetTestCase extends DocumentTestCaseBase {
doc.removeFieldValue("rawattr");
assertEquals("floatattr:3.56,stringattr:tjohei,intattr:50,byteattr:30", doCopyFields(doc, AllFields.NAME));
+ assertEquals("stringattr:tjohei,intattr:50", doCopyFields(doc, DocumentOnly.NAME));
assertEquals("floatattr:3.56,byteattr:30", doCopyFields(doc, "testdoc:floatattr,byteattr"));
}
@@ -140,6 +152,7 @@ public class FieldSetTestCase extends DocumentTestCaseBase {
doc.removeFieldValue("rawattr");
assertEquals("floatattr:3.56,stringattr:tjohei,intattr:50,byteattr:30", doStripFields(doc, AllFields.NAME));
+ assertEquals("stringattr:tjohei,intattr:50", doStripFields(doc, DocumentOnly.NAME));
assertEquals("floatattr:3.56,byteattr:30", doStripFields(doc, "testdoc:floatattr,byteattr"));
}
@@ -150,6 +163,7 @@ public class FieldSetTestCase extends DocumentTestCaseBase {
AllFields.NAME,
NoFields.NAME,
DocIdOnly.NAME,
+ DocumentOnly.NAME,
"testdoc:rawattr",
"testdoc:rawattr,intattr"
};