### Question:
DefaultHttp2LocalFlowController implements Http2LocalFlowController { @Override public boolean consumeBytes(final Http2Stream stream, final int numBytes) throws Http2Exception { assert ctx != null && ctx.executor().inEventLoop(); checkPositiveOrZero(numBytes, "numBytes"); if (numBytes == 0) { return false; } if (stream != null && !isClosed(stream)) { if (stream.id() == Http2CodecUtil.CONNECTION_STREAM_ID) { throw new UnsupportedOperationException( "Returning bytes for the connection window is not supported"); } boolean windowUpdateSent = connectionState().consumeBytes(numBytes); windowUpdateSent |= state(stream).consumeBytes(numBytes); return windowUpdateSent; } return false; } DefaultHttp2LocalFlowController(final Http2Connection connection);  DefaultHttp2LocalFlowController(
      final Http2Connection connection,
      final float windowUpdateRatio,
      final boolean autoRefillConnectionWindow); @Override DefaultHttp2LocalFlowController frameWriter(final Http2FrameWriter frameWriter); @Override void channelHandlerContext(final ChannelHandlerContext ctx); @Override void initialWindowSize(final int newWindowSize); @Override int initialWindowSize(); @Override int windowSize(final Http2Stream stream); @Override int initialWindowSize(final Http2Stream stream); @Override void incrementWindowSize(final Http2Stream stream, final int delta); @Override boolean consumeBytes(final Http2Stream stream, final int numBytes); @Override int unconsumedBytes(final Http2Stream stream); void windowUpdateRatio(final float ratio); float windowUpdateRatio(); void windowUpdateRatio(final Http2Stream stream, final float ratio); float windowUpdateRatio(final Http2Stream stream); @Override void receiveFlowControlledFrame(
      final Http2Stream stream, final ByteBuf data, final int padding, final boolean endOfStream); static final float DEFAULT_WINDOW_UPDATE_RATIO; }### Answer:
@Test public void consumeBytesForZeroNumBytesShouldIgnore() throws Http2Exception { assertFalse(controller.consumeBytes(connection.stream(STREAM_ID), 0)); }
@Test(expected = IllegalArgumentException.class) public void consumeBytesForNegativeNumBytesShouldFail() throws Http2Exception { assertFalse(controller.consumeBytes(connection.stream(STREAM_ID), -1)); }