@Test public void testNodesAreReturnedOnceWhenSufficientRecentlyUniqueDepthFirst() { testNodesAreReturnedOnceWhenSufficientRecentlyUnique( getGraphDb().traversalDescription().depthFirst() ); }
@Test public void testAllUniqueNodePathsAreReturnedDepthFirst() { testAllUniqueNodePathsAreReturned( getGraphDb().traversalDescription().depthFirst() ); }
@Test public void testRelationshipGlobalTraversalCanFinishDepthFirst() { execute( getGraphDb().traversalDescription().depthFirst(), Uniqueness.RELATIONSHIP_GLOBAL ); }
@Test public void testNodeRecentTraversalCanFinishDepthFirst() { execute( getGraphDb().traversalDescription().depthFirst(), Uniqueness.NODE_RECENT ); }
@Test public void testUnrestrictedTraversalCanFinishDepthFirst() { execute( getGraphDb().traversalDescription().depthFirst(), Uniqueness.NONE ); }
@Test public void testNodeGlobalTraversalCanFinishDepthFirst() { execute( getGraphDb().traversalDescription().depthFirst(), Uniqueness.NODE_GLOBAL ); }
@Test public void testCIsReturnedOnDepthTwoDepthFirst() { testCIsReturnedOnDepthTwo( getGraphDb().traversalDescription().depthFirst() ); }
@Test public void testAllUniqueRelationshipPathsAreReturnedDepthFirst() { testAllUniqueRelationshipPathsAreReturned( getGraphDb().traversalDescription().depthFirst() ); }
@Test public void canPruneTraversalAtSpecificDepthDepthFirst() { canPruneTraversalAtSpecificDepth( getGraphDb().traversalDescription().depthFirst() ); }
@Test public void testNodePathTraversalCanFinishDepthFirst() { execute( getGraphDb().traversalDescription().depthFirst(), Uniqueness.NODE_PATH ); }
@Test public void testRelationshipsAreReturnedOnceWhenSufficientRecentlyUniqueDepthFirst() { testRelationshipsAreReturnedOnceWhenSufficientRecentlyUnique( getGraphDb().traversalDescription().depthFirst() ); }
@Test public void shouldGetBothNodesOnDepthOneForDepthFirst() { shouldGetBothNodesOnDepthOne( getGraphDb().traversalDescription().depthFirst() ); }
@Test public void testAllNodesAreReturnedOnceDepthFirst() { testAllNodesAreReturnedOnce( getGraphDb().traversalDescription().depthFirst() ); }
@Test public void testAllRelationshipsAreReturnedOnceDepthFirst() { testAllRelationshipsAreReturnedOnce( getGraphDb().traversalDescription().depthFirst() ); }
@Test public void canPreFilterNodesDepthFirst() { canPreFilterNodes( getGraphDb().traversalDescription().depthFirst() ); }
@Test public void testRelationshipPathTraversalCanFinishDepthFirst() { execute( getGraphDb().traversalDescription().depthFirst(), Uniqueness.RELATIONSHIP_PATH ); }
@Test public void testRelationshipRecentTraversalCanFinishDepthFirst() { execute( getGraphDb().traversalDescription().depthFirst(), Uniqueness.RELATIONSHIP_RECENT ); }
@Override protected Traverser instantiateTraverser( Node start, Node end ) { // Bidirectional traversal GraphDatabaseService db = start.getGraphDatabase(); TraversalDescription base = db.traversalDescription().depthFirst().uniqueness( uniqueness() ); return db.bidirectionalTraversalDescription() .startSide( base.expand( expander ).evaluator( toDepth( maxDepth / 2 ) ) ) .endSide( base.expand( expander.reverse() ).evaluator( toDepth( maxDepth - maxDepth / 2 ) ) ) .traverse( start, end ); } }
@Test public void makeSureNodesAreTraversedInCorrectOrder() { PathExpander expander = new OrderedByTypeExpander().add( firstComment ).add( comment ).add( next ); Iterator<Node> itr = getGraphDb().traversalDescription().depthFirst().expand( expander ).traverse( node( "A1" ) ).nodes().iterator(); assertOrder( itr, "A1", "C1", "C2", "C3", "A2", "C4", "C5", "C6", "A3", "C7", "C8", "C9" ); expander = new OrderedByTypeExpander().add( next ).add( firstComment ).add( comment ); itr = getGraphDb().traversalDescription().depthFirst().expand( expander ).traverse( node( "A1" ) ).nodes().iterator(); assertOrder( itr, "A1", "A2", "A3", "C7", "C8", "C9", "C4", "C5", "C6", "C1", "C2", "C3" ); }
@Test public void evenDifferentDirectionsKeepsOrder() { PathExpander expander = new OrderedByTypeExpander() .add( next, INCOMING ) .add( firstComment ) .add( comment ) .add( next, OUTGOING ); Iterator<Node> itr = getGraphDb().traversalDescription().depthFirst().expand( expander ).traverse( node( "A2" ) ).nodes().iterator(); assertOrder( itr, "A2", "A1", "C1", "C2", "C3", "C4", "C5", "C6", "A3", "C7", "C8", "C9" ); }