### Question:
ExportExecutionApi { public ExportExecutionDescriptor start(String execId, ReportExportOptions reportExportOptions) throws ServiceException { ExecutionRequestOptions options = mExportOptionsMapper.transform(reportExportOptions); try { return mReportExportRestApi.runExportExecution(execId, options); } catch (HttpException e) { throw mExceptionMapper.transform(e); } catch (IOException e) { throw mExceptionMapper.transform(e); } } ExportExecutionApi(ServiceExceptionMapper exceptionMapper,
                       ReportExportRestApi reportExportRestApi,
                       ExportOptionsMapper exportOptionsMapper,
                       ReportExportMapper reportExportMapper,
                       AttachmentExportMapper attachmentExportMapper); ExportExecutionDescriptor start(String execId, ReportExportOptions reportExportOptions); ExecutionStatus awaitReadyStatus(String execId, String exportId, String reportUri, long delay); ReportExportOutput downloadExport(String execId, String exportId); ResourceOutput downloadAttachment(String execId, String exportId, String attachmentId);  }### Answer:
@Test public void testStart() throws Exception { when(mExportOptionsMapper.transform(any(ReportExportOptions.class))).thenReturn(mExecutionRequestOptions); ReportExportOptions criteria = FakeOptions.export(); exportExecutionApi.start(EXEC_ID, criteria); verify(mReportExportRestApi).runExportExecution(EXEC_ID, mExecutionRequestOptions); }