//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void mirroredTraversalReversesInitialState() public virtual void MirroredTraversalReversesInitialState() { /* * (a)-->(b)-->(c)-->(d) */ CreateGraph("a TO b", "b TO c", "c TO d"); BranchCollisionPolicy collisionPolicy = (evaluator, pathPredicate) => new StandardBranchCollisionDetectorAnonymousInnerClass(this); Iterables.count(GraphDb.bidirectionalTraversalDescription().mirroredSides(GraphDb.traversalDescription().uniqueness(NODE_PATH).expand(PathExpanders.forType(To), new Org.Neo4j.Graphdb.traversal.InitialBranchState_State <>(0, 10))).collisionPolicy(collisionPolicy).traverse(GetNodeWithName("a"), GetNodeWithName("d"))); }
internal BidirectionalTraverserIterator(Resource resource, MonoDirectionalTraversalDescription start, MonoDirectionalTraversalDescription end, SideSelectorPolicy sideSelector, Org.Neo4j.Graphdb.traversal.BranchCollisionPolicy collisionPolicy, PathEvaluator collisionEvaluator, int maxDepth, IEnumerable <Node> startNodes, IEnumerable <Node> endNodes) : base(resource) { this._sides[Direction.OUTGOING] = new Side(start); this._sides[Direction.INCOMING] = new Side(end); this._uniqueness = MakeSureStartAndEndHasSameUniqueness(start, end); // A little chicken-and-egg problem. This happens when constructing the start/end // selectors and they initially call evaluate() and isUniqueFirst, where the selector is used. // Solved this way for now, to have it return the start side to begin with. this._selector = FixedSide(Direction.OUTGOING); BranchSelector startSelector = start.BranchOrdering.create(new AsOneStartBranch(this, startNodes, start.InitialState, start.UniquenessConflict), start.Expander); this._selector = FixedSide(Direction.INCOMING); BranchSelector endSelector = end.BranchOrdering.create(new AsOneStartBranch(this, endNodes, end.InitialState, start.UniquenessConflict), end.Expander); this._selector = sideSelector.Create(startSelector, endSelector, maxDepth); this._collisionDetector = collisionPolicy.Create(collisionEvaluator, _uniqueness.checkFull); }