### Question:
ControlPointControlImpl extends AbstractCanvasHandlerRegistrationControl<AbstractCanvasHandler> implements ControlPointControl<AbstractCanvasHandler> { @Override public void deleteControlPoint(final Edge candidate, final int index) { execute(canvasCommandFactory.deleteControlPoint(candidate, index)); } @Inject  ControlPointControlImpl(final CanvasCommandFactory<AbstractCanvasHandler> canvasCommandFactory,
                                   final Event<CanvasSelectionEvent> selectionEvent); @Override void register(final Element element); @Override void addControlPoint(final Edge candidate,
                                final ControlPoint controlPoint,
                                final int index); @Override void updateControlPoints(final Edge candidate,
                                    final ControlPoint[] controlPoints); @Override void deleteControlPoint(final Edge candidate,
                                   final int index); @Override void setCommandManagerProvider(final CommandManagerProvider<AbstractCanvasHandler> provider);  }### Answer:
@Test @SuppressWarnings("unchecked") public void testDeleteControlPoint() { CanvasCommand<AbstractCanvasHandler> deleteControlPointCommand = mock(CanvasCommand.class); doReturn(deleteControlPointCommand).when(canvasCommandFactory).deleteControlPoint(eq(edge), eq(0)); tested.init(canvasHandler); tested.deleteControlPoint(edge, 0); ArgumentCaptor<Command> commandArgumentCaptor = ArgumentCaptor.forClass(Command.class); verify(commandManager, times(1)).execute(eq(canvasHandler), commandArgumentCaptor.capture()); Command<AbstractCanvasHandler, CanvasViolation> command = commandArgumentCaptor.getValue(); assertEquals(deleteControlPointCommand, command); }
@Test public void testStunnerControlPointsAcceptorDelete() { ControlPointControl control = mock(ControlPointControl.class); ControlPointControlImpl.StunnerControlPointsAcceptor acceptor = createStunnerControlPointsAcceptor(control); final boolean deleteResult = acceptor.delete(connector, 1); assertTrue(deleteResult); verify(control, times(1)).deleteControlPoint(eq(edge), eq(0)); }