### Question:
WorkflowRemover extends ProcessDefinition { EnumMap<ReportColumns, Object> report(WorkflowRemovalStatus status) { final EnumMap<ReportColumns, Object> row = new EnumMap<>(ReportColumns.class); row.put(ReportColumns.STARTED, status.getStartedAt()); row.put(ReportColumns.CHECKED, status.getChecked()); row.put(ReportColumns.REMOVED, status.getRemoved()); row.put(ReportColumns.COMPLETED, status.getCompletedAt()); row.put(ReportColumns.ERRED, status.getErredAt()); row.put(ReportColumns.INITIATED_BY, status.getInitiatedBy()); return row; } WorkflowRemover(WorkflowInstanceRemover workflowInstanceRemover); @Override void buildProcess(ProcessInstance instance, ResourceResolver rr); @Override void storeReport(ProcessInstance instance, ResourceResolver rr); @Override void init(); List<String> getModelIds(); List<Pattern> getPayloads(); Calendar getOlderThan(); List<String> getStatuses(); @FormField(name = "Workflow Payload Paths", description = "Payload path regex", hint = "/content/dam/.*",
            component = MultifieldComponent.class)
    public List<String> payloadPaths; @FormField(name = "Workflows Older Than", description = "only remove workflows older than the specified date",
            component = DatePickerComponent.class)
    public String olderThanVal; @FormField(
            name = "Workflow Models",
            description = "If no Workflow Models are selected, Workflow Instances will not be filtered by Workflow Model.",
            component = MultifieldComponent.class, options = { MultifieldComponent.USE_CLASS
                    + "=com.adobe.acs.commons.mcp.form.workflow.WorkflowModelSelector" })
    public List<String> modelIds; @FormField(name = "Workflow Statuses", component = MultifieldComponent.class, required = true,
            options = { MultifieldComponent.USE_CLASS
                    + "=com.adobe.acs.commons.mcp.form.workflow.WorkflowStatusSelector" })
    public List<String> statuses; }### Answer:
@Test public void report() { WorkflowRemovalStatus removalStatus = new WorkflowRemovalStatus(ctx.resourceResolver()); removalStatus.setRunning(false); removalStatus.setChecked(357); removalStatus.setRemoved(124); removalStatus.setCompletedAt(Calendar.getInstance()); EnumMap<WorkflowRemover.ReportColumns, Object> report = remover.report(removalStatus); log.debug(report.toString()); assertEquals("Value does not match input", 357, report.get(WorkflowRemover.ReportColumns.CHECKED)); assertEquals("Value does not match input", 124, report.get(WorkflowRemover.ReportColumns.REMOVED)); }