package org.activiti.editor.language; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.util.List; import org.activiti.bpmn.model.BpmnModel; import org.activiti.bpmn.model.CallActivity; import org.activiti.bpmn.model.FlowElement; import org.activiti.bpmn.model.IOParameter; import org.junit.Test; public class CallActivityConverterTest extends AbstractConverterTest { @Test public void connvertJsonToModel() throws Exception { BpmnModel bpmnModel = readJsonFile(); validateModel(bpmnModel); } @Test public void doubleConversionValidation() throws Exception { BpmnModel bpmnModel = readJsonFile(); bpmnModel = convertToJsonAndBack(bpmnModel); validateModel(bpmnModel); } protected String getResource() { return "test.callactivitymodel.json"; } private void validateModel(BpmnModel model) { FlowElement flowElement = model.getMainProcess().getFlowElementMap().get("callactivity"); assertNotNull(flowElement); assertTrue(flowElement instanceof CallActivity); CallActivity callActivity = (CallActivity) flowElement; assertEquals("callactivity", callActivity.getId()); assertEquals("Call activity", callActivity.getName()); assertEquals("processId", callActivity.getCalledElement()); List<IOParameter> parameters = callActivity.getInParameters(); assertEquals(2, parameters.size()); IOParameter parameter = parameters.get(0); assertEquals("test", parameter.getSource()); assertEquals("test", parameter.getTarget()); parameter = parameters.get(1); assertEquals("${test}", parameter.getSourceExpression()); assertEquals("test", parameter.getTarget()); parameters = callActivity.getOutParameters(); assertEquals(1, parameters.size()); parameter = parameters.get(0); assertEquals("test", parameter.getSource()); assertEquals("test", parameter.getTarget()); } }