package org.activiti.editor.language; 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.ExclusiveGateway; import org.activiti.bpmn.model.FlowElement; import org.activiti.bpmn.model.SequenceFlow; import org.junit.Test; public class FlowNodeConverterTest extends AbstractConverterTest { @Test public void doubleConversionValidation() throws Exception { BpmnModel bpmnModel = readJsonFile(); validateModel(bpmnModel); bpmnModel = convertToJsonAndBack(bpmnModel); //System.out.println("xml " + new String(new BpmnXMLConverter().convertToXML(bpmnModel), "utf-8")); validateModel(bpmnModel); } private void validateModel(BpmnModel model) { FlowElement flowElement = model.getMainProcess().getFlowElement("sid-B074A0DD-934A-4053-A537-20ADF0781023"); assertNotNull(flowElement); assertTrue(flowElement instanceof ExclusiveGateway); ExclusiveGateway gateway = (ExclusiveGateway) flowElement; List<SequenceFlow> sequenceFlows = gateway.getOutgoingFlows(); assertTrue(sequenceFlows.size() == 2); assertTrue(sequenceFlows.get(0).getId().equals("sid-07A7E174-8857-4DE9-A7CD-A041706D79C3") || sequenceFlows.get(0).getId().equals("sid-C2068B1E-9A82-41C9-B876-C58E2736C186")); assertTrue(sequenceFlows.get(1).getId().equals("sid-07A7E174-8857-4DE9-A7CD-A041706D79C3") || sequenceFlows.get(1).getId().equals("sid-C2068B1E-9A82-41C9-B876-C58E2736C186")); assertTrue(sequenceFlows.get(0).getSourceRef().equals("sid-B074A0DD-934A-4053-A537-20ADF0781023")); assertTrue(sequenceFlows.get(1).getSourceRef().equals("sid-B074A0DD-934A-4053-A537-20ADF0781023")); } protected String getResource() { return "test.flownodemodel.json"; } }