@Test public void testRead() { UnsyncByteArrayInputStream unsyncByteArrayInputStream = new UnsyncByteArrayInputStream(_BUFFER); for (int i = 0; i < _SIZE; i++) { Assert.assertEquals(i, unsyncByteArrayInputStream.read()); } Assert.assertEquals(-1, unsyncByteArrayInputStream.read()); }
@Test public void testMarkAndReset() { UnsyncByteArrayInputStream unsyncByteArrayInputStream = new UnsyncByteArrayInputStream(_BUFFER); Assert.assertEquals(0, unsyncByteArrayInputStream.read()); Assert.assertEquals(1, unsyncByteArrayInputStream.read()); unsyncByteArrayInputStream.mark(-1); Assert.assertEquals(_SIZE - 2, unsyncByteArrayInputStream.available()); Assert.assertEquals(2, unsyncByteArrayInputStream.read()); Assert.assertEquals(3, unsyncByteArrayInputStream.read()); Assert.assertEquals(_SIZE - 4, unsyncByteArrayInputStream.available()); unsyncByteArrayInputStream.reset(); Assert.assertEquals(_SIZE - 2, unsyncByteArrayInputStream.available()); Assert.assertEquals(2, unsyncByteArrayInputStream.read()); Assert.assertEquals(3, unsyncByteArrayInputStream.read()); Assert.assertEquals(_SIZE - 4, unsyncByteArrayInputStream.available()); }
@Test public void testBlockRead() { UnsyncByteArrayInputStream unsyncByteArrayInputStream = new UnsyncByteArrayInputStream(_BUFFER); int size = _SIZE * 2 / 3; byte[] buffer = new byte[size]; int read = unsyncByteArrayInputStream.read(buffer); Assert.assertEquals(size, read); for (int i = 0; i < read; i++) { Assert.assertEquals(i, buffer[i]); } read = unsyncByteArrayInputStream.read(buffer); Assert.assertEquals(_SIZE - size, read); for (int i = 0; i < read; i++) { Assert.assertEquals(i + size, buffer[i]); } }