### Question:
TcpServerEventPublisher extends TcpServerEventListener implements EventSource<TcpServerEventListener>, EventPublisher { @Override public void onConnectionCloseFailed(long duration, TimeUnit timeUnit, Throwable throwable) { connDelegate.onConnectionCloseFailed(duration, timeUnit, throwable); } TcpServerEventPublisher(); private  TcpServerEventPublisher(TcpServerEventPublisher toCopy); @Override void onNewClientConnected(); @Override void onConnectionHandlingStart(final long duration, final TimeUnit timeUnit); @Override void onConnectionHandlingSuccess(final long duration, final TimeUnit timeUnit); @Override void onConnectionHandlingFailed(final long duration, final TimeUnit timeUnit, final Throwable throwable); @Override void onByteRead(long bytesRead); @Override void onByteWritten(long bytesWritten); @Override void onFlushStart(); @Override void onFlushComplete(long duration, TimeUnit timeUnit); @Override void onWriteStart(); @Override void onWriteSuccess(long duration, TimeUnit timeUnit); @Override void onWriteFailed(long duration, TimeUnit timeUnit,
                              Throwable throwable); @Override void onConnectionCloseStart(); @Override void onConnectionCloseSuccess(long duration, TimeUnit timeUnit); @Override void onConnectionCloseFailed(long duration, TimeUnit timeUnit,
                                        Throwable throwable); @Override void onCustomEvent(Object event); @Override void onCustomEvent(Object event, long duration, TimeUnit timeUnit); @Override void onCustomEvent(Object event, long duration, TimeUnit timeUnit, Throwable throwable); @Override void onCustomEvent(Object event, Throwable throwable); @Override boolean publishingEnabled(); @Override Subscription subscribe(TcpServerEventListener listener); TcpServerEventPublisher copy();  }### Answer:
@Test(timeout = 60000) public void testOnConnectionCloseFailed() throws Exception { rule.publisher.onConnectionCloseFailed(1, MILLISECONDS, new NullPointerException()); rule.listener.getConnDelegate().assertMethodsCalled(Event.CloseFailed); }