public void testReadIntsSubset() throws IOException { final File intArray = File.createTempFile("int", "array"); try { final int[] numbers = {10, 1, 0, 255, Integer.MAX_VALUE, Integer.MIN_VALUE, 20}; try (DataOutputStream output = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(intArray)))) { for (int number : numbers) { output.writeInt(number); } } final LongIndex saved = LongCreate.createIndex(numbers.length - 2); final int size = ArrayUtils.readInts(intArray, 1, 6, saved, 0, 1); assertEquals(numbers.length - 2, size); for (int i = 1; i < numbers.length - 1; i++) { assertEquals(((long) numbers[i]) + 1L, saved.get(i - 1)); } } finally { assertTrue(intArray.delete()); } }