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

Class Class, % Method, % Branch, % Line, %
TestAllVertices 100% (1/1) 100% (6/6) 50% (3/6) 97.4% (38/39)


 package org.umlg.sqlg.test;
 
 import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.structure.Transaction;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.hamcrest.MatcherAssert;
 import org.junit.Assert;
 import org.junit.Test;
 import org.umlg.sqlg.structure.RecordId;
 import org.umlg.sqlg.structure.SqlgGraph;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.NoSuchElementException;
 
 import static org.hamcrest.core.IsInstanceOf.instanceOf;
 
 /**
  * Date: 2014/07/13
  * Time: 3:38 PM
  */
 public class TestAllVertices extends BaseTest {
 
     @Test
     public void testAllVertices()  {
         Vertex marko = this.sqlgGraph.addVertex(T.label, "Person", "name", "marko");
         Vertex john = this.sqlgGraph.addVertex(T.label, "Person", "name", "john");
         Vertex peter = this.sqlgGraph.addVertex(T.label, "Person", "name", "peter");
         Vertex washineMachine = this.sqlgGraph.addVertex(T.label, "Product", "productName", "Washing Machine");
         marko.addEdge("happiness", washineMachine, "love", true);
         this.sqlgGraph.tx().commit();
         Assert.assertEquals(4L, this.sqlgGraph.traversal().V().count().next(), 0);
     }
 
     @Test
     public void testVertexIterator() {
         Vertex a = this.sqlgGraph.addVertex();
         Vertex b = this.sqlgGraph.addVertex();
         Vertex c = this.sqlgGraph.addVertex();
         Vertex d = this.sqlgGraph.addVertex();
         a.addEdge("aaa", b);
         b.addEdge("aaa", b);
         c.addEdge("aaa", b);
         d.addEdge("aaa", b);
         this.sqlgGraph.tx().commit();
         List<Vertex> vertexes = this.sqlgGraph.traversal().V().both().toList();
         Assert.assertEquals(8, vertexes.size());
     }
 
     @Test
     public void testVertexIteratorWithIncorrectId() throws Exception {
         Graph g = this.sqlgGraph;
         final Vertex v1 = g.addVertex("name", "marko");
         final Object oid = v1.id();
         g.tx().onClose(Transaction.CLOSE_BEHAVIOR.ROLLBACK);
         g.close();
         try (SqlgGraph graph = SqlgGraph.open(configuration)) {
             try {
                 graph.vertices(oid).next();
                 Assert.fail("Vertex should not be found as close behavior was set to rollback");
             } catch (Exception ex) {
                 validateException(new NoSuchElementException(), ex);
             }
         }
     }
 
     private static void validateException(final Throwable expected, final Throwable actual) {
         MatcherAssert.assertThat(actual, instanceOf(expected.getClass()));
     }
 
     @Test
     public void testSqlgGraphVertices() {
         List<RecordId> recordIds = new ArrayList<>();
         for (int i = 0; i < 10; i++) {
             Vertex v = this.sqlgGraph.addVertex(T.label, "A");
             recordIds.add((RecordId) v.id());
         }
         this.sqlgGraph.tx().commit();
         List<Vertex> result = new ArrayList<>();
         this.sqlgGraph.vertices(recordIds.toArray()).forEachRemaining(result::add);
         Assert.assertEquals(10, result.size());
     }
 }