### Question:
ReverseCommand implements Command<T, V> { @Override public CommandResult<V> undo(T context) { return command.execute(context); } ReverseCommand(Command<T, V> command); @Override CommandResult<V> allow(T context); @Override CommandResult<V> execute(T context); @Override CommandResult<V> undo(T context);  }### Answer:
@Test public void testUndo() throws Exception { reverseCommand.undo(context); verify(command).execute(eq(context)); }