### Question:
CommandManagerImpl implements CommandManager<C, V>,
                                                 HasCommandListener<CommandListener<C, V>> { @Override public CommandResult<V> undo(final C context, final Command<C, V> command) { logCommand("UNDO", command); final CommandResult<V> result = command.undo(context); if (null != listener) { listener.onUndo(context, command, result); } logResult(result); return result; } CommandManagerImpl(); @Override CommandResult<V> allow(final C context,
                                  final Command<C, V> command); @Override CommandResult<V> execute(final C context,
                                    final Command<C, V> command); @Override CommandResult<V> undo(final C context,
                                 final Command<C, V> command); @Override void setCommandListener(final CommandListener<C, V> listener);  }### Answer:
@Test public void undoTest() { commandManager.undo(null, command); verify(commandListener, times(1)).onUndo(any(), any(), any()); }