public void test_AllocationPadded_copy2DRangeTo_Long3() {
    Random random = new Random(0x172d8ab9);
    int width = random.nextInt(128);
    int height = random.nextInt(128);
    int xoff = random.nextInt(width);
    int yoff = random.nextInt(height);
    int xcount = width - xoff;
    int ycount = height - yoff;
    int arr_len = xcount * ycount * 3;

    long[] inArray = new long[arr_len];
    long[] outArray = new long[arr_len];

    for (int i = 0; i < arr_len; i++) {
      inArray[i] = random.nextLong();
    }

    Type.Builder typeBuilder = new Type.Builder(mRS, Element.I64_3(mRS));
    typeBuilder.setX(width).setY(height);
    Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
    alloc.setAutoPadding(true);
    alloc.copy2DRangeFrom(xoff, yoff, xcount, ycount, inArray);
    alloc.copy2DRangeTo(xoff, yoff, xcount, ycount, outArray);

    boolean result = true;
    for (int i = 0; i < arr_len; i++) {
      if (inArray[i] != outArray[i]) {
        result = false;
        break;
      }
    }
    assertTrue("test_copy2DRangeTo_Padded_Long Failed, output array does not match input", result);
  }