public void testCopyToBuffer() { Int64Array array = AssertArrays.makeInt64Array12345(); long[] out = new long[3]; array.copyToBuffer(out, 3, 1); assertTrue(Arrays.equals(out, new long[] {2, 3, 4})); array = AssertArrays.makeInt64Array12345(); out = new long[1]; array.copyToBuffer(out, -1, 0); assertTrue(Arrays.equals(out, new long[] {1})); array = AssertArrays.makeInt64Array12345(); out = new long[1]; array.copyToBuffer(out, -1, 4); assertTrue(Arrays.equals(out, new long[] {5})); array = AssertArrays.makeInt64Array12345(); out = new long[3]; array.copyToBuffer(out, 3, 0); assertTrue(Arrays.equals(out, new long[] {1, 2, 3})); array = AssertArrays.makeInt64Array12345(); out = new long[3]; array.copyToBuffer(out, -1, 2); assertTrue(Arrays.equals(out, new long[] {3, 4, 5})); array = AssertArrays.makeInt64Array12345(); out = new long[3]; array.copyToBuffer(out, -1, 3); assertTrue(Arrays.equals(out, new long[] {4, 5, 0})); array = AssertArrays.makeInt64Array12345(); out = new long[0]; array.copyToBuffer(out, -1, 3); assertTrue(Arrays.equals(out, new long[] {})); array = AssertArrays.makeInt64Array12345(); out = new long[3]; try { array.copyToBuffer(out, -1, -1); fail(); } catch (IndexOutOfBoundsException e) { // expected } array = AssertArrays.makeInt64Array12345(); out = new long[3]; try { array.copyToBuffer(out, 1, 5); fail(); } catch (IndexOutOfBoundsException e) { // expected } }