### Question:
GuidedTourGraphObserver extends GuidedTourObserver<GuidedTourGraphObserver> { public void onAbstractCanvasElementRemovedEvent(final @Observes CanvasElementRemovedEvent event) { onCanvasEvent(REMOVED.name(), getNodeName(event)); } @Inject  GuidedTourGraphObserver(final Disposer<GuidedTourGraphObserver> disposer,
                                   final GuidedTourUtils guidedTourUtils); void onCanvasElementAddedEvent(final @Observes CanvasElementAddedEvent event); void onCanvasElementUpdatedEvent(final @Observes CanvasElementUpdatedEvent event); void onAbstractCanvasElementRemovedEvent(final @Observes CanvasElementRemovedEvent event);  }### Answer:
@Test public void testOnAbstractCanvasElementRemovedEvent() { final CanvasElementRemovedEvent event = new CanvasElementRemovedEvent(null, null); final UserInteraction userInteraction = mock(UserInteraction.class); final NodeImpl<View> node = new NodeImpl<>("0000"); final String nodeName = "Decision-1"; when(guidedTourUtils.getName(event)).thenReturn(Optional.of(nodeName)); doReturn(userInteraction).when(observer).buildUserInteraction(REMOVED.name(), nodeName); observer.onAbstractCanvasElementRemovedEvent(event); verify(bridge).refresh(userInteraction); }