diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-02-05 10:31:48 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-02-05 10:31:48 +0000 |
commit | 4e982b2a0a7b0652554ead03b7bf9d8ff85b5778 (patch) | |
tree | dff0b854bf46e3db94fab10392f3e8bf0d3ad89d /document | |
parent | 4bcef4ebd8133c5be2bb6062a4ae76bfec565dea (diff) |
add unit testing of lazy deserialization
Diffstat (limited to 'document')
-rw-r--r-- | document/src/test/java/com/yahoo/document/datatypes/TensorFieldValueTestCase.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/document/src/test/java/com/yahoo/document/datatypes/TensorFieldValueTestCase.java b/document/src/test/java/com/yahoo/document/datatypes/TensorFieldValueTestCase.java index 9a89da75cd0..56a4c6c9e94 100644 --- a/document/src/test/java/com/yahoo/document/datatypes/TensorFieldValueTestCase.java +++ b/document/src/test/java/com/yahoo/document/datatypes/TensorFieldValueTestCase.java @@ -4,6 +4,7 @@ package com.yahoo.document.datatypes; import com.yahoo.tensor.Tensor; import com.yahoo.tensor.TensorType; import org.junit.Test; +import java.util.Optional; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -56,4 +57,47 @@ public class TensorFieldValueTestCase { TensorFieldValue field2 = new TensorFieldValue(TensorType.fromSpec("tensor(x{})")); assertEquals("null", field2.toString()); } + + @Test + public void requireThatSerializationHappens() { + TensorFieldValue orig = createFieldValue("{{x:0}:2.0}"); + assertEquals("tensor(x{}):{0:2.0}", orig.toString()); + assertTrue(orig.getWrappedValue() != null); + Optional<byte[]> serializedBytes = orig.getSerializedTensor(); + assertTrue(serializedBytes.isPresent()); + Optional<byte[]> otherSerialized = orig.getSerializedTensor(); + assertTrue(otherSerialized.isPresent()); + assertTrue(serializedBytes.get() == otherSerialized.get()); + + TensorFieldValue copy = new TensorFieldValue(); + assertTrue(copy.getSerializedTensor().isEmpty()); + copy.assignSerializedTensor(serializedBytes.get()); + assertFalse(copy.getSerializedTensor().isEmpty()); + otherSerialized = copy.getSerializedTensor(); + assertTrue(serializedBytes.get() == otherSerialized.get()); + + copy = new TensorFieldValue(); + assertTrue(copy.getTensorType().isEmpty()); + copy.assignSerializedTensor(serializedBytes.get()); + assertFalse(copy.getTensorType().isEmpty()); + assertEquals(copy.getTensorType().get(), orig.getTensorType().get()); + + copy = new TensorFieldValue(); + assertTrue(copy.getTensor().isEmpty()); + copy.assignSerializedTensor(serializedBytes.get()); + assertFalse(copy.getTensor().isEmpty()); + + copy = new TensorFieldValue(); + assertTrue(copy.getTensor().isEmpty()); + copy.assignSerializedTensor(serializedBytes.get()); + assertFalse(copy.getTensor().isEmpty()); + assertEquals(copy.getTensor().get(), orig.getTensor().get()); + + copy = new TensorFieldValue(); + assertTrue(copy.getWrappedValue() == null); + copy.assignSerializedTensor(serializedBytes.get()); + assertFalse(copy.getWrappedValue() == null); + assertEquals(copy.getWrappedValue(), orig.getWrappedValue()); + } + } |