コード例 #1
0
            public void ReturnsTwoForLooseEndBranch()
            {
                var state1 = new SingleResultState();
                var state2 = new SingleResultState();
                var branch = new TwoResultState();

                configurator.ConfigureTransition(state1.Result, state2);
                configurator.ConfigureTransition(state2.Result, branch);

                var looseEnds = configurator.GetAllLooseEndStateResults();

                looseEnds.Should().HaveCount(2);
            }
コード例 #2
0
            public void ReturnsOneForPartiallyLoopingBranch()
            {
                var state1 = new SingleResultState();
                var state2 = new SingleResultState();
                var branch = new TwoResultState();

                configurator.ConfigureTransition(state1.Result, state2);
                configurator.ConfigureTransition(state2.Result, branch);
                configurator.ConfigureTransition(branch.Result1, state1);

                var looseEnds = configurator.GetAllLooseEndStateResults();

                looseEnds.Should().HaveCount(1);
            }
コード例 #3
0
            public void ReturnsAnEmptyListForBranchingLoop()
            {
                var start              = new SingleResultState();
                var branch             = new TwoResultState();
                var branchContinuation = new SingleResultState();

                configurator.ConfigureTransition(start.Result, branch);
                configurator.ConfigureTransition(branch.Result1, branchContinuation);
                configurator.ConfigureTransition(branchContinuation.Result, start);
                configurator.ConfigureTransition(branch.Result2, start);

                var looseEnds = configurator.GetAllLooseEndStateResults();

                looseEnds.Should().BeEmpty();
            }