@Test public void testReadSeek() throws IOException { byte[] data = new byte[1024 * 18]; random.nextBytes(data); ByteArrayImageInputStream stream = new ByteArrayImageInputStream(data); assertEquals("Data length should be same as stream length", data.length, stream.length()); byte[] result = new byte[9]; for (int i = 0; i < data.length / result.length; i++) { // Read backwards long newPos = stream.length() - result.length - i * result.length; stream.seek(newPos); assertEquals("Wrong stream position", newPos, stream.getStreamPosition()); stream.readFully(result); assertTrue("Wrong data read: " + i, rangeEquals(data, (int) newPos, result, 0, result.length)); } } }
public void testReadSeek() throws IOException { byte[] data = new byte[1024 * 18]; random.nextBytes(data); ByteArrayImageInputStream stream = new ByteArrayImageInputStream(data); assertEquals("Data length should be same as stream length", data.length, stream.length()); byte[] result = new byte[9]; for (int i = 0; i < data.length / result.length; i++) { // Read backwards long newPos = stream.length() - result.length - i * result.length; stream.seek(newPos); assertEquals("Wrong stream position", newPos, stream.getStreamPosition()); stream.readFully(result); assertTrue("Wrong data read: " + i, rangeEquals(data, (int) newPos, result, 0, result.length)); } } }
public void testReadSeek() throws IOException { byte[] data = new byte[1024 * 18]; mRandom.nextBytes(data); ByteArrayImageInputStream stream = new ByteArrayImageInputStream(data); assertEquals("Data length should be same as stream length", data.length, stream.length()); byte[] result = new byte[9]; for (int i = 0; i < data.length / result.length; i++) { // Read backwards long newPos = stream.length() - result.length - i * result.length; stream.seek(newPos); assertEquals("Wrong stream position", newPos, stream.getStreamPosition()); stream.readFully(result); assertTrue("Wrong data read: " + i, rangeEquals(data, (int) newPos, result, 0, result.length)); } } }