Search in sources :

Example 96 with Graph

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");
    }
}
Also used : Transaction(org.neo4j.graphdb.Transaction) Node(org.neo4j.graphdb.Node) Relationship(org.neo4j.graphdb.Relationship) Graph(org.neo4j.test.GraphDescription.Graph)

Aggregations

Graph (org.neo4j.test.GraphDescription.Graph)96 Test (org.junit.Test)92 Documented (org.neo4j.kernel.impl.annotations.Documented)48 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)37 Title (org.neo4j.test.TestData.Title)36 Node (org.neo4j.graphdb.Node)35 Relationship (org.neo4j.graphdb.Relationship)21 Transaction (org.neo4j.graphdb.Transaction)21 Map (java.util.Map)19 ArrayList (java.util.ArrayList)5 Matchers.containsString (org.hamcrest.Matchers.containsString)4 JsonHelper.jsonToMap (org.neo4j.server.rest.domain.JsonHelper.jsonToMap)4 HashSet (java.util.HashSet)3 Test (org.junit.jupiter.api.Test)3 RelationshipRepresentationTest (org.neo4j.server.rest.repr.RelationshipRepresentationTest)3 Collection (java.util.Collection)2 List (java.util.List)2 JsonNode (org.codehaus.jackson.JsonNode)2 PrettyJSON (org.neo4j.doc.server.rest.PrettyJSON)2 PrettyJSON (org.neo4j.server.rest.PrettyJSON)2