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

Class Class, % Method, % Line, %
TestGroupCount 100% (1/1) 100% (3/3) 100% (22/22)


 package org.umlg.sqlg.test.reducing;
 
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.structure.Column;
 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.Map;
 
 /**
  * @author <a href="https://github.com/pietermartin">Pieter Martin</a>
  * Date: 2017/05/02
  */
 public class TestGroupCount extends BaseTest {
 
  @Test
  public void g_V_both_groupCountXaX_out_capXaX_selectXkeysX_unfold_both_groupCountXaX_capXaX() {
  loadModern();
 
  final Traversal<Vertex, Map<Vertex, Long>> traversal = this.sqlgGraph.traversal().V().both().groupCount("a").out().cap("a").select(Column.keys).unfold().both().groupCount("a").cap("a");
  printTraversalForm(traversal);
  // [{v[1]=6, v[2]=2, v[3]=6, v[4]=6, v[5]=2, v[6]=2}]
  final Map<Vertex, Long> map = traversal.next();
  Assert.assertFalse(traversal.hasNext());
  Assert.assertEquals(6, map.size());
  Assert.assertEquals(6L, map.get(convertToVertex(this.sqlgGraph, "marko")).longValue());
  Assert.assertEquals(2L, map.get(convertToVertex(this.sqlgGraph, "vadas")).longValue());
  Assert.assertEquals(6L, map.get(convertToVertex(this.sqlgGraph, "lop")).longValue());
  Assert.assertEquals(6L, map.get(convertToVertex(this.sqlgGraph, "josh")).longValue());
  Assert.assertEquals(2L, map.get(convertToVertex(this.sqlgGraph, "ripple")).longValue());
  Assert.assertEquals(6L, map.get(convertToVertex(this.sqlgGraph, "marko")).longValue());
 // checkSideEffects(traversal.asAdmin().getSideEffects(), "a", HashMap.class);
  }
 
  @Test
  public void testGroupCountByLabel(){
  loadModern();
  final Traversal<Vertex, Map<Object, Long>> traversal = this.sqlgGraph.traversal().V().groupCount().by(T.label);
  printTraversalForm(traversal);
  Assert.assertTrue(traversal.hasNext());
  Map<Object, Long> map=traversal.next();
  Assert.assertFalse(traversal.hasNext());
  Assert.assertEquals(2, map.size());
  Assert.assertEquals(Long.valueOf(4),map.get("person"));
  Assert.assertEquals(Long.valueOf(2),map.get("software"));
  }
 }