### Question:
SetHitPolicyCommand extends AbstractCanvasGraphCommand implements VetoExecutionCommand,
                                                                               VetoUndoCommand { @Override protected Command<AbstractCanvasHandler, CanvasViolation> newCanvasCommand(final AbstractCanvasHandler handler) { return new AbstractCanvasCommand() { @Override public CommandResult<CanvasViolation> execute(final AbstractCanvasHandler handler) { canvasOperation.execute(); return CanvasCommandResultBuilder.SUCCESS; } @Override public CommandResult<CanvasViolation> undo(final AbstractCanvasHandler handler) { canvasOperation.execute(); return CanvasCommandResultBuilder.SUCCESS; } }; } SetHitPolicyCommand(final DecisionTable dtable,
                               final HitPolicy hitPolicy,
                               final org.uberfire.mvp.Command canvasOperation);   }### Answer:
@Test public void testCanvasCommandAllow() { makeCommand(OLD_HIT_POLICY); final Command<AbstractCanvasHandler, CanvasViolation> c = command.newCanvasCommand(handler); assertEquals(CanvasCommandResultBuilder.SUCCESS, c.allow(handler)); }
@Test public void testCanvasCommandExecute() { makeCommand(OLD_HIT_POLICY); final Command<AbstractCanvasHandler, CanvasViolation> c = command.newCanvasCommand(handler); assertEquals(CanvasCommandResultBuilder.SUCCESS, c.execute(handler)); verifyZeroInteractions(handler, gce, ruleManager); verify(canvasOperation).execute(); }
@Test public void testCanvasCommandUndo() { makeCommand(OLD_HIT_POLICY); final Command<AbstractCanvasHandler, CanvasViolation> c = command.newCanvasCommand(handler); assertEquals(CanvasCommandResultBuilder.SUCCESS, c.execute(handler)); reset(canvasOperation); assertEquals(CanvasCommandResultBuilder.SUCCESS, c.undo(handler)); verifyZeroInteractions(handler, gce, ruleManager); verify(canvasOperation).execute(); }