Coverage Summary for Class: TestOrStepAfterVertexStepBarrier (org.umlg.sqlg.test.filter.or)

Class Class, % Method, % Line, %
TestOrStepAfterVertexStepBarrier 100% (1/1) 100% (2/2) 100% (23/23)


 package org.umlg.sqlg.test.filter.or;
 
 import org.apache.tinkerpop.gremlin.process.traversal.Step;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.junit.Assert;
 import org.junit.Test;
 import org.umlg.sqlg.step.barrier.SqlgLocalStepBarrier;
 import org.umlg.sqlg.test.BaseTest;
 
 import java.util.List;
 
 /**
  * @author <a href="https://github.com/pietermartin">Pieter Martin</a>
  * Date: 2017/11/06
  */
 public class TestOrStepAfterVertexStepBarrier extends BaseTest {
 
     @Test
     public void testOrStepAfterVertexStepBarrier() {
         Vertex a1 = this.sqlgGraph.addVertex(T.label, "A", "name", "a1");
         Vertex b1 = this.sqlgGraph.addVertex(T.label, "B", "name", "b1");
         Vertex b2 = this.sqlgGraph.addVertex(T.label, "B", "name", "b2");
         Vertex b3 = this.sqlgGraph.addVertex(T.label, "B", "name", "b3");
         a1.addEdge("ab", b1);
         a1.addEdge("ab", b2);
         a1.addEdge("ab", b3);
         this.sqlgGraph.tx().commit();
 
         DefaultGraphTraversal<Vertex, Vertex> traversal = (DefaultGraphTraversal<Vertex, Vertex>) this.sqlgGraph.traversal().V().hasLabel("A")
                 .local(
                         __.out().or(
                                 __.has("name", "b2"),
                                 __.has("name", "b3")
                         )
                 );
         List<Vertex> vertices = traversal.toList();
         List<Step> steps = traversal.getSteps();
         Assert.assertEquals(2, steps.size());
         Assert.assertTrue(steps.get(1) instanceof SqlgLocalStepBarrier);
         SqlgLocalStepBarrier sqlgLocalStepBarrier = (SqlgLocalStepBarrier)steps.get(1);
         Assert.assertEquals(1, sqlgLocalStepBarrier.getLocalChildren().size());
         Traversal.Admin t = (Traversal.Admin) sqlgLocalStepBarrier.getLocalChildren().get(0);
         //or step is collapsed into the vertex step.
         Assert.assertEquals(1, t.getSteps().size());
         Assert.assertEquals(2, vertices.size());
     }
 
 }