### Question:
DecisionNavigatorItemFactory { Consumer<DecisionNavigatorItem> getOnUpdate(final DMNDiagramElement dmnDiagramElement) { return (item) -> { dmnDiagramElement.getName().setValue(item.getLabel()); selectedEvent.fire(new DMNDiagramSelected(dmnDiagramElement)); }; } @Inject  DecisionNavigatorItemFactory(final DecisionNavigatorBaseItemFactory baseItemFactory,
                                        final Event<DMNDiagramSelected> selectedEvent,
                                        final DMNDiagramsSession dmnDiagramsSession); DecisionNavigatorItem makeItem(final Node<View, Edge> node); DecisionNavigatorItem makeRoot(final DMNDiagramTuple diagramTuple); DecisionNavigatorItem makeSeparator(final String label);  }### Answer:
@Test public void testGetOnUpdate() { final DMNDiagramElement dmnDiagramElement = mock(DMNDiagramElement.class); final DecisionNavigatorItem item = mock(DecisionNavigatorItem.class); final Name dmnDiagramElementName = new Name(); final String newDiagramName = "New diagram name"; when(item.getLabel()).thenReturn(newDiagramName); when(dmnDiagramElement.getName()).thenReturn(dmnDiagramElementName); factory.getOnUpdate(dmnDiagramElement).accept(item); verify(selectedEvent).fire(diagramSelectedArgumentCaptor.capture()); final DMNDiagramElement actualDiagram = diagramSelectedArgumentCaptor.getValue().getDiagramElement(); assertEquals(dmnDiagramElement, actualDiagram); assertEquals(newDiagramName, actualDiagram.getName().getValue()); }