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); }
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); }
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(); }