@Test
  public void testConstructor() {
    UnsyncByteArrayInputStream unsyncByteArrayInputStream = new UnsyncByteArrayInputStream(_BUFFER);

    Assert.assertEquals(_SIZE, unsyncByteArrayInputStream.available());

    unsyncByteArrayInputStream = new UnsyncByteArrayInputStream(_BUFFER, _SIZE / 2, _SIZE / 2);

    Assert.assertEquals(_SIZE / 2, unsyncByteArrayInputStream.available());
  }
  @Test
  public void testSkip() {
    UnsyncByteArrayInputStream unsyncByteArrayInputStream = new UnsyncByteArrayInputStream(_BUFFER);

    long size = _SIZE * 2 / 3;

    Assert.assertEquals(size, unsyncByteArrayInputStream.skip(size));
    Assert.assertEquals(_SIZE - size, unsyncByteArrayInputStream.available());
    Assert.assertEquals(_SIZE - size, unsyncByteArrayInputStream.skip(size));
    Assert.assertEquals(0, unsyncByteArrayInputStream.available());
  }
  @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());
  }