Ejemplo n.º 1
0
        public void ToGraphWithDecisionsOutputsGraph(
            IEnumerable <QuestionWrapper> questions,
            [Frozen] StringToGuidIdFactory idFactory,
            [QuestionSequentialFlowCreator] QuestionSequentialFlow sequentialFlow,
            MermaidProcessor mermaidProcessor)
        {
            var graph   = sequentialFlow.ToGraph(questions);
            var mermaid = mermaidProcessor.Process(graph);

            Assert.NotNull(mermaid);
        }
Ejemplo n.º 2
0
        public void OutputsFromGraphWithSameIds(MermaidProcessor processor)
        {
            var flow = new FlowBuilder()
                       .FromStartTo(new State(Guid.Parse("0B50B190-A8E3-4461-AB27-1E28775201C5"), "Login")).Via(new Action("Navigate"))
                       .From(new State(Guid.Parse("0B50B190-A8E3-4461-AB27-1E28775201C5"), "Login")).To(new Decision(Guid.Parse("A4EDA007-76A1-4163-A286-9472B7BB8795"), "Valid Credentials?")).Via(new Action("Submit"))
                       .From(new Decision(Guid.Parse("A4EDA007-76A1-4163-A286-9472B7BB8795"), "Valid Credentials?")).To(new State("Login Error")).Via(new Action("No"))
                       .From(new Decision(Guid.Parse("A4EDA007-76A1-4163-A286-9472B7BB8795"), "Valid Credentials?")).To(new State("Welcome")).Via(new Action("Yes"))
                       .Build();

            var output = processor.Process(flow.ToGraph());

            Assert.NotNull(output);
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            var loginScreen      = new Screen("Login");
            var validCredentials = new Decision("Valid Credentials?");

            var uiFlow = new UiFlowBuilder()
                         .FromStartTo(loginScreen).Via(new Action("Navigate"))
                         .From(loginScreen).To(validCredentials).Via(new Action("Submit"))
                         .From(validCredentials).To(new Screen("Login Error")).Via(new Action("No"))
                         .From(validCredentials).To(new Screen("Welcome")).Via(new Action("Yes"))
                         .Build();

            var mermaidOutput = new MermaidProcessor().Process(uiFlow.ToGraph());

            Console.WriteLine(mermaidOutput);
        }
Ejemplo n.º 4
0
        public void OutputsFromGraph(MermaidProcessor processor)
        {
            var loginScreen      = new State("Login");
            var validCredentials = new Decision("Valid Credentials?");

            var flow = new FlowBuilder()
                       .FromStartTo(loginScreen).Via(new Action("Navigate"))
                       .From(loginScreen).To(validCredentials).Via(new Action("Submit"))
                       .From(validCredentials).To(new State("Login Error")).Via(new Action("No"))
                       .From(validCredentials).To(new State("Welcome")).Via(new Action("Yes"))
                       .Build();

            var output = processor.Process(flow.ToGraph());

            Assert.NotNull(output);
        }