internal TestPathTree Add(TestHost host) { var next = new TestPathTree(Builder, host, null); if (Inner != null) { throw new InternalErrorException(); } Inner = next; next.Outer = this; return(next); }
protected void Resolve() { if (resolved || resolving) { return; } resolving = true; ResolveMembers(); TestPathTree parentTree = null; if (Parent != null) { parentTree = Parent.Tree; } children = CreateChildren().ToList(); host = CreateHost(); var parameterHosts = new LinkedList <TestHost> (); tree = treeRoot = new TestPathTree(this, host, parentTree); foreach (var current in CreateParameterHosts()) { parameterHosts.AddFirst(current); } var parameterIter = parameterHosts.Last; while (parameterIter != null) { tree = tree.Add(parameterIter.Value); parameterIter = parameterIter.Previous; } resolvedTree = true; foreach (var child in children) { child.Resolve(); } resolvedChildren = true; resolved = true; }
public TestPathTreeNode(TestPathTree tree, TestPath path) { Tree = tree; Path = path; Node = (TestNodeInternal)path.Node; }
public TestPathTreeNode(TestPathTree tree, TestPath path, TestNodeInternal node) { Tree = tree; Path = path; Node = node; }
internal TestPathTree(TestBuilder builder, TestHost host, TestPathTree parent) { Builder = builder; Host = host; Parent = parent; }
public TestPathNode(TestPathTree tree, TestPath path) { Tree = tree; Path = path; }