@Test public void testDoDraw() { final BallItem ballItem = new BallItem(); final BallThread ballThread = mock(BallThread.class); ballItem.setTwin(ballThread); ballItem.draw(); assertTrue(appender.logContains("draw")); assertTrue(appender.logContains("doDraw")); verifyNoMoreInteractions(ballThread); assertEquals(2, appender.getLogSize()); }
@Override public void doDraw() { LOGGER.info("doDraw"); }
BallItem extends GameItem { @Override public void doDraw() { LOGGER.info("doDraw"); } }
BallItem extends GameItem { @Override public void doDraw() { LOGGER.info("doDraw"); }  }
BallItem extends GameItem { @Override public void doDraw() { LOGGER.info("doDraw"); }  void setTwin(BallThread twin); @Override void doDraw(); void move(); @Override void click(); }
BallItem extends GameItem { @Override public void doDraw() { LOGGER.info("doDraw"); }  void setTwin(BallThread twin); @Override void doDraw(); void move(); @Override void click();  }