### Question:
IdleHandler extends ReadTimeoutHandler { @Override protected void readTimedOut(final ChannelHandlerContext ctx) throws Exception { if (first) { LOG.debug("Switch idle"); SwitchIdleEventBuilder builder = new SwitchIdleEventBuilder(); builder.setInfo("Switch idle"); ctx.fireChannelRead(builder.build()); first = false; } } IdleHandler(final long readerIdleTime, final TimeUnit unit); @Override void channelRead(final ChannelHandlerContext ctx, final Object msg);  }### Answer:
@Test public void testReadTimedOut() { try { idleHandler.readTimedOut( mockChHndlrCtx ); } catch (Exception e) { Assert.fail(); } verify(mockChHndlrCtx, times(1)).fireChannelRead(any(SwitchIdleEvent.class)) ; }
@Test public void testReadTimedOutNoOpNotFirst() { try { idleHandler.readTimedOut(mockChHndlrCtx); idleHandler.readTimedOut(mockChHndlrCtx); } catch (Exception e) { Assert.fail(); } verify(mockChHndlrCtx, times(1)).fireChannelRead(any(Object.class)) ; }