diff options
author | Jon Bratseth <bratseth@verizonmedia.com> | 2019-10-08 14:12:00 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@verizonmedia.com> | 2019-10-08 14:12:00 +0200 |
commit | 4a720e1feb149158f5868b1739bc28821486a6e1 (patch) | |
tree | f303098d52047047e184c52ca54cad731af65ae8 /document/src/test | |
parent | ee1bf523a2cfb5e8d86a602323c337f6e55c202b (diff) |
Support mixed tensor short form JSON
Diffstat (limited to 'document/src/test')
-rw-r--r-- | document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java b/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java index 6103dc5947f..91998dedbb8 100644 --- a/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java +++ b/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java @@ -50,6 +50,7 @@ import com.yahoo.document.update.ValueUpdate; import com.yahoo.io.GrowableByteBuffer; import com.yahoo.tensor.IndexedTensor; import com.yahoo.tensor.MappedTensor; +import com.yahoo.tensor.MixedTensor; import com.yahoo.tensor.Tensor; import com.yahoo.tensor.TensorType; import com.yahoo.text.Utf8; @@ -1314,6 +1315,26 @@ public class JsonReaderTestCase { } @Test + public void testParsingOfMixedTensorOnMixedForm() { + Tensor.Builder builder = Tensor.Builder.of(TensorType.fromSpec("tensor(x{},y[3])")); + builder.cell().label("x", 0).label("y", 0).value(2.0); + builder.cell().label("x", 0).label("y", 1).value(3.0); + builder.cell().label("x", 0).label("y", 2).value(4.0); + builder.cell().label("x", 1).label("y", 0).value(5.0); + builder.cell().label("x", 1).label("y", 1).value(6.0); + builder.cell().label("x", 1).label("y", 2).value(7.0); + Tensor expected = builder.build(); + + String mixedJson = "{\"blocks\":[" + + "{\"address\":{\"x\":\"0\"},\"values\":[2.0,3.0,4.0]}," + + "{\"address\":{\"x\":\"1\"},\"values\":[5.0,6.0,7.0]}" + + "]}"; + Tensor tensor = assertTensorField(expected, + createPutWithTensor(inputJson(mixedJson), "mixed_tensor"), "mixed_tensor"); + assertTrue(tensor instanceof MixedTensor); // this matters for performance + } + + @Test public void testParsingOfTensorWithSingleCellInDifferentJsonOrder() { assertSparseTensorField("{{x:a,y:b}:2.0}", createPutWithSparseTensor(inputJson("{", |