use of org.umlg.sqlg.step.barrier.SqlgAndStepBarrier in project sqlg by pietermartin.
the class TestAndStepBarrier method g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX.
@Test
public void g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX() {
loadModern();
final DefaultGraphTraversal<Vertex, Path> traversal = (DefaultGraphTraversal<Vertex, Path>) this.sqlgGraph.traversal().V(convertToVertexId("marko")).repeat(__.both().simplePath()).until(__.has("name", "peter").and().loops().is(3)).has("name", "peter").path().by("name");
printTraversalForm(traversal);
Assert.assertTrue(traversal.hasNext());
final Path path = traversal.next();
Assert.assertEquals(4, path.size());
Assert.assertEquals("marko", path.get(0));
Assert.assertEquals("josh", path.get(1));
Assert.assertEquals("lop", path.get(2));
Assert.assertEquals("peter", path.get(3));
Assert.assertFalse(traversal.hasNext());
List<SqlgAndStepBarrier> sqlgAndStepBarriers = TraversalHelper.getStepsOfAssignableClassRecursively(SqlgAndStepBarrier.class, traversal);
Assert.assertEquals(1, sqlgAndStepBarriers.size());
}
use of org.umlg.sqlg.step.barrier.SqlgAndStepBarrier in project sqlg by pietermartin.
the class TestAndStepBarrier method testAndStepBarrier.
@Test
public void testAndStepBarrier() {
Vertex a1 = this.sqlgGraph.addVertex(T.label, "A");
Vertex b1 = this.sqlgGraph.addVertex(T.label, "B");
a1.addEdge("ab", b1);
a1.addEdge("abb", b1);
Vertex a2 = this.sqlgGraph.addVertex(T.label, "A");
Vertex b2 = this.sqlgGraph.addVertex(T.label, "B");
a2.addEdge("abb", b2);
Vertex a3 = this.sqlgGraph.addVertex(T.label, "A");
Vertex b3 = this.sqlgGraph.addVertex(T.label, "B");
a3.addEdge("abbb", b3);
DefaultGraphTraversal<Vertex, Vertex> traversal = (DefaultGraphTraversal<Vertex, Vertex>) this.sqlgGraph.traversal().V().hasLabel("A").and(__.out("ab"), __.out("abb"));
printTraversalForm(traversal);
List<Vertex> vertices = traversal.toList();
Assert.assertEquals(1, vertices.size());
Assert.assertTrue(vertices.contains(a1));
List<SqlgAndStepBarrier> sqlgAndStepBarriers = TraversalHelper.getStepsOfAssignableClassRecursively(SqlgAndStepBarrier.class, traversal);
Assert.assertEquals(1, sqlgAndStepBarriers.size());
}
use of org.umlg.sqlg.step.barrier.SqlgAndStepBarrier in project sqlg by pietermartin.
the class TestAndStepBarrier method testAndStepBarrierMultiple.
@Test
public void testAndStepBarrierMultiple() {
Vertex a1 = this.sqlgGraph.addVertex(T.label, "A");
Vertex b1 = this.sqlgGraph.addVertex(T.label, "B");
a1.addEdge("ab", b1);
a1.addEdge("abb", b1);
a1.addEdge("abbb", b1);
Vertex a2 = this.sqlgGraph.addVertex(T.label, "A");
Vertex b2 = this.sqlgGraph.addVertex(T.label, "B");
a2.addEdge("abb", b2);
Vertex a3 = this.sqlgGraph.addVertex(T.label, "A");
Vertex b3 = this.sqlgGraph.addVertex(T.label, "B");
a3.addEdge("abbb", b3);
DefaultGraphTraversal<Vertex, Vertex> traversal = (DefaultGraphTraversal<Vertex, Vertex>) this.sqlgGraph.traversal().V().hasLabel("A").and(__.out("ab"), __.out("abb"), __.out("abbb"));
printTraversalForm(traversal);
List<Vertex> vertices = traversal.toList();
Assert.assertEquals(1, vertices.size());
Assert.assertTrue(vertices.contains(a1));
List<SqlgAndStepBarrier> sqlgAndStepBarriers = TraversalHelper.getStepsOfAssignableClassRecursively(SqlgAndStepBarrier.class, traversal);
Assert.assertEquals(1, sqlgAndStepBarriers.size());
}
Aggregations