@Parameterized.Parameters(name = "{0}")
    public static Iterable<Object[]> generateTestParameters() {

        return Arrays.asList(new Traversal[][]{
                {__.V().count(), __.bothE().limit(0)},
                {__.V().both().has("name"), null},
                {__.bothE(), null},
                {__.V().outE(), __.outE()},
                {__.V().in(), __.inE()},
                {__.V().local(__.outE("knows", "created").limit(10)), __.outE("knows", "created")},
                {__.out("created"), __.outE("created")},
                {__.in("created", "knows"), __.inE("created", "knows")},
                {__.V().both("created"), __.bothE("created")},
                {__.V().out("created").repeat(__.both("knows")).until(__.inE("bought", "likes")).outE("likes"), __.union(__.outE("created"), __.bothE("bought", "knows", "likes"))},
                {__.union(__.inE("created"), __.bothE()), null},
                {__.union(__.inE("created"), __.outE("created")), __.bothE("created")},
                {__.union(__.inE("knows"), __.outE("created")), __.union(__.outE("created"), __.bothE("knows"))},
                {__.union(__.inE("knows", "created"), __.outE("created")), __.bothE("knows", "created")},
                {__.V().out().out().match(
                        as("a").in("created").as("b"),
                        as("b").in("knows").as("c")).select("c").out("created").values("name"), null}
        });
    }
@author Marko A. Rodriguez (http://markorodriguez.com)
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategyTest.java