Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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]);
        }