public void CanDetermineFlowTargetTypeThroughFactory() { var doc = XDocument.Parse(TestFileLoader.Load(@"Bpmn20/simple-exclusive-gateway.bpmn")); string json = JsonConvert.SerializeXNode(doc); JObject bpmn = JObject.Parse(json); var process = bpmn["bpmn:definitions"]["bpmn:process"]; var factory = new FlowTargetFactory(process, "Activity_A"); Assert.Equal("bpmn:task", factory.Target); var bpmnTask = new BpmnTask(factory.Token, new ExpressionContext()); factory = new FlowTargetFactory(process, "Gateway_1d2x0fd"); Assert.Equal("bpmn:exclusiveGateway", factory.Target); }
public void ExclusiveGatewayCanRead() { var doc = XDocument.Parse(TestFileLoader.Load(@"Bpmn20/simple-exclusive-gateway.bpmn")); string json = JsonConvert.SerializeXNode(doc); JObject bpmn = JObject.Parse(json); var process = bpmn["bpmn:definitions"]["bpmn:process"]; var factory = new FlowTargetFactory(process, "Gateway_1d2x0fd"); BpmExclusiveGateway gateway = new BpmExclusiveGateway(factory.Token); Assert.Equal("Gateway_1d2x0fd", gateway.Id); Assert.Single(gateway.Incoming); Assert.Equal("Flow_0hzr3el", gateway.Incoming[0]); Assert.Equal(2, gateway.Outgoing.Count); Assert.Equal("Flow_0gzbcgc", gateway.Outgoing[0]); Assert.Equal("Flow_1fg2zon", gateway.Outgoing[1]); }