### Question:
TcpServerEventPublisher extends TcpServerEventListener implements EventSource<TcpServerEventListener>, EventPublisher { @Override public void onConnectionHandlingStart(final long duration, final TimeUnit timeUnit) { listeners.invokeListeners(HANDLE_START_ACTION, duration, timeUnit); } 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 testOnConnectionHandlingStart() throws Exception { rule.publisher.onConnectionHandlingStart(1, MILLISECONDS); rule.listener.assertMethodsCalled(ServerEvent.HandlingStart); assertThat("Listener not called with duration.", rule.listener.getDuration(), is(1L)); assertThat("Listener not called with time unit.", rule.listener.getTimeUnit(), is(MILLISECONDS)); }