@Test
    public void testReshape5() throws ParseException {
        Tensor x = evaluate("tensor(d0[2],d1[2]):[1,2,3,4]");
        Tensor y = evaluate("tensor(d0[1]):[4]");
        assertEval("reshape", x, y, evaluate("tensor(d0[4]):[1,2,3,4]"));

        y = evaluate("tensor(d0[2]):[2,2]");
        assertEval("reshape", x, y, evaluate("tensor(d0[2],d1[2]):[1,2,3,4]"));

        y = evaluate("tensor(d0[3]):[2,1,2]");
        assertEval("reshape", x, y, evaluate("tensor(d0[2],d1[1],d2[2]):[1,2,3,4]"));

        y = evaluate("tensor(d0[2]):[2,-1]");
        assertEval("reshape", x, y, evaluate("tensor(d0[2],d1[2]):[1,2,3,4]"));

        y = evaluate("tensor(d0[2]):[2,0]");
        assertEval("reshape", x, y, evaluate("tensor(d0[2],d1[2]):[1,2,3,4]"));

        y = evaluate("tensor(d0[2]):[0,-1]");
        assertEval("reshape", x, y, evaluate("tensor(d0[2],d1[2]):[1,2,3,4]"));

        x = evaluate("tensor(d0[1],d1[2],d2[3]):[1,2,3,4,5,6]");
        y = evaluate("tensor(d0[2]):[3,2]");
        assertEval("reshape", x, y, evaluate("tensor(d0[3],d1[2]):[1,2,3,4,5,6]"));

        y = evaluate("tensor(d0[4]):[3,2,-1,1]");
        assertEval("reshape", x, y, evaluate("tensor(d0[3],d1[2],d2[1],d3[1]):[1,2,3,4,5,6]"));

        x = evaluate("tensor(d0[1],d1[2],d2[2],d3[3]):[1,2,3,4,5,6,7,8,9,10,11,12]");
        y = evaluate("tensor(d0[2]):[2,6]");
        assertEval("reshape", x, y, evaluate("tensor(d0[2],d1[6]):[1,2,3,4,5,6,7,8,9,10,11,12]"));
    }
Unit tests for ONNX operators. The number on the test reflects the minimum
opset number for the operations tested.

@author lesters
model-integration/src/test/java/ai/vespa/rankingexpression/importer/onnx/OnnxOperationsTestCase.java