### Question:
DefaultHttp2RemoteFlowController implements Http2RemoteFlowController { @Override public void incrementWindowSize(final Http2Stream stream, final int delta) throws Http2Exception { assert ctx == null || ctx.executor().inEventLoop(); monitor.incrementWindowSize(state(stream), delta); } DefaultHttp2RemoteFlowController(final Http2Connection connection);  DefaultHttp2RemoteFlowController(
      final Http2Connection connection, final StreamByteDistributor streamByteDistributor);  DefaultHttp2RemoteFlowController(
      final Http2Connection connection, final Listener listener);  DefaultHttp2RemoteFlowController(
      final Http2Connection connection,
      final StreamByteDistributor streamByteDistributor,
      final Listener listener); @Override void channelHandlerContext(final ChannelHandlerContext ctx); @Override ChannelHandlerContext channelHandlerContext(); @Override void initialWindowSize(final int newWindowSize); @Override int initialWindowSize(); @Override int windowSize(final Http2Stream stream); @Override boolean isWritable(final Http2Stream stream); @Override void channelWritabilityChanged(); @Override void updateDependencyTree(
      final int childStreamId,
      final int parentStreamId,
      final short weight,
      final boolean exclusive); @Override void listener(final Listener listener); @Override void incrementWindowSize(final Http2Stream stream, final int delta); @Override void addFlowControlled(final Http2Stream stream, final FlowControlled frame); @Override boolean hasFlowControlled(final Http2Stream stream); @Override void writePendingBytes();  }### Answer:
@Test public void windowUpdateShouldChangeConnectionWindow() throws Http2Exception { incrementWindowSize(CONNECTION_STREAM_ID, 100); assertEquals(DEFAULT_WINDOW_SIZE + 100, window(CONNECTION_STREAM_ID)); assertEquals(DEFAULT_WINDOW_SIZE, window(STREAM_A)); assertEquals(DEFAULT_WINDOW_SIZE, window(STREAM_B)); assertEquals(DEFAULT_WINDOW_SIZE, window(STREAM_C)); assertEquals(DEFAULT_WINDOW_SIZE, window(STREAM_D)); verifyZeroInteractions(listener); }
@Test public void windowUpdateShouldChangeStreamWindow() throws Http2Exception { incrementWindowSize(STREAM_A, 100); assertEquals(DEFAULT_WINDOW_SIZE, window(CONNECTION_STREAM_ID)); assertEquals(DEFAULT_WINDOW_SIZE + 100, window(STREAM_A)); assertEquals(DEFAULT_WINDOW_SIZE, window(STREAM_B)); assertEquals(DEFAULT_WINDOW_SIZE, window(STREAM_C)); assertEquals(DEFAULT_WINDOW_SIZE, window(STREAM_D)); verifyZeroInteractions(listener); }