### Question:
BallItem extends GameItem { public void move() { LOGGER.info("move"); }  void setTwin(BallThread twin); @Override void doDraw(); void move(); @Override void click();  }### Answer:
@Test public void testMove() { final var ballItem = new BallItem(); final var ballThread = mock(BallThread.class); ballItem.setTwin(ballThread); ballItem.move(); assertTrue(appender.logContains("move")); verifyNoMoreInteractions(ballThread); assertEquals(1, appender.getLogSize()); }
@Test public void testMove() { final BallItem ballItem = new BallItem(); final BallThread ballThread = mock(BallThread.class); ballItem.setTwin(ballThread); ballItem.move(); assertTrue(appender.logContains("move")); verifyNoMoreInteractions(ballThread); assertEquals(1, appender.getLogSize()); }