### Question:
DefaultHttp2FrameReader implements Http2FrameReader, Http2FrameSizePolicy, Configuration { @SuppressWarnings("checkstyle:FinalParameters") private void readUnknownFrame( final ChannelHandlerContext ctx, ByteBuf payload, final int payloadEndIndex, final Http2FrameListener listener) throws Http2Exception { payload = payload.readSlice(payloadEndIndex - payload.readerIndex()); listener.onUnknownFrame(ctx, frameType, streamId, flags, payload); } DefaultHttp2FrameReader();  DefaultHttp2FrameReader(final boolean validateHeaders);  DefaultHttp2FrameReader(final Http2HeadersDecoder headersDecoder); @Override Http2HeadersDecoder.Configuration headersConfiguration(); @Override Configuration configuration(); @Override Http2FrameSizePolicy frameSizePolicy(); @Override void maxFrameSize(final int max); @Override int maxFrameSize(); @Override void close(); @Override void readFrame(
      final ChannelHandlerContext ctx, final ByteBuf input, final Http2FrameListener listener);  }### Answer:
@Test public void readUnknownFrame() throws Http2Exception { final ByteBuf input = Unpooled.buffer(); final ByteBuf payload = Unpooled.buffer(); try { payload.writeByte(1); writeFrameHeader(input, payload.readableBytes(), (byte) 0xff, new Http2Flags(), 0); input.writeBytes(payload); frameReader.readFrame(ctx, input, listener); verify(listener).onUnknownFrame(ctx, (byte) 0xff, 0, new Http2Flags(), payload.slice(0, 1)); } finally { payload.release(); input.release(); } }