(t *testing.T)
| 346 | } |
| 347 | |
| 348 | func TestQueryStatistics(t *testing.T) { |
| 349 | graph.Flush() |
| 350 | err := graph.Delete() |
| 351 | assert.Nil(t,err) |
| 352 | |
| 353 | q := "CREATE (:Person{name:'a',age:32,array:[0,1,2]})" |
| 354 | res, err := graph.Query(q) |
| 355 | assert.Nil(t,err) |
| 356 | |
| 357 | assert.Equal(t, 1, res.NodesCreated(), "Expecting 1 node created") |
| 358 | assert.Equal(t, 0, res.NodesDeleted(), "Expecting 0 nodes deleted") |
| 359 | assert.Greater(t, res.InternalExecutionTime(),0.0, "Expecting internal execution time not to be 0.0") |
| 360 | assert.Equal(t, true, res.Empty(), "Expecting empty resultset") |
| 361 | |
| 362 | res,err = graph.Query("MATCH (n) DELETE n") |
| 363 | assert.Nil(t,err) |
| 364 | assert.Equal(t, 1, res.NodesDeleted(), "Expecting 1 nodes deleted") |
| 365 | |
| 366 | // Create 2 nodes connect via a single edge. |
| 367 | japan := NodeNew("Country", "j", nil) |
| 368 | john := NodeNew("Person", "p", nil) |
| 369 | edge := EdgeNew("Visited", john, japan, nil) |
| 370 | |
| 371 | // Set node properties. |
| 372 | john.SetProperty("name", "John Doe") |
| 373 | john.SetProperty("age", 33) |
| 374 | john.SetProperty("gender", "male") |
| 375 | john.SetProperty("status", "single") |
| 376 | |
| 377 | japan.SetProperty("name", "Japan") |
| 378 | japan.SetProperty("population", 126800000) |
| 379 | |
| 380 | edge.SetProperty("year", 2017) |
| 381 | |
| 382 | // Introduce entities to graph. |
| 383 | graph.AddNode(john) |
| 384 | graph.AddNode(japan) |
| 385 | graph.AddEdge(edge) |
| 386 | |
| 387 | // Flush graph to DB. |
| 388 | res, err = graph.Commit() |
| 389 | assert.Nil(t,err) |
| 390 | assert.Equal(t, 2, res.NodesCreated(), "Expecting 2 node created") |
| 391 | assert.Equal(t, 0, res.NodesDeleted(), "Expecting 0 nodes deleted") |
| 392 | assert.Equal(t, 7, res.PropertiesSet(), "Expecting 7 properties set") |
| 393 | assert.Equal(t, 1, res.RelationshipsCreated(), "Expecting 1 relationships created") |
| 394 | assert.Equal(t, 0, res.RelationshipsDeleted(), "Expecting 0 relationships deleted") |
| 395 | assert.Greater(t, res.InternalExecutionTime(),0.0, "Expecting internal execution time not to be 0.0") |
| 396 | assert.Equal(t, true, res.Empty(), "Expecting empty resultset") |
| 397 | q = "MATCH p = (:Person)-[:Visited]->(:Country) RETURN p" |
| 398 | res, err = graph.Query(q) |
| 399 | assert.Nil(t,err) |
| 400 | assert.Equal(t, len(res.results), 1, "expecting 1 result record") |
| 401 | assert.Equal(t, false, res.Empty(), "Expecting resultset to have records") |
| 402 | res,err = graph.Query("MATCH ()-[r]-() DELETE r") |
| 403 | assert.Nil(t,err) |
| 404 | assert.Equal(t, 1, res.RelationshipsDeleted(), "Expecting 1 relationships deleted") |
| 405 | } |
nothing calls this directly
no test coverage detected