ByteBuffer { public byte[] toArray() { return toArray(0, size()); } ByteBuffer();  ByteBuffer(int capacity);  ByteBuffer(byte[] bytes);  ByteBuffer(byte[] bytes, int capacity);  ByteBuffer(byte[] bytes, int offset, int length);  ByteBuffer(byte[] bytes, int offset, int length, int capacity);  ByteBuffer(String string0);  ByteBuffer(String string0, int capacity); int size(); int capacity(); int free(); boolean isFree(int count); boolean isEmpty(); boolean isFull(); void clear(); void add(byte b); void add(byte[] bytes); void add(byte[] bytes, int offset, int length); void delete(int count); byte remove(); byte[] remove(int count); int occurrences(byte b); int occurrences(byte[] bytes); ByteBuffer copy(); ByteBuffer copy(int offset, int length); ByteBuffer copy(int offset, int length, int capacity); byte get(int index); byte[] toArray(); byte[] toArray(int offset, int length); byte[] toArray(int offset, int length, int capacity); void toArray(int offset, int length, byte[] targetBuffer, int targetOffset); boolean startsWith(byte[] prefix); boolean endsWith(byte[] prefix); int indexOf(byte[] bytes); int indexOf(byte[] bytes, int offset); @Override int hashCode(); @Override boolean equals(Object obj); boolean equals(byte[] bytes); @Override String toString(); String toHexString(); String toHexString(int offset, int length);  }
@Test public void toArray() throws BufferException { ByteBuffer buffer = new ByteBuffer(TEST_BYTES1); byte[] copyArray = buffer.toArray(); Assert.assertArrayEquals(TEST_BYTES1, copyArray); }
@Test public void toArrayWithExtraCapacity() throws BufferException { ByteBuffer buffer = new ByteBuffer(TEST_BYTES1, TEST_BYTES1.length+20); byte[] copyArray = buffer.toArray(); Assert.assertArrayEquals(TEST_BYTES1, copyArray); Assert.assertEquals(TEST_BYTES1.length, copyArray.length); }
@Test public void toArrayZeroLength() throws BufferException { ByteBuffer buffer = createCircledByteBuffer(TEST_BYTES1.length+20); byte[] zeroArray = new byte[0]; byte[] copyArray = buffer.toArray(); Assert.assertArrayEquals(zeroArray, copyArray); }
@Test(expected=IllegalArgumentException.class) public void toArrayWithOffsetLengthSmallCapacity() throws BufferException { ByteBuffer buffer = new ByteBuffer(TEST_BYTES1); byte[] copyArray = buffer.toArray(5, 2, 1); }
@Test public void toArrayWithOffsetLengthCapacity() throws BufferException { ByteBuffer buffer = new ByteBuffer(TEST_BYTES1); byte[] copyArray = buffer.toArray(3, 1, 1); Assert.assertArrayEquals(this.TEST_L, copyArray); copyArray = buffer.toArray(5, 2, 2); Assert.assertArrayEquals(this.TEST_SPACEW, copyArray); copyArray = buffer.toArray(10, 1, 4); byte[] tmp = new byte[4]; tmp[0] = (byte)'D'; Assert.assertArrayEquals(tmp, copyArray); Assert.assertEquals(4, copyArray.length); }