summaryrefslogtreecommitdiffstats
path: root/documentgen-test
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-06-28 08:56:48 -0500
committerJon Bratseth <bratseth@verizonmedia.com>2019-06-28 08:56:48 -0500
commit781d6dfd8afdcb1da0ce29ef37ccbc0c45dc155d (patch)
tree18846b64a9ea079196591f93bd2856a8b5459b4d /documentgen-test
parent38be09692fbc8e286ed1b669771e1c2d66e1db6c (diff)
parent4f9ad5d65f0e7fac3796830b90c2f8b9128523ce (diff)
Merge with master
Diffstat (limited to 'documentgen-test')
-rw-r--r--documentgen-test/src/test/java/com/yahoo/vespa/config/DocumentGenPluginTest.java31
1 files changed, 24 insertions, 7 deletions
diff --git a/documentgen-test/src/test/java/com/yahoo/vespa/config/DocumentGenPluginTest.java b/documentgen-test/src/test/java/com/yahoo/vespa/config/DocumentGenPluginTest.java
index 0cb365d421f..25277e9cdfe 100644
--- a/documentgen-test/src/test/java/com/yahoo/vespa/config/DocumentGenPluginTest.java
+++ b/documentgen-test/src/test/java/com/yahoo/vespa/config/DocumentGenPluginTest.java
@@ -38,6 +38,8 @@ import com.yahoo.document.datatypes.WeightedSet;
import com.yahoo.document.serialization.DocumentDeserializerFactory;
import com.yahoo.document.serialization.DocumentSerializer;
import com.yahoo.document.serialization.DocumentSerializerFactory;
+import com.yahoo.document.serialization.VespaDocumentDeserializerHead;
+import com.yahoo.document.serialization.VespaDocumentSerializerHead;
import com.yahoo.io.GrowableByteBuffer;
import com.yahoo.searchdefinition.derived.Deriver;
import com.yahoo.tensor.Tensor;
@@ -283,9 +285,7 @@ public class DocumentGenPluginTest {
assertEquals(twelve, new IntegerFieldValue(12));
}
- @Test
- public void testArrayOfStruct() {
- Book book = getBook();
+ private void verifyArrayOfStruct(Book book) {
assertEquals(book.getMysinglestructarray().get(0).getS1(), "YEPS");
assertEquals(book.getMysinglestructarray().get(1).getI1(), (Integer)456);
Struct s1 = (Struct) ((Array)book.getFieldValue("mysinglestructarray")).get(0);
@@ -300,8 +300,25 @@ public class DocumentGenPluginTest {
assertEquals(ifv2.getInteger(), 456);
s2.setFieldValue("i1", new IntegerFieldValue(123));
assertEquals(book.getMysinglestructarray().get(1).getI1(), (Integer)123);
- book.getMysinglestructarray().remove(0);
+ Book.Ss1 prev = book.getMysinglestructarray().remove(0);
assertEquals(book.getMysinglestructarray().get(0).getI1(), (Integer)123);
+ book.getMysinglestructarray().add(0, prev);
+ assertEquals(book.getMysinglestructarray().get(1).getI1(), (Integer)123);
+ s2.setFieldValue("i1", new IntegerFieldValue(456));
+ }
+
+ private static Document copyBySerialization(Document orig) {
+ return roundtripSerialize(orig, typeManagerForBookType());
+ }
+ private Book toBook(Document doc) {
+ return (Book) new ConcreteDocumentFactory().getDocumentCopy(doc.getDataType().getName(), doc, doc.getId());
+ }
+
+ @Test
+ public void testArrayOfStruct() {
+ Book book = getBook();
+ verifyArrayOfStruct(book);
+ verifyArrayOfStruct(toBook(copyBySerialization(book)));
}
@Test
@@ -489,13 +506,13 @@ public class DocumentGenPluginTest {
}
}
- private DocumentTypeManager typeManagerFromSDs(String... files) {
+ private static DocumentTypeManager typeManagerFromSDs(String... files) {
final DocumentTypeManager mgr = new DocumentTypeManager();
mgr.configure("raw:" + getDocumentConfig(Arrays.asList(files)));
return mgr;
}
- private DocumentTypeManager typeManagerForBookType() {
+ private static DocumentTypeManager typeManagerForBookType() {
return typeManagerFromSDs("etc/complex/common.sd", "etc/complex/parent.sd", "etc/complex/book.sd");
}
@@ -511,7 +528,7 @@ public class DocumentGenPluginTest {
assertEquals(NUM_BOOKS, manyGenericBooks.size());
}
- private String getDocumentConfig(List<String> sds) {
+ private static String getDocumentConfig(List<String> sds) {
return new DocumentmanagerConfig(Deriver.getDocumentManagerConfig(sds)).toString();
}