Coverage Summary for Class: TestInject (org.umlg.sqlg.test.inject)
Class |
Method, %
|
Line, %
|
TestInject |
100%
(9/9)
|
100%
(42/42)
|
TestInject$1 |
100%
(1/1)
|
100%
(2/2)
|
Total |
100%
(10/10)
|
100%
(44/44)
|
package org.umlg.sqlg.test.inject;
import org.apache.tinkerpop.gremlin.process.traversal.Path;
import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.MutablePath;
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.hamcrest.MatcherAssert;
import org.hamcrest.Matchers;
import org.junit.Assert;
import org.junit.Test;
import org.umlg.sqlg.test.BaseTest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class TestInject extends BaseTest {
@Test
public void g_VX1X_valuesXageX_injectXnullX() {
loadModern();
Object vid1 = this.convertToVertexId("marko");
Traversal<Vertex, Object> traversal = this.sqlgGraph.traversal().V(vid1).values("age").inject(null);
this.printTraversalForm(traversal);
checkResults(Arrays.asList(29, null), traversal);
}
@Test
public void g_injectXnullX() {
loadModern();
Traversal<Integer, Integer> traversal = this.sqlgGraph.traversal().inject(null);
this.printTraversalForm(traversal);
checkResults(Collections.singletonList(null), traversal);
}
@Test
public void g_VX1X_valuesXageX_injectXnull_nullX() {
loadModern();
Object vid1 = convertToVertexId("marko");
final Traversal<Vertex, Object> traversal = this.sqlgGraph.traversal().V(vid1).values("age").inject(null, null);
printTraversalForm(traversal);
checkResults(Arrays.asList(29, null, null), traversal);
}
@Test
public void g_injectXnull_nullX() {
loadModern();
final Traversal<Integer, Integer> traversal = this.sqlgGraph.traversal().inject(null, null);
printTraversalForm(traversal);
checkResults(Arrays.asList(null, null), traversal);
}
@Test
public void g_injectX1_null_nullX_path() {
loadModern();
Traversal<Integer, Path> traversal = this.sqlgGraph.traversal().inject(new Integer[]{1, null, null}).path();
this.printTraversalForm(traversal);
checkResults(Arrays.asList(MutablePath.make().extend(1, Collections.emptySet()), MutablePath.make().extend((Object)null, Collections.emptySet()), MutablePath.make().extend((Object)null, Collections.emptySet())), traversal);
}
@Test
public void testInjectWithChoose() {
Traversal<?, ?> traversal = this.sqlgGraph.traversal().inject(1).choose(__.is(1), __.constant(10).fold(), __.fold());
final List<Integer> expected = new ArrayList<>() {{
add(10);
}};
Assert.assertEquals(expected, traversal.next());
MatcherAssert.assertThat(traversal.hasNext(), Matchers.is(false));
}
@SuppressWarnings("unchecked")
@Test
public void testInjectAndUnion() {
this.sqlgGraph.addVertex(T.label, "A", "name", "a1");
this.sqlgGraph.tx().commit();
List<Vertex> vertices = this.sqlgGraph.traversal().inject("ignore").union(__.V().hasLabel("A"), __.V().hasLabel("A")).toList();
Assert.assertEquals(2, vertices.size());
}
@Test
public void testInjectNestedBranchTraversalStepBug() {
List<String> result = this.sqlgGraph.traversal()
.inject("test1", "test2")
.where(
__.choose(
__.V().hasLabel("DoesntMatter"),
__.constant(true),
__.constant(false)
)
).toList();
Assert.assertEquals(2, result.size());
Assert.assertEquals("test1", result.get(0));
Assert.assertEquals("test2", result.get(1));
}
}