### Question:
NiftyMouseImpl implements NiftyMouse { @Override public void enableMouseCursor(@Nullable final String id) { if (id == null) { resetMouseCursor(); return; } if (id.equals(currentId)) { return; } renderDevice.enableMouseCursor(registeredMouseCursors.get(id)); currentId = id; } NiftyMouseImpl(
      @Nonnull final RenderDevice renderDevice,
      @Nonnull final InputSystem inputSystem,
      @Nonnull final TimeProvider timeProvider); @Override void registerMouseCursor(
      @Nonnull final String id,
      @Nonnull final String filename,
      final int hotspotX,
      final int hotspotY); @Nullable @Override String getCurrentId(); @Override void unregisterAll(); @Override void resetMouseCursor(); @Override void enableMouseCursor(@Nullable final String id); @Override void setMousePosition(final int x, final int y); @Override int getX(); @Override int getY(); @Override long getNoMouseMovementTime(); void updateMousePosition(final int x, final int y);  }### Answer:
@Test public void testEnableMouseCursor() throws IOException { expect(renderDeviceMock.createMouseCursor("test", 10, 20)).andReturn(mouseCursor); renderDeviceMock.enableMouseCursor(mouseCursor); replay(renderDeviceMock); niftyMouse.registerMouseCursor("id", "test", 10, 20); niftyMouse.enableMouseCursor("id"); assertEquals("id", niftyMouse.getCurrentId()); }