Coverage Summary for Class: TestElementMap (org.umlg.sqlg.test.properties)

Class Class, % Method, % Line, %
TestElementMap 0% (0/1) 0% (0/4) 0% (0/60)


 package org.umlg.sqlg.test.properties;
 
 import org.apache.tinkerpop.gremlin.process.traversal.Order;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 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.SqlgGraphStep;
 import org.umlg.sqlg.test.BaseTest;
 
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
 /**
  * @author <a href="https://github.com/pietermartin">Pieter Martin</a>
  */
 public class TestElementMap extends BaseTest {
 
     @Test
     public void testElementMap() {
         this.sqlgGraph.addVertex(T.label, "A", "name", "a1", "age", 1);
         this.sqlgGraph.tx().commit();
         final Traversal<Vertex, Map<Object, Object>> traversal =  this.sqlgGraph.traversal().V().hasLabel("A")
                 .elementMap(T.id.getAccessor(), "name");
         printTraversalForm(traversal);
         TestPropertyValues.checkRestrictedProperties(SqlgGraphStep.class, traversal, 0, T.id.getAccessor(), "name");
         List<Map<Object, Object>> results = traversal.toList();
         Assert.assertEquals(1, results.size());
     }
 
     @Test
     public void testElementMapOnEdge() {
         Vertex v1 = this.sqlgGraph.addVertex(T.label, "A", "name", "a1", "age", 1);
         Vertex v2 = this.sqlgGraph.addVertex(T.label, "B", "name", "b1", "age", 1);
         v1.addEdge("ab", v2, "name", "edge1", "prop1", "x", "prop2", "y");
         this.sqlgGraph.tx().commit();
         final Traversal<Vertex, Map<Object, Object>> traversal =  this.sqlgGraph.traversal().V().hasLabel("A")
                 .outE("ab")
                 .elementMap(T.id.getAccessor(), "name");
         printTraversalForm(traversal);
         TestPropertyValues.checkRestrictedProperties(SqlgGraphStep.class, traversal, 0, T.id.getAccessor(), "name");
         List<Map<Object, Object>> results = traversal.toList();
         Assert.assertEquals(1, results.size());
     }
 
     @Test
     public void testElementMapSelectBy() {
         Vertex a = this.sqlgGraph.addVertex(T.label, "A", "prop1", "aaaa", "propx", "xxxx");
         Vertex b1 = this.sqlgGraph.addVertex(T.label, "B", "prop2", "bbbb", "propy", "yyyy");
         Vertex b2 = this.sqlgGraph.addVertex(T.label, "B", "propy", "yy");
         a.addEdge("ab", b1);
         a.addEdge("ab", b2);
         this.sqlgGraph.tx().commit();
 
         final Traversal<Vertex, Map<String, Object>> traversal = this.sqlgGraph.traversal().V().hasLabel("A").as("a")
                 .out("ab").as("b")
                 .order()
                 .by(__.select("a").by("prop1"), Order.asc)
                 .select("a", "b")
                 .by(__.elementMap("prop1"))
                 .by(__.elementMap("prop2"));
         printTraversalForm(traversal);
         List<Map<String, Object>> result = traversal.toList();
 
         TestPropertyValues.checkRestrictedProperties(SqlgGraphStep.class, traversal, 0, "prop1");
         TestPropertyValues.checkRestrictedProperties(SqlgGraphStep.class, traversal, 1, "prop2");
 
         Assert.assertEquals(2, result.size());
         Map<String, Object> one = result.get(0);
         LinkedHashMap<Object, Object> aMap = (LinkedHashMap<Object, Object>) one.get("a");
         Assert.assertEquals(a.id(), aMap.get(T.id));
         Assert.assertEquals("A", aMap.get(T.label));
         Assert.assertEquals("aaaa", aMap.get("prop1"));
         Assert.assertNull(aMap.get("prop2"));
 
         LinkedHashMap<Object, Object> bMap = (LinkedHashMap<Object, Object>) one.get("b");
         Assert.assertEquals(b1.id(), bMap.get(T.id));
         Assert.assertEquals("B", bMap.get(T.label));
         Assert.assertNull(bMap.get("prop1"));
         Assert.assertEquals("bbbb", bMap.get("prop2"));
 
         Map<String, Object> two = result.get(1);
         aMap = (LinkedHashMap<Object, Object>) two.get("a");
         Assert.assertEquals(a.id(), aMap.get(T.id));
         Assert.assertEquals("A", aMap.get(T.label));
         Assert.assertEquals("aaaa", aMap.get("prop1"));
         Assert.assertNull(aMap.get("prop2"));
 
         bMap = (LinkedHashMap<Object, Object>) two.get("b");
         Assert.assertEquals(b2.id(), bMap.get(T.id));
         Assert.assertEquals("B", bMap.get(T.label));
         Assert.assertNull(bMap.get("prop1"));
         Assert.assertNull(bMap.get("prop2"));
     }
 
 }