public long getStreamPosition() throws IOException { return seekable.getStreamPosition(); }
public final void flushBefore(long pPosition) throws IOException { if (pPosition < flushedPosition) { throw new IndexOutOfBoundsException("position < flushedPosition"); } if (pPosition > getStreamPosition()) { throw new IndexOutOfBoundsException("position > stream position"); } checkOpen(); flushBeforeImpl(pPosition); flushedPosition = pPosition; }
@Test public void testReadAllByteValuesRegression() throws IOException { final int size = 128; // Fill bytes byte[] bytes = new byte[256]; for (int i = 0; i < bytes.length; i++) { bytes[i] = (byte) i; } // Create wrapper stream SeekableInputStream stream = makeInputStream(bytes); // Fill buffer byte[] buffer = new byte[size]; while (stream.read(buffer) >= 0) { } stream.seek(0); for (int i = 0; i < bytes.length; i += 2) { assertEquals("Wrong stream position", i, stream.getStreamPosition()); int count = stream.read(buffer, 0, 2); assertEquals(2, count); assertEquals(String.format("Wrong value read at pos %d", stream.getStreamPosition()), bytes[i], buffer[0]); assertEquals(String.format("Wrong value read at pos %d", stream.getStreamPosition()), bytes[i + 1], buffer[1]); } stream.seek(0); for (int i = 0; i < bytes.length; i++) { assertEquals("Wrong stream position", i, stream.getStreamPosition()); int actual = stream.read(); assertEquals(String.format("Wrong value read at pos %d", stream.getStreamPosition()), bytes[i] & 0xff, actual); assertEquals(String.format("Wrong value read at pos %d", stream.getStreamPosition()), bytes[i], (byte) actual); } }
@Test public void testSeek() throws Exception { SeekableInputStream seekable = makeInputStream(55); int pos = 37; seekable.seek(pos); long streamPos = seekable.getStreamPosition(); assertEquals("Stream positon should match seeked position", pos, streamPos); }
public long getStreamPosition() throws IOException { return mSeekable.getStreamPosition(); }
public long getStreamPosition() throws IOException { return seekable.getStreamPosition(); }
@Test public void testSeekSkipRead() throws Exception { SeekableInputStream seekable = makeInputStream(133); int pos = 45; for (int i = 0; i < 10; i++) { seekable.seek(pos); //noinspection ResultOfMethodCallIgnored seekable.skip(i); byte[] bytes = FileUtil.read(seekable); assertEquals(133, seekable.getStreamPosition()); assertEquals(133 - 45- i, bytes.length); } }
@Test public void testMarkFlushReset() throws Exception { SeekableInputStream seekable = makeInputStream(77); seekable.mark(); int position = 55; seekable.seek(position); seekable.flushBefore(position); try { seekable.reset(); fail("Reset before flushed position succeeded"); } catch (IOException e) { // Ignore } assertEquals(position, seekable.getStreamPosition()); }
public final void flushBefore(long pPosition) throws IOException { if (pPosition < mFlushedPosition) { throw new IndexOutOfBoundsException("position < flushedPosition"); } if (pPosition > getStreamPosition()) { throw new IndexOutOfBoundsException("position > stream position"); } checkOpen(); flushBeforeImpl(pPosition); mFlushedPosition = pPosition; }
public final void flushBefore(long pPosition) throws IOException { if (pPosition < flushedPosition) { throw new IndexOutOfBoundsException("position < flushedPosition"); } if (pPosition > getStreamPosition()) { throw new IndexOutOfBoundsException("position > stream position"); } checkOpen(); flushBeforeImpl(pPosition); flushedPosition = pPosition; }
public void testSeek() throws Exception { SeekableInputStream seekable = makeInputStream(55); int pos = 37; seekable.seek(pos); long streamPos = seekable.getStreamPosition(); assertEquals("Stream positon should match seeked position", pos, streamPos); }
public void testReadAllByteValuesRegression() throws IOException { final int size = 128; // Fill bytes byte[] bytes = new byte[256]; for (int i = 0; i < bytes.length; i++) { bytes[i] = (byte) i; } // Create wrapper stream SeekableInputStream stream = makeInputStream(bytes); // Fill buffer byte[] buffer = new byte[size]; while (stream.read(buffer) >= 0) { } stream.seek(0); for (int i = 0; i < bytes.length; i += 2) { assertEquals("Wrong stream position", i, stream.getStreamPosition()); int count = stream.read(buffer, 0, 2); assertEquals(2, count); assertEquals(String.format("Wrong value read at pos %d", stream.getStreamPosition()), bytes[i], buffer[0]); assertEquals(String.format("Wrong value read at pos %d", stream.getStreamPosition()), bytes[i + 1], buffer[1]); } stream.seek(0); for (int i = 0; i < bytes.length; i++) { assertEquals("Wrong stream position", i, stream.getStreamPosition()); int actual = stream.read(); assertEquals(String.format("Wrong value read at pos %d", stream.getStreamPosition()), bytes[i] & 0xff, actual); assertEquals(String.format("Wrong value read at pos %d", stream.getStreamPosition()), bytes[i], (byte) actual); } }
@Test public void testReadAllByteValuesRegression() throws IOException { final int size = 128; // Fill bytes byte[] bytes = new byte[256]; for (int i = 0; i < bytes.length; i++) { bytes[i] = (byte) i; } // Create wrapper stream SeekableInputStream stream = makeInputStream(bytes); // Fill buffer byte[] buffer = new byte[size]; while (stream.read(buffer) >= 0) { } stream.seek(0); for (int i = 0; i < bytes.length; i += 2) { assertEquals("Wrong stream position", i, stream.getStreamPosition()); int count = stream.read(buffer, 0, 2); assertEquals(2, count); assertEquals(String.format("Wrong value read at pos %d", stream.getStreamPosition()), bytes[i], buffer[0]); assertEquals(String.format("Wrong value read at pos %d", stream.getStreamPosition()), bytes[i + 1], buffer[1]); } stream.seek(0); for (int i = 0; i < bytes.length; i++) { assertEquals("Wrong stream position", i, stream.getStreamPosition()); int actual = stream.read(); assertEquals(String.format("Wrong value read at pos %d", stream.getStreamPosition()), bytes[i] & 0xff, actual); assertEquals(String.format("Wrong value read at pos %d", stream.getStreamPosition()), bytes[i], (byte) actual); } }
@Test public void testSeek() throws Exception { SeekableInputStream seekable = makeInputStream(55); int pos = 37; seekable.seek(pos); long streamPos = seekable.getStreamPosition(); assertEquals("Stream positon should match seeked position", pos, streamPos); }
public void testSeekSkipRead() throws Exception { SeekableInputStream seekable = makeInputStream(133); int pos = 45; for (int i = 0; i < 10; i++) { seekable.seek(pos); //noinspection ResultOfMethodCallIgnored seekable.skip(i); byte[] bytes = FileUtil.read(seekable); assertEquals(133, seekable.getStreamPosition()); assertEquals(133 - 45- i, bytes.length); } }
@Test public void testSeekSkipRead() throws Exception { SeekableInputStream seekable = makeInputStream(133); int pos = 45; for (int i = 0; i < 10; i++) { seekable.seek(pos); //noinspection ResultOfMethodCallIgnored seekable.skip(i); byte[] bytes = FileUtil.read(seekable); assertEquals(133, seekable.getStreamPosition()); assertEquals(133 - 45- i, bytes.length); } }
public void testMarkFlushReset() throws Exception { SeekableInputStream seekable = makeInputStream(77); seekable.mark(); int position = 55; seekable.seek(position); seekable.flushBefore(position); try { seekable.reset(); fail("Reset before flushed position succeeded"); } catch (IOException e) { // Ignore } assertEquals(position, seekable.getStreamPosition()); }
@Test public void testMarkFlushReset() throws Exception { SeekableInputStream seekable = makeInputStream(77); seekable.mark(); int position = 55; seekable.seek(position); seekable.flushBefore(position); try { seekable.reset(); fail("Reset before flushed position succeeded"); } catch (IOException e) { // Ignore } assertEquals(position, seekable.getStreamPosition()); }