diff --git a/src/test/java/com/syncleus/ferma/annotations/InVertexMethodHandlerTest.java b/src/test/java/com/syncleus/ferma/annotations/InVertexMethodHandlerTest.java
index b8fd6b38730b4c9c0c7babe51fd0fc9ffe303281..8b881138345b694a5c3eaf293d8b5c691d9795af 100644
--- a/src/test/java/com/syncleus/ferma/annotations/InVertexMethodHandlerTest.java
+++ b/src/test/java/com/syncleus/ferma/annotations/InVertexMethodHandlerTest.java
@@ -15,41 +15,50 @@
  */
 package com.syncleus.ferma.annotations;
 
+import com.google.common.base.Function;
 import com.syncleus.ferma.DelegatingFramedGraph;
 import com.syncleus.ferma.FramedGraph;
 import com.syncleus.ferma.VertexFrame;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
 import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
 import org.junit.Assert;
 import org.junit.Test;
 
+import javax.annotation.Nullable;
 import java.util.*;
 
 public class InVertexMethodHandlerTest {
 
     private static final Set<Class<?>> TEST_TYPES = new HashSet<>(Arrays.asList(new Class<?>[]{God.class, FatherEdge.class, GodExtended.class, FatherEdgeExtended.class}));
 
-//    @Test
-//    public void testGetSonEdges() {
-//        final TinkerGraph godGraph = TinkerGraph.open();
-//        GodGraphLoader.load(godGraph);
-//
-//        final FramedGraph framedGraph = new DelegatingFramedGraph(godGraph, TEST_TYPES);
-//
-//        final List<? extends God> gods = framedGraph.v().has("name", "jupiter").toList(God.class);
-//
-//        God father = gods.iterator().next();
-//        Assert.assertTrue(father != null);
-//        VertexFrame fatherVertex = father;
-//        Assert.assertEquals(fatherVertex.getProperty("name"), "jupiter");
-//
-//        final Iterable<? extends FatherEdge> childrenEdges = father.getSonEdges(FatherEdge.class);
-//        final Iterator<? extends FatherEdge> childEdgeIterator = childrenEdges.iterator();
-//        Assert.assertTrue(childEdgeIterator.hasNext());
-//        final FatherEdge childEdge = childEdgeIterator.next();
-//
-//        father = childEdge.getFather();
-//        Assert.assertTrue(father != null);
-//        fatherVertex = father;
-//        Assert.assertEquals(fatherVertex.getProperty("name"), "jupiter");
-//    }
+    @Test
+    public void testGetSonEdges() {
+        final TinkerGraph godGraph = TinkerGraph.open();
+        GodGraphLoader.load(godGraph);
+
+        final FramedGraph framedGraph = new DelegatingFramedGraph(godGraph, TEST_TYPES);
+
+        final List<? extends God> gods = framedGraph.traverse(new Function<GraphTraversalSource, GraphTraversal<?, ?>>() {
+            @Nullable
+            @Override
+            public GraphTraversal<?, ?> apply(@Nullable final GraphTraversalSource input) {
+                return input.V().has("name", "jupiter");
+            }
+        }).toList(God.class);
+
+        God father = gods.iterator().next();
+        Assert.assertTrue(father != null);
+        VertexFrame fatherVertex = father;
+        Assert.assertEquals(fatherVertex.getProperty("name"), "jupiter");
+
+        final Iterator<? extends FatherEdge> childEdgeIterator = father.getSonEdges(FatherEdge.class);
+        Assert.assertTrue(childEdgeIterator.hasNext());
+        final FatherEdge childEdge = childEdgeIterator.next();
+
+        father = childEdge.getFather();
+        Assert.assertTrue(father != null);
+        fatherVertex = father;
+        Assert.assertEquals(fatherVertex.getProperty("name"), "jupiter");
+    }
 }
diff --git a/src/test/java/com/syncleus/ferma/annotations/OutVertexMethodHandlerTest.java b/src/test/java/com/syncleus/ferma/annotations/OutVertexMethodHandlerTest.java
index b077b4dcd99d6286be449dead53e6273b226fa19..1036275c7fb9b9237241c0f995fc02679344a5a9 100644
--- a/src/test/java/com/syncleus/ferma/annotations/OutVertexMethodHandlerTest.java
+++ b/src/test/java/com/syncleus/ferma/annotations/OutVertexMethodHandlerTest.java
@@ -15,41 +15,50 @@
  */
 package com.syncleus.ferma.annotations;
 
+import com.google.common.base.Function;
 import com.syncleus.ferma.DelegatingFramedGraph;
 import com.syncleus.ferma.FramedGraph;
 import com.syncleus.ferma.VertexFrame;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
 import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
 import org.junit.Assert;
 import org.junit.Test;
 
+import javax.annotation.Nullable;
 import java.util.*;
 
 public class OutVertexMethodHandlerTest {
 
     private static final Set<Class<?>> TEST_TYPES = new HashSet<>(Arrays.asList(new Class<?>[]{God.class, FatherEdge.class, GodExtended.class, FatherEdgeExtended.class}));
 
-//    @Test
-//    public void testGetSonEdges() {
-//        final TinkerGraph godGraph = TinkerGraph.open();
-//        GodGraphLoader.load(godGraph);
-//
-//        final FramedGraph framedGraph = new DelegatingFramedGraph(godGraph, TEST_TYPES);
-//
-//        final List<? extends God> gods = framedGraph.v().has("name", "jupiter").toList(God.class);
-//
-//        final God father = gods.iterator().next();
-//        Assert.assertTrue(father != null);
-//        final VertexFrame fatherVertex = father;
-//        Assert.assertEquals(fatherVertex.getProperty("name"), "jupiter");
-//
-//        final Iterable<? extends FatherEdge> childrenEdges = father.getSonEdges(FatherEdge.class);
-//        final Iterator<? extends FatherEdge> childEdgeIterator = childrenEdges.iterator();
-//        Assert.assertTrue(childEdgeIterator.hasNext());
-//        final FatherEdge childEdge = childEdgeIterator.next();
-//
-//        final God son = childEdge.getSon();
-//        Assert.assertTrue(son != null);
-//        final VertexFrame sonVertex = son;
-//        Assert.assertEquals(sonVertex.getProperty("name"), "hercules");
-//    }
+    @Test
+    public void testGetSonEdges() {
+        final TinkerGraph godGraph = TinkerGraph.open();
+        GodGraphLoader.load(godGraph);
+
+        final FramedGraph framedGraph = new DelegatingFramedGraph(godGraph, TEST_TYPES);
+
+        final List<? extends God> gods = framedGraph.traverse(new Function<GraphTraversalSource, GraphTraversal<?, ?>>() {
+            @Nullable
+            @Override
+            public GraphTraversal<?, ?> apply(@Nullable final GraphTraversalSource input) {
+                return input.V().has("name", "jupiter");
+            }
+        }).toList(God.class);
+
+        final God father = gods.iterator().next();
+        Assert.assertTrue(father != null);
+        final VertexFrame fatherVertex = father;
+        Assert.assertEquals(fatherVertex.getProperty("name"), "jupiter");
+
+        final Iterator<? extends FatherEdge> childEdgeIterator = father.getSonEdges(FatherEdge.class);
+        Assert.assertTrue(childEdgeIterator.hasNext());
+        final FatherEdge childEdge = childEdgeIterator.next();
+
+        final God son = childEdge.getSon();
+        Assert.assertTrue(son != null);
+        final VertexFrame sonVertex = son;
+        Assert.assertEquals(sonVertex.getProperty("name"), "hercules");
+    }
 }