|
31 | 31 | import org.junit.Before;
|
32 | 32 | import org.junit.Test;
|
33 | 33 |
|
| 34 | +import com.arangodb.entity.BaseDocument; |
34 | 35 | import com.arangodb.entity.BaseEntity;
|
35 | 36 | import com.arangodb.entity.EdgeDefinitionEntity;
|
| 37 | +import com.arangodb.entity.EdgeEntity; |
36 | 38 | import com.arangodb.entity.PathEntity;
|
37 | 39 | import com.arangodb.entity.TraversalEntity;
|
38 | 40 | import com.arangodb.entity.marker.VertexEntity;
|
@@ -127,6 +129,47 @@ public void test_create_vertex() throws ArangoException {
|
127 | 129 | assertThat(paths.get(3).getVertices().size(), is(3));
|
128 | 130 | }
|
129 | 131 |
|
| 132 | + @Test |
| 133 | + public void test_getTraversalWithBaseDocument() throws ArangoException { |
| 134 | + final TraversalQueryOptions traversalQueryOptions = new TraversalQueryOptions(); |
| 135 | + |
| 136 | + traversalQueryOptions.setGraphName(graphName); |
| 137 | + traversalQueryOptions.setStartVertex("person/Alice"); |
| 138 | + traversalQueryOptions.setDirection(Direction.OUTBOUND); |
| 139 | + |
| 140 | + final TraversalEntity<BaseDocument, BaseDocument> traversal = driver.getTraversal(traversalQueryOptions, |
| 141 | + BaseDocument.class, BaseDocument.class); |
| 142 | + |
| 143 | + assertThat(traversal, is(notNullValue())); |
| 144 | + |
| 145 | + final List<VertexEntity<BaseDocument>> vertices = traversal.getVertices(); |
| 146 | + assertThat(vertices, is(notNullValue())); |
| 147 | + assertThat(vertices.size(), is(4)); |
| 148 | + assertThat(vertices.get(0).getEntity().getProperties().size(), is(1)); |
| 149 | + assertThat((String) vertices.get(0).getEntity().getAttribute("name"), is("Alice")); |
| 150 | + assertThat((String) vertices.get(1).getEntity().getAttribute("name"), is("Bob")); |
| 151 | + assertThat((String) vertices.get(2).getEntity().getAttribute("name"), is("Charlie")); |
| 152 | + assertThat((String) vertices.get(3).getEntity().getAttribute("name"), is("Dave")); |
| 153 | + |
| 154 | + final List<PathEntity<BaseDocument, BaseDocument>> paths = traversal.getPaths(); |
| 155 | + assertThat(paths, is(notNullValue())); |
| 156 | + assertThat(paths.size(), is(4)); |
| 157 | + |
| 158 | + // start vertex! |
| 159 | + assertThat(paths.get(0).getEdges().size(), is(0)); |
| 160 | + assertThat(paths.get(0).getVertices().size(), is(1)); |
| 161 | + assertThat((String) paths.get(0).getVertices().get(0).getEntity().getAttribute("name"), is("Alice")); |
| 162 | + |
| 163 | + assertThat(paths.get(3).getEdges().size(), is(2)); |
| 164 | + assertThat(paths.get(3).getVertices().size(), is(3)); |
| 165 | + |
| 166 | + assertThat(paths.get(1).getEdges().size(), is(1)); |
| 167 | + EdgeEntity<BaseDocument> edgeEntity = traversal.getPaths().get(1).getEdges().get(0); |
| 168 | + assertThat(edgeEntity.getFromVertexHandle(), is("person/Alice")); |
| 169 | + assertThat(edgeEntity.getToVertexHandle(), is("person/Bob")); |
| 170 | + |
| 171 | + } |
| 172 | + |
130 | 173 | private VertexEntity<Person> createPerson(String name) throws ArangoException {
|
131 | 174 | return driver.graphCreateVertex(graphName, vertexCollectionName, name, new Person(name), true);
|
132 | 175 | }
|
|
0 commit comments