@Test
    public void testDoubleVectorInHexForm() {
        var builder = Tensor.Builder.of(TensorType.fromSpec("tensor<double>(x[3],y[4])"));
        builder.cell().label("x", 0).label("y", 0).value(42.0);
        builder.cell().label("x", 0).label("y", 1).value(1048577.0);
        builder.cell().label("x", 0).label("y", 2).value(0.00000095367431640625);
        builder.cell().label("x", 0).label("y", 3).value(-255.00);

        builder.cell().label("x", 1).label("y", 0).value(0.0);
        builder.cell().label("x", 1).label("y", 1).value(-0.0);
        builder.cell().label("x", 1).label("y", 2).value(Double.MIN_VALUE);
        builder.cell().label("x", 1).label("y", 3).value(Double.MAX_VALUE);

        builder.cell().label("x", 2).label("y", 0).value(Double.POSITIVE_INFINITY);
        builder.cell().label("x", 2).label("y", 1).value(Double.NEGATIVE_INFINITY);
        builder.cell().label("x", 2).label("y", 2).value(Double.NaN);
        builder.cell().label("x", 2).label("y", 3).value(-Double.NaN);
        Tensor expected = builder.build();

        String denseJson = "{\"values\":\""
            +"4045000000000000"+"4130000100000000"+"3eb0000000000000"+"c06fe00000000000"
            +"0000000000000000"+"8000000000000000"+"0000000000000001"+"7fefffffffffffff"
            +"7ff0000000000000"+"fff0000000000000"+"7ff8000000000000"+"fff8000000000000"
            +"\"}";
        Tensor decoded = JsonFormat.decode(expected.type(), denseJson.getBytes(StandardCharsets.UTF_8));
        assertEquals(expected, decoded);
    }
Tests parsing of various tensor values set at the root, i.e. no 'cells', 'blocks' or 'values'
vespajlib/src/test/java/com/yahoo/tensor/serialization/JsonFormatTestCase.java