Exemplo n.º 1
0
        public void SubWorkflow()
        {
            // Arrange
            var workplan = WorkplanDummy.CreateSub();
            var step     = new SubworkflowStep(workplan);
            var exits    = workplan.Connectors.Where(c => c.Classification.HasFlag(NodeClassification.Exit)).ToArray();

            // Act
            var trans = step.CreateInstance(null);

            // Assert
            Assert.IsInstanceOf <SubworkflowTransition>(trans);
            Assert.AreEqual(2, step.Outputs.Length);
            Assert.AreEqual(2, step.OutputDescriptions.Length);
            var success = step.OutputDescriptions[0];

            Assert.AreEqual("End", success.Name);
            Assert.AreEqual(OutputType.Success, success.OutputType);
            Assert.AreEqual(exits[0].Id, success.MappingValue);
            var failed = step.OutputDescriptions[1];

            Assert.AreEqual("Failed", failed.Name);
            Assert.AreEqual(OutputType.Failure, failed.OutputType);
            Assert.AreEqual(exits[1].Id, failed.MappingValue);
        }
Exemplo n.º 2
0
        public static WorkplanDummy CreateWithSub()
        {
            var workplan = new WorkplanDummy();

            var inital   = Workflow.CreateConnector("Start", NodeClassification.Start);
            var complete = Workflow.CreateConnector("End", NodeClassification.End);

            workplan.Add(inital, complete);

            var subPlan = CreateSub();

            subPlan.Id = 42;
            var sub = new SubworkflowStep(subPlan);

            sub.Inputs[0]  = inital;
            sub.Outputs[0] = sub.Outputs[0] = complete;
            workplan.Add(sub);

            return(workplan);
        }