### Question:
AbstractChannelBuffer implements ChannelBuffer { public int readerIndex() { return readerIndex; }  int readerIndex(); void readerIndex(int readerIndex); int writerIndex(); void writerIndex(int writerIndex); void setIndex(int readerIndex, int writerIndex); void clear(); boolean readable(); boolean writable(); int readableBytes(); int writableBytes(); void markReaderIndex(); void resetReaderIndex(); void markWriterIndex(); void resetWriterIndex(); void discardReadBytes(); void ensureWritableBytes(int writableBytes); short getUnsignedByte(int index); int getUnsignedShort(int index); int getMedium(int index); long getUnsignedInt(int index); char getChar(int index); float getFloat(int index); double getDouble(int index); void getBytes(int index, byte[] dst); void getBytes(int index, ChannelBuffer dst); void getBytes(int index, ChannelBuffer dst, int length); void setChar(int index, int value); void setFloat(int index, float value); void setDouble(int index, double value); void setBytes(int index, byte[] src); void setBytes(int index, ChannelBuffer src); void setBytes(int index, ChannelBuffer src, int length); void setZero(int index, int length); byte readByte(); short readUnsignedByte(); short readShort(); int readUnsignedShort(); int readMedium(); int readUnsignedMedium(); int readInt(); long readUnsignedInt(); long readLong(); char readChar(); float readFloat(); double readDouble(); ChannelBuffer readBytes(int length); @Deprecated ChannelBuffer readBytes(ChannelBufferIndexFinder endIndexFinder); ChannelBuffer readSlice(int length); @Deprecated ChannelBuffer readSlice(ChannelBufferIndexFinder endIndexFinder); void readBytes(byte[] dst, int dstIndex, int length); void readBytes(byte[] dst); void readBytes(ChannelBuffer dst); void readBytes(ChannelBuffer dst, int length); void readBytes(ChannelBuffer dst, int dstIndex, int length); void readBytes(ByteBuffer dst); int readBytes(GatheringByteChannel out, int length); void readBytes(OutputStream out, int length); void skipBytes(int length); @Deprecated int skipBytes(ChannelBufferIndexFinder firstIndexFinder); void writeByte(int value); void writeShort(int value); void writeMedium(int value); void writeInt(int value); void writeLong(long value); void writeChar(int value); void writeFloat(float value); void writeDouble(double value); void writeBytes(byte[] src, int srcIndex, int length); void writeBytes(byte[] src); void writeBytes(ChannelBuffer src); void writeBytes(ChannelBuffer src, int length); void writeBytes(ChannelBuffer src, int srcIndex, int length); void writeBytes(ByteBuffer src); int writeBytes(InputStream in, int length); int writeBytes(ScatteringByteChannel in, int length); void writeZero(int length); ChannelBuffer copy(); ChannelBuffer slice(); ByteBuffer toByteBuffer(); ByteBuffer[] toByteBuffers(); ByteBuffer[] toByteBuffers(int index, int length); String toString(Charset charset); String toString(int index, int length, Charset charset); @Deprecated String toString(int index, int length, String charsetName,
            ChannelBufferIndexFinder terminatorFinder); @Deprecated String toString(int index, int length, String charsetName); @Deprecated String toString(String charsetName,
            ChannelBufferIndexFinder terminatorFinder); @Deprecated String toString(String charsetName); int indexOf(int fromIndex, int toIndex, byte value); int indexOf(int fromIndex, int toIndex, ChannelBufferIndexFinder indexFinder); int bytesBefore(byte value); int bytesBefore(ChannelBufferIndexFinder indexFinder); int bytesBefore(int length, byte value); int bytesBefore(int length, ChannelBufferIndexFinder indexFinder); int bytesBefore(int index, int length, byte value); int bytesBefore(int index, int length,
            ChannelBufferIndexFinder indexFinder); @Override int hashCode(); @Override boolean equals(Object o); int compareTo(ChannelBuffer that); @Override String toString();  }### Answer:
@Test public void initialState() { assertEquals(CAPACITY, buffer.capacity()); assertEquals(0, buffer.readerIndex()); }