### Question:
BPMNFormGenerationModelProvider implements FormGenerationModelProvider<Definitions> { @Override public Definitions generate(final Diagram diagram) throws IOException { return formGenerationModelProviderHelper.generate(diagram); } protected  BPMNFormGenerationModelProvider(); @Inject  BPMNFormGenerationModelProvider(final DefinitionUtils definitionUtils,
                                           final BPMNFormGenerationModelProviderHelper formGenerationModelProviderHelper); @PostConstruct void init(); @Override boolean accepts(final Diagram diagram); @Override Definitions generate(final Diagram diagram);  }### Answer:
@Test @SuppressWarnings("unchecked") public void testGenerateForBPMNDDirectDiagramMarshaller() throws Exception { when(bpmnDirectDiagramMarshaller.marshallToBpmn2Definitions(diagram)).thenReturn(definitions); when(bpmnBackendService.getDiagramMarshaller()).thenReturn(bpmnDirectDiagramMarshaller); Definitions result = tested.generate(diagram); verify(bpmnDirectDiagramMarshaller, times(1)).marshallToBpmn2Definitions(eq(diagram)); assertEquals(result, definitions); }