### Question:
AssignmentsEditorWidget extends Composite implements HasValue<String> { public void showDataIOEditor(final String datatypes) { String taskName = getTaskName(); String processvars = getProcessVariables(); Map<String, String> assignmentsProperties = AssignmentParser.parseAssignmentsInfo(assignmentsInfo); String datainput = assignmentsProperties.get(AssignmentParser.DATAINPUT); String datainputset = assignmentsProperties.get(AssignmentParser.DATAINPUTSET); String dataoutput = assignmentsProperties.get(AssignmentParser.DATAOUTPUT); String dataoutputset = assignmentsProperties.get(AssignmentParser.DATAOUTPUTSET); String assignments = assignmentsProperties.get(AssignmentParser.ASSIGNMENTS); String disallowedpropertynames = getDisallowedPropertyNames(); String inputvars = null; if (datainput != null) { inputvars = datainput; } if (datainputset != null) { inputvars = datainputset; } String outputvars = null; if (dataoutput != null) { outputvars = dataoutput; } if (dataoutputset != null) { outputvars = dataoutputset; } AssignmentData assignmentData = new AssignmentData(inputvars, outputvars, processvars, assignments, datatypes, disallowedpropertynames); assignmentData.setVariableCountsString(hasInputVars, isSingleInputVar, hasOutputVars, isSingleOutputVar); ActivityDataIOEditor.GetDataCallback callback = assignmentDataJson -> { AssignmentData assignmentData1 = Marshalling.fromJSON(assignmentDataJson, AssignmentData.class); String assignmentsInfoString = createAssignmentsInfoString(assignmentData1); setValue(assignmentsInfoString, true); }; activityDataIOEditor.setCallback(callback); activityDataIOEditor.setAssignmentData(assignmentData); activityDataIOEditor.setDisallowedPropertyNames(assignmentData.getDisallowedPropertyNames()); activityDataIOEditor.setInputAssignmentRows(assignmentData.getAssignmentRows(Variable.VariableType.INPUT)); activityDataIOEditor.setOutputAssignmentRows(assignmentData.getAssignmentRows(Variable.VariableType.OUTPUT)); activityDataIOEditor.setDataTypes(assignmentData.getDataTypes(), assignmentData.getDataTypeDisplayNames()); activityDataIOEditor.setProcessVariables(assignmentData.getProcessVariableNames().stream() .distinct() .collect(Collectors.toList())); activityDataIOEditor.configureDialog(taskName, hasInputVars, isSingleInputVar, hasOutputVars, isSingleOutputVar); activityDataIOEditor.show(); } AssignmentsEditorWidget(final BPMNDefinition bpmnModel,
                            final String assignmentsInfo,
                            final boolean hasInputVars,
                            final boolean isSingleInputVar,
                            final boolean hasOutputVars,
                            final boolean isSingleOutputVar,
                            final SessionManager canvasSessionManager,
                            final GraphUtils graphUtils);  AssignmentsEditorWidget(); @EventHandler("assignmentsButton") void onClickAssignmentsButton(final ClickEvent clickEvent); @EventHandler("assignmentsTextBox") void onClickAssignmentsTextBox(final ClickEvent clickEvent); @Override String getValue(); @Override void setValue(final String value); @Override void setValue(final String value,
                         final boolean fireEvents); @Override HandlerRegistration addValueChangeHandler(final ValueChangeHandler<String> handler); void showAssignmentsDialog(); void showDataIOEditor(final String datatypes); void setReadOnly(final boolean readOnly); static final String DEFAULT_IGNORED_PROPERTY_NAMES; }### Answer:
@Test public void testShowDataIOEditor() { widget.showDataIOEditor(null); verify(activityDataIOEditor).configureDialog(taskNameCaptor.capture(), hasInputVarsCaptor.capture(), isSingleInputVarCaptor.capture(), hasOutputVarsCaptor.capture(), isSingleOutputVarCaptor.capture()); assertEquals(TASK_NAME, taskNameCaptor.getValue()); assertEquals(true, hasInputVarsCaptor.getValue()); assertEquals(false, isSingleInputVarCaptor.getValue()); assertEquals(true, hasOutputVarsCaptor.getValue()); assertEquals(false, isSingleOutputVarCaptor.getValue()); }