### Question:
Traversal { public static Expander expanderForTypes( RelationshipType type, Direction dir ) { return StandardExpander.create( type, dir ); }  static TraversalDescription description(); static Expander expanderForTypes( RelationshipType type,
            Direction dir ); static Expander expanderForTypes( RelationshipType type ); static Expander emptyExpander(); static Expander expanderForTypes( RelationshipType type1,
            Direction dir1, RelationshipType type2, Direction dir2 ); static Expander expanderForTypes( RelationshipType type1,
            Direction dir1, RelationshipType type2, Direction dir2,
            Object... more ); static Expander expanderForAllTypes(); static Expander expanderForAllTypes( Direction direction ); static Expander expander( RelationshipExpander expander ); static TraversalBranch combineSourcePaths( TraversalBranch source,
            TraversalBranch target ); static PruneEvaluator pruneAfterDepth( final int depth ); static Predicate<Path> returnAll(); static Predicate<Path> returnAcceptedByAny( final Predicate<Path>... filters ); static Predicate<Path> returnAllButStartNode(); static BranchOrderingPolicy preorderDepthFirst(); static BranchOrderingPolicy postorderDepthFirst(); static BranchOrderingPolicy preorderBreadthFirst(); static BranchOrderingPolicy postorderBreadthFirst(); static String pathToString( T path, PathDescriptor<T> builder ); static String defaultPathToString( Path path ); static String simplePathToString( Path path ); static String simplePathToString( Path path, final String nodePropertyKey ); static Predicate<Path> returnWhereLastRelationshipTypeIs(
            final RelationshipType firstRelationshipType,
            final RelationshipType... relationshipTypes );  }### Answer:
@Test public void canCreateExpanderWithMultipleTypesAndDirections() { assertNotNull( Traversal.expanderForTypes( T1, INCOMING, T2, OUTGOING, T3, BOTH ) ); }