public void DebugStateTreeBuilder_GivenStates_ShouldAddChildrenCorrectly() { //---------------Set up test pack------------------- var fetch = JsonResource.Fetch("FlatStates"); var debugStates = fetch.DeserializeToObject <List <IDebugState> >(); Assert.AreEqual(6, debugStates.Count()); var buildTree = DebugStateTreeBuilder.BuildTree(debugStates).ToList(); //---------------Assert Precondition---------------- Assert.IsTrue(buildTree.Any(state => state.Children.Any())); //---------------Execute Test ---------------------- var children = buildTree[1].Children; Assert.AreEqual(2, children.Count); //---------------Test Result ----------------------- var debugState = children[0]; Assert.AreEqual("DsfMultiAssignActivity", debugState.ActualType); Assert.AreEqual("Assign (1)", debugState.DisplayName); debugState = children[1]; Assert.AreEqual("DsfMultiAssignActivity", debugState.ActualType); Assert.AreEqual("Assign (1)", debugState.DisplayName); Assert.IsTrue(children.Any(state => !state.Children.Any())); }
public void DebugStateTreeBuilder_GivenStatesWithNestesWithService_ShouldAddChildrenCorrectly() { //---------------Set up test pack------------------- var fetch = JsonResource.Fetch("ForEachWithHelloWorldTest"); var debugStates = fetch.DeserializeToObject <List <IDebugState> >(); Assert.AreEqual(22, debugStates.Count); var treeStates = DebugStateTreeBuilder.BuildTree(debugStates).ToList(); //---------------Assert Precondition---------------- Assert.IsTrue(treeStates.Any(state => state.Children.Any())); var allStates = treeStates.Count; Assert.AreEqual(4, allStates); //---------------Execute Test ---------------------- var debugState = treeStates.Single(state => state.DisplayName.Equals("Assign (3)")); var hasChildren = debugState.Children.Any(); Assert.IsFalse(hasChildren); debugState = treeStates.Single(state => state.DisplayName.Equals("For Each")); hasChildren = debugState.Children.Any(); Assert.IsTrue(hasChildren); var count = debugState.Children.Count; Assert.AreEqual(3, count); var allHas4Children = debugState.Children.All(state => state.Children.Count == 4); Assert.IsTrue(allHas4Children); }
public void DebugStateTreeBuilder_GivenStatesWithNestesForEach_ShouldAddChildrenCorrectly() { //---------------Set up test pack------------------- var fetch = JsonResource.Fetch("NestedForEachWorkFlow"); var debugStates = fetch.DeserializeToObject <List <IDebugState> >(); Assert.AreEqual(7, debugStates.Count); var buildTree = DebugStateTreeBuilder.BuildTree(debugStates).ToList(); //---------------Assert Precondition---------------- Assert.IsTrue(buildTree.Any(state => state.Children.Any())); //---------------Execute Test ---------------------- var children = buildTree[1].Children; Assert.AreEqual(2, children.Count); var count = children.Count(state => state.DisplayName == "For Each"); //---------------Test Result ----------------------- Assert.AreEqual(2, count); var firstGrandChild = children[0].Children; var secondGrandChild = children[1].Children; Assert.AreEqual("Assign (1)", firstGrandChild.Single().DisplayName); Assert.AreEqual("Assign (1)", secondGrandChild.Single().DisplayName); }
public void DebugStateTreeBuilder_GivenStates_ShouldReturnStates() { //---------------Set up test pack------------------- var fetch = JsonResource.Fetch("FlatStates"); var debugStates = fetch.DeserializeToObject <List <IDebugState> >(); //---------------Execute Test ---------------------- var buildTree = DebugStateTreeBuilder.BuildTree(debugStates); //---------------Test Result ----------------------- Assert.IsNotNull(buildTree); }
public void DebugStateTreeBuilder_GivenStates_ShouldTreeWithChildren() { //---------------Set up test pack------------------- var fetch = JsonResource.Fetch("FlatStates"); var debugStates = fetch.DeserializeToObject <List <IDebugState> >(); Assert.AreEqual(6, debugStates.Count()); var buildTree = DebugStateTreeBuilder.BuildTree(debugStates).ToList(); //---------------Assert Precondition---------------- Assert.IsNotNull(buildTree); //---------------Execute Test ---------------------- var states = buildTree.ToList(); Assert.AreEqual(3, states.Count); //---------------Test Result ----------------------- Assert.IsTrue(buildTree.Any(state => state.Children.Any())); }
public void DebugStateTreeBuilder_GivenStatesAllToolsWorkflow_ShouldAggregateErrors() { //---------------Set up test pack------------------- var fetch = JsonResource.Fetch("AllTools"); var debugStates = fetch.DeserializeToObject <List <IDebugState> >(); Assert.AreEqual(76, debugStates.Count); var treeStates = DebugStateTreeBuilder.BuildTree(debugStates).ToList(); //---------------Assert Precondition---------------- Assert.IsFalse(treeStates.Any(state => state.Children.Any())); var allStates = treeStates.Count; Assert.AreEqual(76, allStates); //---------------Execute Test ---------------------- var debugState = treeStates.Last(state => state.StateType == StateType.End && state.DisplayName == "All Tools"); var errorMessage = debugState.ErrorMessage.Split('\n'); Assert.IsNotNull(errorMessage); Assert.AreNotEqual(0, errorMessage.Length); }