@Test
  public void testGeneratedTwoFrames() throws IOException {
    WebSocketPolicy policy = WebSocketPolicy.newClientPolicy();

    DeflateFrameExtension ext = new DeflateFrameExtension();
    ext.setBufferPool(bufferPool);
    ext.setPolicy(policy);
    ext.setConfig(new ExtensionConfig(ext.getName()));

    boolean validating = true;
    Generator generator = new Generator(policy, bufferPool, validating);
    generator.configureFromExtensions(Collections.singletonList(ext));

    OutgoingNetworkBytesCapture capture = new OutgoingNetworkBytesCapture(generator);
    ext.setNextOutgoingFrames(capture);

    ext.outgoingFrame(new TextFrame().setPayload("Hello"), null);
    ext.outgoingFrame(new TextFrame().setPayload("There"), null);

    capture.assertBytes(0, "c107f248cdc9c90700");
  }
  private void assertOutgoing(String text, String expectedHex) throws IOException {
    WebSocketPolicy policy = WebSocketPolicy.newClientPolicy();

    DeflateFrameExtension ext = new DeflateFrameExtension();
    ext.setBufferPool(bufferPool);
    ext.setPolicy(policy);

    ExtensionConfig config = ExtensionConfig.parse("deflate-frame");
    ext.setConfig(config);

    boolean validating = true;
    Generator generator = new Generator(policy, bufferPool, validating);
    generator.configureFromExtensions(Collections.singletonList(ext));

    OutgoingNetworkBytesCapture capture = new OutgoingNetworkBytesCapture(generator);
    ext.setNextOutgoingFrames(capture);

    Frame frame = new TextFrame().setPayload(text);
    ext.outgoingFrame(frame, null);

    capture.assertBytes(0, expectedHex);
  }