### Question:
SafeDeleteNodeCommand extends AbstractGraphCompositeCommand { public Optional<SafeDeleteNodeCommandCallback> getSafeDeleteCallback() { return safeDeleteCallback; } SafeDeleteNodeCommand(final @MapsTo("candidateUUID") String candidateUUID,
                                 final @MapsTo("options") Options options);  SafeDeleteNodeCommand(final Node<?, Edge> node);  SafeDeleteNodeCommand(final Node<?, Edge> node,
                                 final Options options);  SafeDeleteNodeCommand(final Node<?, Edge> node,
                                 final SafeDeleteNodeCommandCallback safeDeleteCallback,
                                 final Options options); Optional<SafeDeleteNodeCommandCallback> getSafeDeleteCallback(); boolean shouldKeepChildren(final Node<Definition<?>, Edge> candidate); GraphsProvider getGraphsProvider(); Node<?, Edge> getNode(); Options getOptions(); @Override String toString();  }### Answer:
@Test public void testGetSafeDeleteCallback() { final Node node = mock(Node.class); when(node.getUUID()).thenReturn("uuid"); final SafeDeleteNodeCommand.SafeDeleteNodeCommandCallback callback = mock(SafeDeleteNodeCommand.SafeDeleteNodeCommandCallback.class); final SafeDeleteNodeCommand command = new SafeDeleteNodeCommand(node, callback, SafeDeleteNodeCommand.Options.defaults()); final Optional<SafeDeleteNodeCommand.SafeDeleteNodeCommandCallback> actual = command.getSafeDeleteCallback(); assertTrue(actual.isPresent()); assertEquals(callback, actual.get()); }