use of org.neo4j.test.GraphDescription.Graph in project neo4j by neo4j.
the class TestGraphDescription method verifyIKnowYou.
@Graph(value = { "I know you" }, nodes = { @NODE(name = "I", properties = { @PROP(key = "name", value = "me") }) })
private void verifyIKnowYou(String type, String myName) {
Map<String, Node> graph = data.get();
try (Transaction tx = graphdb.beginTx()) {
assertEquals(2, graph.size(), "Wrong graph size.");
Node iNode = tx.getNodeById(graph.get("I").getId());
assertNotNull(iNode, "The node 'I' was not defined");
Node you = tx.getNodeById(graph.get("you").getId());
assertNotNull(you, "The node 'you' was not defined");
assertEquals(myName, iNode.getProperty("name"), "'I' has wrong 'name'.");
assertEquals("you", you.getProperty("name"), "'you' has wrong 'name'.");
Iterator<Relationship> rels = iNode.getRelationships().iterator();
assertTrue(rels.hasNext(), "'I' has too few relationships");
Relationship rel = rels.next();
assertEquals(you, rel.getOtherNode(iNode), "'I' is not related to 'you'");
assertEquals(type, rel.getType().name(), "Wrong relationship type.");
assertFalse(rels.hasNext(), "'I' has too many relationships");
rels = you.getRelationships().iterator();
assertTrue(rels.hasNext(), "'you' has too few relationships");
rel = rels.next();
assertEquals(iNode, rel.getOtherNode(you), "'you' is not related to 'i'");
assertEquals(type, rel.getType().name(), "Wrong relationship type.");
assertFalse(rels.hasNext(), "'you' has too many relationships");
assertEquals(iNode, rel.getStartNode(), "wrong direction");
}
}
Aggregations