### Question:
INDArrayHelper { public static INDArray createBatchForShape(long batchSize, long... shape) { long[] batchShape; batchShape = new long[shape.length]; System.arraycopy(shape, 0, batchShape, 0, shape.length); batchShape[0] = batchSize; return Nd4j.create(batchShape); }  static INDArray forceCorrectShape(INDArray source); static INDArray createBatchForShape(long batchSize, long... shape); static INDArray createRnnBatchForShape(long batchSize, long... shape);  }### Answer:
@Test public void when_callingCreateBatchForShape_expect_INDArrayWithCorrectShapeAndOriginalShapeUnchanged() { long[] shape = new long[] { 1, 3, 4}; INDArray output = INDArrayHelper.createBatchForShape(2, shape); assertArrayEquals(new long[] { 2, 3, 4 }, output.shape()); assertArrayEquals(new long[] { 1, 3, 4 }, shape); }