@Test
public void testReleaseAndFailAll() {

    writeQueue.add(cat, catPromise);
    writeQueue.add(mouse, mouseListener);
    RuntimeException cause = new RuntimeException("ooops");
    writeQueue.releaseAndFailAll(cause);
    ChannelPromise aggregatePromise = newPromise();
    assertQueueSize(0, true);
    assertEquals(0, cat.refCnt());
    assertEquals(0, mouse.refCnt());
    assertSame(cause, catPromise.cause());
    assertEquals("", dequeue(Integer.MAX_VALUE, aggregatePromise));
    assertQueueSize(0, true);
}