|
23 | 23 | import static org.junit.Assert.assertThat; |
24 | 24 | import static org.junit.Assert.assertTrue; |
25 | 25 |
|
| 26 | +import java.util.ArrayList; |
26 | 27 | import java.util.HashMap; |
27 | 28 | import java.util.Iterator; |
28 | 29 | import java.util.List; |
@@ -295,6 +296,120 @@ public void edgesAqlTest() throws ArangoException { |
295 | 296 |
|
296 | 297 | } |
297 | 298 |
|
| 299 | + @Test |
| 300 | + public void graphGetEdgeCursorWithEdgeExample() throws ArangoException { |
| 301 | + |
| 302 | + final TestComplexEntity01 v1 = new TestComplexEntity01("Homer", "A Simpson", 38); |
| 303 | + final TestComplexEntity01 v2 = new TestComplexEntity01("Marge", "A Simpson", 36); |
| 304 | + final TestComplexEntity01 v3 = new TestComplexEntity01("Bart", "A Simpson", 10); |
| 305 | + final TestComplexEntity01 v4 = new TestComplexEntity01("Remoh", "Homer's twin", 38); |
| 306 | + |
| 307 | + final VertexEntity<TestComplexEntity01> vertex1 = driver.graphCreateVertex(GRAPH_NAME, "from1-1", v1, true); |
| 308 | + final VertexEntity<TestComplexEntity01> vertex2 = driver.graphCreateVertex(GRAPH_NAME, "to1-1", v2, true); |
| 309 | + final VertexEntity<TestComplexEntity01> vertex3 = driver.graphCreateVertex(GRAPH_NAME, "to1-1", v3, true); |
| 310 | + final VertexEntity<TestComplexEntity01> vertex4 = driver.graphCreateVertex(GRAPH_NAME, "from1-1", v4, true); |
| 311 | + |
| 312 | + final TestComplexEntity02 e1 = new TestComplexEntity02(1, 2, 3); |
| 313 | + driver.graphCreateEdge(GRAPH_NAME, "edge-1", null, vertex1.getDocumentHandle(), vertex2.getDocumentHandle(), e1, |
| 314 | + null); |
| 315 | + |
| 316 | + final TestComplexEntity02 e2 = new TestComplexEntity02(4, 5, 6); |
| 317 | + EdgeEntity<TestComplexEntity02> edge2 = driver.graphCreateEdge(GRAPH_NAME, "edge-1", null, |
| 318 | + vertex1.getDocumentHandle(), vertex3.getDocumentHandle(), e2, null); |
| 319 | + |
| 320 | + final TestComplexEntity02 e3 = new TestComplexEntity02(7, 8, 9); |
| 321 | + driver.graphCreateEdge(GRAPH_NAME, "edge-1", null, vertex4.getDocumentHandle(), vertex2.getDocumentHandle(), e3, |
| 322 | + null); |
| 323 | + |
| 324 | + final TestComplexEntity02 e4 = new TestComplexEntity02(10, 11, 12); |
| 325 | + driver.graphCreateEdge(GRAPH_NAME, "edge-1", null, vertex4.getDocumentHandle(), vertex3.getDocumentHandle(), e4, |
| 326 | + null); |
| 327 | + |
| 328 | + GraphEdgesOptions graphEdgesOptions = new GraphEdgesOptions(); |
| 329 | + graphEdgesOptions.setEdgeExamples(e2); |
| 330 | + |
| 331 | + EdgeCursor<TestComplexEntity02> cursor = driver.graphGetEdgeCursor(GRAPH_NAME, TestComplexEntity02.class, |
| 332 | + vertex1.getDocumentHandle(), graphEdgesOptions, getAqlQueryOptions(true, 10, true)); |
| 333 | + |
| 334 | + assertEquals(201, cursor.getCode()); |
| 335 | + assertEquals(1, cursor.getCount()); |
| 336 | + assertEquals(edge2.getDocumentHandle(), cursor.getUniqueResult().getDocumentHandle()); |
| 337 | + } |
| 338 | + |
| 339 | + @Test |
| 340 | + public void graphGetEdgeCursorWithNeighborExample() throws ArangoException { |
| 341 | + |
| 342 | + final TestComplexEntity01 v1 = new TestComplexEntity01("Homer", "A Simpson", 38); |
| 343 | + final TestComplexEntity01 v2 = new TestComplexEntity01("Marge", "A Simpson", 36); |
| 344 | + final TestComplexEntity01 v3 = new TestComplexEntity01("Bart", "A Simpson", 10); |
| 345 | + final TestComplexEntity01 v4 = new TestComplexEntity01("Remoh", "Homer's twin", 38); |
| 346 | + |
| 347 | + final VertexEntity<TestComplexEntity01> vertex1 = driver.graphCreateVertex(GRAPH_NAME, "from1-1", v1, true); |
| 348 | + final VertexEntity<TestComplexEntity01> vertex2 = driver.graphCreateVertex(GRAPH_NAME, "to1-1", v2, true); |
| 349 | + final VertexEntity<TestComplexEntity01> vertex3 = driver.graphCreateVertex(GRAPH_NAME, "to1-1", v3, true); |
| 350 | + final VertexEntity<TestComplexEntity01> vertex4 = driver.graphCreateVertex(GRAPH_NAME, "from1-1", v4, true); |
| 351 | + |
| 352 | + final TestComplexEntity02 e1 = new TestComplexEntity02(1, 2, 3); |
| 353 | + EdgeEntity<TestComplexEntity02> edge1 = driver.graphCreateEdge(GRAPH_NAME, "edge-1", null, |
| 354 | + vertex1.getDocumentHandle(), vertex2.getDocumentHandle(), e1, null); |
| 355 | + |
| 356 | + final TestComplexEntity02 e2 = new TestComplexEntity02(4, 5, 6); |
| 357 | + driver.graphCreateEdge(GRAPH_NAME, "edge-1", null, vertex1.getDocumentHandle(), vertex3.getDocumentHandle(), e2, |
| 358 | + null); |
| 359 | + |
| 360 | + final TestComplexEntity02 e3 = new TestComplexEntity02(7, 8, 9); |
| 361 | + driver.graphCreateEdge(GRAPH_NAME, "edge-1", null, vertex4.getDocumentHandle(), vertex2.getDocumentHandle(), e3, |
| 362 | + null); |
| 363 | + |
| 364 | + final TestComplexEntity02 e4 = new TestComplexEntity02(10, 11, 12); |
| 365 | + driver.graphCreateEdge(GRAPH_NAME, "edge-1", null, vertex4.getDocumentHandle(), vertex3.getDocumentHandle(), e4, |
| 366 | + null); |
| 367 | + |
| 368 | + GraphEdgesOptions graphEdgesOptions = new GraphEdgesOptions(); |
| 369 | + graphEdgesOptions.setNeighborExamples(new TestComplexEntity01(null, null, 36)); |
| 370 | + |
| 371 | + EdgeCursor<TestComplexEntity02> cursor = driver.graphGetEdgeCursor(GRAPH_NAME, TestComplexEntity02.class, |
| 372 | + vertex1.getDocumentHandle(), graphEdgesOptions, getAqlQueryOptions(true, 10, true)); |
| 373 | + |
| 374 | + assertEquals(201, cursor.getCode()); |
| 375 | + assertEquals(1, cursor.getCount()); |
| 376 | + assertEquals(edge1.getDocumentHandle(), cursor.getUniqueResult().getDocumentHandle()); |
| 377 | + } |
| 378 | + |
| 379 | + @Test |
| 380 | + public void graphGetEdgeCursorByExampleStartVertexRestriction() throws ArangoException { |
| 381 | + final TestComplexEntity01 v1 = new TestComplexEntity01("Homer", "A Simpson", 38); |
| 382 | + final TestComplexEntity01 v2 = new TestComplexEntity01("Marge", "A Simpson", 36); |
| 383 | + final TestComplexEntity01 v3 = new TestComplexEntity01("Bart", "A Simpson", 10); |
| 384 | + final TestComplexEntity01 v4 = new TestComplexEntity01("Remoh", "Homer's twin", 38); |
| 385 | + |
| 386 | + final VertexEntity<TestComplexEntity01> vertex1 = driver.graphCreateVertex(GRAPH_NAME, "from1-1", v1, true); |
| 387 | + |
| 388 | + final VertexEntity<TestComplexEntity01> vertex2 = driver.graphCreateVertex(GRAPH_NAME, "to1-1", v2, true); |
| 389 | + |
| 390 | + final VertexEntity<TestComplexEntity01> vertex3 = driver.graphCreateVertex(GRAPH_NAME, "to1-1", v3, true); |
| 391 | + |
| 392 | + final VertexEntity<TestComplexEntity01> vertex4 = driver.graphCreateVertex(GRAPH_NAME, "from1-1", v4, true); |
| 393 | + |
| 394 | + driver.graphCreateEdge(GRAPH_NAME, "edge-1", null, vertex1.getDocumentHandle(), vertex2.getDocumentHandle(), |
| 395 | + new TestComplexEntity02(1, 2, 3), null); |
| 396 | + |
| 397 | + driver.graphCreateEdge(GRAPH_NAME, "edge-1", null, vertex1.getDocumentHandle(), vertex3.getDocumentHandle(), |
| 398 | + new TestComplexEntity02(4, 5, 6), null); |
| 399 | + |
| 400 | + driver.graphCreateEdge(GRAPH_NAME, "edge-1", null, vertex4.getDocumentHandle(), vertex2.getDocumentHandle(), |
| 401 | + new TestComplexEntity02(7, 8, 9), null); |
| 402 | + |
| 403 | + GraphEdgesOptions graphEdgesOptions = new GraphEdgesOptions(); |
| 404 | + List<String> startVertexCollectionRestriction = new ArrayList<String>(); |
| 405 | + startVertexCollectionRestriction.add("from1-1"); |
| 406 | + graphEdgesOptions.setStartVertexCollectionRestriction(startVertexCollectionRestriction); |
| 407 | + |
| 408 | + EdgeCursor<TestComplexEntity02> cursor = driver.graphGetEdgeCursor(GRAPH_NAME, TestComplexEntity02.class, |
| 409 | + new TestComplexEntity01(null, "A Simpson", null), graphEdgesOptions, getAqlQueryOptions(true, 10, true)); |
| 410 | + assertThat(cursor.getCount(), is(2)); |
| 411 | + } |
| 412 | + |
298 | 413 | @Test |
299 | 414 | public void shortestPathTest() throws ArangoException { |
300 | 415 |
|
|
0 commit comments