### Question:
DestinationAndModel { public Map<String, Object> getModel(FacesContext context, Map<String, List<String>> parameters, Map<String, Object> resolvedViewModel) { ModelBuilder modelBuilder = newModelBuilder(context); modelBuilder.addFromComponent(getComponent()); modelBuilder.add(this.navigationOutcome.getImplicitModel(), true); modelBuilder.addFromParameterList(parameters); modelBuilder.add(resolvedViewModel, false); return modelBuilder.getModel(); } DestinationAndModel(NavigationOutcome navigationOutcome, PreRenderComponentEvent preRenderComponentEvent);  DestinationAndModel(NavigationOutcome navigationOutcome, ActionEvent actionEvent); Object getDestination(); Map<String, Object> getModel(FacesContext context, Map<String, List<String>> parameters,
			Map<String, Object> resolvedViewModel);  }### Answer:
@Test public void shouldBuildModel() throws Exception { Map<String, Object> implicitModel = new HashMap<String, Object>(); implicitModel.put("implicit", "value"); NavigationOutcome outcome = new NavigationOutcome(new Object(), implicitModel); UIComponent component = mock(UIComponent.class); ActionEvent actionEvent = new ActionEvent(component); final ModelBuilder modelBuilder = mock(ModelBuilder.class); DestinationAndModel dam = new DestinationAndModel(outcome, actionEvent) { @Override protected ModelBuilder newModelBuilder(FacesContext context) { return modelBuilder; } }; FacesContext context = mock(FacesContext.class); Map<String, List<String>> parameters = new HashMap<String, List<String>>(); parameters.put("parameters", Collections.<String> emptyList()); Map<String, Object> resolvedViewModel = Collections.<String, Object> singletonMap("resolved", "resolvedValue"); dam.getModel(context, parameters, resolvedViewModel); InOrder ordered = inOrder(modelBuilder); ordered.verify(modelBuilder).addFromComponent(component); ordered.verify(modelBuilder).add(implicitModel, true); ordered.verify(modelBuilder).addFromParameterList(parameters); ordered.verify(modelBuilder).add(resolvedViewModel, false); }