set flag ByteArraysPartialInputStream_debug. sclass Test_ByteArraysPartialInputStream { new ByteArraysPartialInputStream stream; int n = 1000, nRanges = 10; byte[] data; int markPos; L ranges; public void run() ctex { data = randomBytes(n); ranges = splitIntoRandomRanges(nRanges, IntRange(0, n)); markPos = middleElement(ranges).start; print(n2(ranges, "range") /*+ " (" + ranges + ")"*/ + ", markPos=" + markPos); for (r : ranges) { if (r.start == markPos) stream.mark(n); stream.write(subByteArray(data, r)); } print("Wrote"); print("Reading " + n); for i to n: assertEquals("Byte " + i, ubyteToInt(data[i]), stream.read()); assertEquals(-1, stream.read()); print("Resetting to " + markPos); stream.reset(); for (int i = markPos; i < n; i++) assertEquals("Byte " + i, ubyteToInt(data[i]), stream.read()); assertEquals(-1, stream.read()); print("Read OK"); } }