Coverage Summary for Class: TestLoadEdge (org.umlg.sqlg.test.edges)

Class Method, % Line, %
TestLoadEdge 0% (0/7) 0% (0/78)
TestLoadEdge$1 0% (0/1) 0% (0/4)
TestLoadEdge$2 0% (0/1) 0% (0/4)
TestLoadEdge$3 0% (0/1) 0% (0/4)
Total 0% (0/10) 0% (0/90)


 package org.umlg.sqlg.test.edges;
 
 import org.apache.commons.collections4.set.ListOrderedSet;
 import org.apache.tinkerpop.gremlin.structure.*;
 import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge;
 import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedFactory;
 import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 import org.junit.Assert;
 import org.junit.Test;
 import org.umlg.sqlg.structure.PropertyDefinition;
 import org.umlg.sqlg.structure.PropertyType;
 import org.umlg.sqlg.structure.topology.VertexLabel;
 import org.umlg.sqlg.test.BaseTest;
 
 import java.util.Arrays;
 import java.util.LinkedHashMap;
 import java.util.List;
 
 /**
  * Created by pieter on 2015/07/05.
  */
 public class TestLoadEdge extends BaseTest {
 
     @Test
     public void testEdgeInOutVerticesUserDefinedPrimary() {
         VertexLabel personVertexLabel1 = this.sqlgGraph.getTopology().ensureVertexLabelExist(
                 this.sqlgGraph.getSqlDialect().getPublicSchema(),
                 "Person",
                 new LinkedHashMap<>() {{
                     put("id1", PropertyDefinition.of(PropertyType.INTEGER));
                     put("id2", PropertyDefinition.of(PropertyType.INTEGER));
                     put("name", PropertyDefinition.of(PropertyType.STRING));
                 }},
                 ListOrderedSet.listOrderedSet(Arrays.asList("id1", "id2"))
         );
         VertexLabel addressVertexLabel1 = this.sqlgGraph.getTopology().ensureVertexLabelExist(
                 this.sqlgGraph.getSqlDialect().getPublicSchema(),
                 "Address",
                 new LinkedHashMap<>() {{
                     put("addressId1", PropertyDefinition.of(PropertyType.INTEGER));
                     put("addressId2", PropertyDefinition.of(PropertyType.INTEGER));
                     put("name", PropertyDefinition.of(PropertyType.STRING));
                 }},
                 ListOrderedSet.listOrderedSet(Arrays.asList("addressId1", "addressId2"))
         );
         VertexLabel carVertexLabel1 = this.sqlgGraph.getTopology().ensureVertexLabelExist(
                 this.sqlgGraph.getSqlDialect().getPublicSchema(),
                 "Car",
                 new LinkedHashMap<>() {{
                     put("carId1", PropertyDefinition.of(PropertyType.INTEGER));
                     put("carId2", PropertyDefinition.of(PropertyType.INTEGER));
                     put("name", PropertyDefinition.of(PropertyType.STRING));
                 }},
                 ListOrderedSet.listOrderedSet(Arrays.asList("carId1", "carId2"))
         );
         this.sqlgGraph.tx().commit();
         Vertex person1 = this.sqlgGraph.addVertex(T.label, "Person", "id1", 1, "id2", 1, "name", "John");
         Vertex address1 = this.sqlgGraph.addVertex(T.label, "Address", "addressId1", 1, "addressId2", 1, "name", "John");
         Vertex car1 = this.sqlgGraph.addVertex(T.label, "Car", "carId1", 1, "carId2", 1, "name", "John");
         Edge e1 = person1.addEdge("edge", address1);
         Edge e2 = person1.addEdge("edge", car1);
         this.sqlgGraph.tx().commit();
 
         e1.property("what", "this");
         e2.property("what", "this");
 
         this.sqlgGraph.tx().commit();
 
         List<Vertex> vertices = this.sqlgGraph.traversal().V().hasLabel("Person").out("edge").toList();
         Assert.assertEquals(2, vertices.size());
         vertices = this.sqlgGraph.traversal().V().hasLabel("Car").in("edge").toList();
         Assert.assertEquals(1, vertices.size());
         vertices = this.sqlgGraph.traversal().V().hasLabel("Address").in("edge").toList();
         Assert.assertEquals(1, vertices.size());
 
         List<String> values = this.sqlgGraph.traversal().E().hasLabel("edge").<String>values("what").toList();
         Assert.assertEquals(2, values.size());
         Assert.assertEquals("this", values.get(0));
         Assert.assertEquals("this", values.get(1));
     }
 
 
     @Test
     public void testEdgeInOutVertices() {
         Vertex a1 = this.sqlgGraph.addVertex(T.label, "A", "name", "a1");
         Vertex a2 = this.sqlgGraph.addVertex(T.label, "A", "name", "a2");
         Vertex b1 = this.sqlgGraph.addVertex(T.label, "B", "name", "b1");
         Vertex b2 = this.sqlgGraph.addVertex(T.label, "B", "name", "b2");
         Vertex c1 = this.sqlgGraph.addVertex(T.label, "C", "name", "c1");
         Vertex c2 = this.sqlgGraph.addVertex(T.label, "C", "name", "c2");
         Edge e1 = a1.addEdge("edge1", b1);
         Edge e2 = a1.addEdge("edge1", c1);
         this.sqlgGraph.tx().commit();
         Assert.assertEquals(a1, e1.outVertex());
         Assert.assertEquals(b1, e1.inVertex());
         e1.property("what", "this");
         this.sqlgGraph.tx().commit();
         Assert.assertEquals(a1, e1.outVertex());
         Assert.assertEquals(b1, e1.inVertex());
     }
 
     @Test
     public void testLoadEdge() {
         Vertex person1 = this.sqlgGraph.addVertex(T.label, "Person");
         Vertex person2 = this.sqlgGraph.addVertex(T.label, "Person");
         Edge friend = person1.addEdge("friend", person2, "name", "edge1");
         this.sqlgGraph.tx().commit();
         Property<?> p = this.sqlgGraph.traversal().E(friend).next().property("name", "edge2");
         Assert.assertNotNull(p.value());
     }
 
     @Test
     public void testEdgePropertyWithPeriod() {
         Vertex person1 = this.sqlgGraph.addVertex(T.label, "Person");
         Vertex person2 = this.sqlgGraph.addVertex(T.label, "Person");
         Edge friend = person1.addEdge("friend", person2, "name.A", "edge1");
         this.sqlgGraph.tx().commit();
         Property<?> p = this.sqlgGraph.traversal().E(friend).next().property("name.A");
         Assert.assertNotNull(p.value());
         Assert.assertEquals("edge1", p.value());
     }
 
     @Test
     public void shouldConstructDetachedEdge() {
         Graph g = this.sqlgGraph;
         loadModern();
         assertModernGraph(g, true, false);
         Edge e = g.traversal().E(convertToEdgeId("marko", "knows", "vadas")).next();
         e.property("year", 2002);
         g.tx().commit();
         e = g.traversal().E(convertToEdgeId("marko", "knows", "vadas")).next();
         final DetachedEdge detachedEdge = DetachedFactory.detach(e, true);
         Assert.assertEquals(convertToEdgeId("marko", "knows", "vadas"), detachedEdge.id());
 
         Assert.assertEquals("knows", detachedEdge.label());
         Assert.assertEquals(DetachedVertex.class, detachedEdge.vertices(Direction.OUT).next().getClass());
         Assert.assertEquals(convertToVertexId("marko"), detachedEdge.vertices(Direction.OUT).next().id());
         Assert.assertEquals("person", detachedEdge.vertices(Direction.IN).next().label());
         Assert.assertEquals(DetachedVertex.class, detachedEdge.vertices(Direction.IN).next().getClass());
         Assert.assertEquals(convertToVertexId("vadas"), detachedEdge.vertices(Direction.IN).next().id());
         Assert.assertEquals("person", detachedEdge.vertices(Direction.IN).next().label());
 
         Assert.assertEquals(2, IteratorUtils.count(detachedEdge.properties()));
         Assert.assertEquals(1, IteratorUtils.count(detachedEdge.properties("year")));
         Assert.assertEquals(0.5d, detachedEdge.properties("weight").next().value());
     }
 
     private Object convertToEdgeId(final String outVertexName, String edgeLabel, final String inVertexName) {
         return this.sqlgGraph.traversal().V().has("name", outVertexName).outE(edgeLabel).as("e").inV().has("name", inVertexName).<Edge>select("e").next().id();
     }
 }