Coverage Summary for Class: TestMerge (org.umlg.sqlg.test.mergestep)

Class Method, % Line, %
TestMerge 100% (4/4) 100% (22/22)
TestMerge$1 100% (1/1) 100% (2/2)
TestMerge$2 100% (1/1) 100% (3/3)
TestMerge$3 100% (1/1) 100% (2/2)
Total 100% (7/7) 100% (29/29)


 package org.umlg.sqlg.test.mergestep;
 
 import org.apache.tinkerpop.gremlin.process.traversal.Merge;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Property;
 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.test.BaseTest;
 
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 public class TestMerge extends BaseTest {
 
     @Test
     public void testMergeWithDefaultLabel() {
         this.sqlgGraph.traversal().mergeV(new HashMap<>() {{
             put("name", "Brandy");
         }}).iterate();
         this.sqlgGraph.tx().commit();
         List<Vertex> vertices = this.sqlgGraph.traversal().V().toList();
         Assert.assertEquals(1, vertices.size());
     }
 
     @Test
     public void testMergeWithLabel() {
         this.sqlgGraph.traversal().mergeV(new HashMap<>() {{
             put(T.label, "Person");
             put("name", "Brandy");
         }}).iterate();
         this.sqlgGraph.tx().commit();
         List<Vertex> vertices = this.sqlgGraph.traversal().V().hasLabel("Person").has("name", "Brandy").toList();
         Assert.assertEquals(1, vertices.size());
     }
 
     /**
      * Scenario: g_V_mergeEXlabel_selfX_optionXonMatch_nullX
      * Given the empty graph
      * And the graph initializer of
      * """
      * g.addV("person").property("name", "marko").property("age", 29).
      * addE("self")
      * """
      * And using the parameter xx1 defined as "m[{\"t[label]\": \"self\"}]"
      * And the traversal of
      * """
      * g.V().mergeE(xx1).option(Merge.onMatch,null)
      * """
      * When iterated to list
      * Then the result should have a count of 1
      * And the graph should return 1 for count of "g.E()"
      * And the graph should return 0 for count of "g.E().properties()"
      * And the graph should return 1 for count of "g.V()"
      */
     @Test
     public void g_V_mergeEXlabel_selfX_optionXonMatch_nullX() {
         this.sqlgGraph.traversal().addV("person").property("name", "marko").property("age", 29).addE("self").iterate();
         List<Edge> edges = this.sqlgGraph.traversal().V()
                 .mergeE(new HashMap<>() {{
                     put(T.label, "self");
                 }})
                 .option(Merge.onMatch, (Map) null)
                 .toList();
         this.sqlgGraph.tx().commit();
         Assert.assertEquals(1, edges.size());
         List<? extends Property<?>> properties = this.sqlgGraph.traversal().E().properties().toList();
         Assert.assertEquals(0, properties.size());
         List<Vertex> vertices = this.sqlgGraph.traversal().V().toList();
         Assert.assertEquals(1, vertices.size());
     }
 
 }