@Test
public void setFormItemVariableRecognitionResultSemanticSlot()
        throws JVoiceXMLEvent {

    final DataModel model = Mockito.mock(DataModel.class);
    final RecognitionResult result = Mockito.mock(RecognitionResult.class);
    Mockito.when(result.getUtterance()).thenReturn("a large pizza");
    Mockito.when(result.getSemanticInterpretation(model)).thenReturn("large pizza");
    Mockito.when(result.isAccepted()).thenReturn(true);
    Mockito.when(result.getMode()).thenReturn(ModeType.VOICE);
    Mockito.when(context.getDataModel()).thenReturn(model);
    Mockito.when(model.readVariable("application.lastresult$.interpretation.pizza.size", Object.class))
            .thenReturn("large");
    Mockito.when(model.existsVariable(endsWith("application.lastresult$.interpretation.pizza.size")))
            .thenReturn(true);
    field.setSlot("pizza.size");
    item.setFormItemVariable(result);
    Mockito.verify(model).updateVariable(item.getName(), "large");
}