use of org.neo4j.graphdb.Node in project neo4j by neo4j.
the class TestNeo4jCacheAndPersistence method testAddCacheCleared.
@Test
public void testAddCacheCleared() {
Node nodeA = getGraphDb().createNode();
nodeA.setProperty("1", 1);
Node nodeB = getGraphDb().createNode();
Relationship rel = nodeA.createRelationshipTo(nodeB, MyRelTypes.TEST);
rel.setProperty("1", 1);
commit();
newTransaction();
nodeA.createRelationshipTo(nodeB, MyRelTypes.TEST);
int count = 0;
for (Relationship relToB : nodeA.getRelationships(MyRelTypes.TEST)) {
count++;
}
assertEquals(2, count);
nodeA.setProperty("2", 2);
assertEquals(1, nodeA.getProperty("1"));
rel.setProperty("2", 2);
assertEquals(1, rel.getProperty("1"));
// trigger empty load
getGraphDb().getNodeById(nodeA.getId());
getGraphDb().getRelationshipById(rel.getId());
// apply COW maps
commit();
newTransaction();
count = 0;
for (Relationship relToB : nodeA.getRelationships(MyRelTypes.TEST)) {
count++;
}
assertEquals(2, count);
assertEquals(1, nodeA.getProperty("1"));
assertEquals(1, rel.getProperty("1"));
assertEquals(2, nodeA.getProperty("2"));
assertEquals(2, rel.getProperty("2"));
}
use of org.neo4j.graphdb.Node in project neo4j by neo4j.
the class TestNeo4jCacheAndPersistence method testSameTxWithArray.
@Test
public void testSameTxWithArray() {
commit();
newTransaction();
Node nodeA = getGraphDb().createNode();
Node nodeB = getGraphDb().createNode();
Relationship relA = nodeA.createRelationshipTo(nodeB, MyRelTypes.TEST);
nodeA.setProperty(arrayKey, array);
relA.setProperty(arrayKey, array);
assertTrue(nodeA.getProperty(arrayKey) != null);
assertTrue(relA.getProperty(arrayKey) != null);
relA.delete();
nodeA.delete();
nodeB.delete();
}
use of org.neo4j.graphdb.Node in project neo4j by neo4j.
the class TestNeo4jCacheAndPersistence method testNodeMultiRemoveProperty.
@Test
public void testNodeMultiRemoveProperty() {
Node node = getGraphDb().createNode();
node.setProperty("key0", "0");
node.setProperty("key1", "1");
node.setProperty("key2", "2");
node.setProperty("key3", "3");
node.setProperty("key4", "4");
newTransaction();
node.removeProperty("key3");
node.removeProperty("key2");
node.removeProperty("key3");
newTransaction();
assertEquals("0", node.getProperty("key0"));
assertEquals("1", node.getProperty("key1"));
assertEquals("4", node.getProperty("key4"));
assertTrue(!node.hasProperty("key2"));
assertTrue(!node.hasProperty("key3"));
node.delete();
}
use of org.neo4j.graphdb.Node in project neo4j by neo4j.
the class TestRelationship method testSimple2.
@Test
public void testSimple2() {
Node node1 = getGraphDb().createNode();
Node node2 = getGraphDb().createNode();
for (int i = 0; i < 3; i++) {
node1.createRelationshipTo(node2, MyRelTypes.TEST);
node1.createRelationshipTo(node2, MyRelTypes.TEST_TRAVERSAL);
node1.createRelationshipTo(node2, MyRelTypes.TEST2);
}
allGetRelationshipMethods(node1, Direction.OUTGOING);
allGetRelationshipMethods(node2, Direction.INCOMING);
newTransaction();
allGetRelationshipMethods(node1, Direction.OUTGOING);
allGetRelationshipMethods(node2, Direction.INCOMING);
node1.getRelationships(MyRelTypes.TEST, Direction.OUTGOING).iterator().next().delete();
node1.getRelationships(MyRelTypes.TEST_TRAVERSAL, Direction.OUTGOING).iterator().next().delete();
node1.getRelationships(MyRelTypes.TEST2, Direction.OUTGOING).iterator().next().delete();
node1.createRelationshipTo(node2, MyRelTypes.TEST);
node1.createRelationshipTo(node2, MyRelTypes.TEST_TRAVERSAL);
node1.createRelationshipTo(node2, MyRelTypes.TEST2);
allGetRelationshipMethods(node1, Direction.OUTGOING);
allGetRelationshipMethods(node2, Direction.INCOMING);
newTransaction();
allGetRelationshipMethods(node1, Direction.OUTGOING);
allGetRelationshipMethods(node2, Direction.INCOMING);
for (Relationship rel : node1.getRelationships()) {
rel.delete();
}
node1.delete();
node2.delete();
}
use of org.neo4j.graphdb.Node in project neo4j by neo4j.
the class TestRelationship method testDirectedRelationship.
@Test
public void testDirectedRelationship() {
Node node1 = getGraphDb().createNode();
Node node2 = getGraphDb().createNode();
Relationship rel2 = node1.createRelationshipTo(node2, MyRelTypes.TEST);
Relationship rel3 = node2.createRelationshipTo(node1, MyRelTypes.TEST);
Node[] nodes = rel2.getNodes();
assertEquals(2, nodes.length);
assertTrue(nodes[0].equals(node1) && nodes[1].equals(node2));
nodes = rel3.getNodes();
assertEquals(2, nodes.length);
assertTrue(nodes[0].equals(node2) && nodes[1].equals(node1));
assertEquals(node1, rel2.getStartNode());
assertEquals(node2, rel2.getEndNode());
assertEquals(node2, rel3.getStartNode());
assertEquals(node1, rel3.getEndNode());
Relationship[] relArray = getRelationshipArray(node1.getRelationships(MyRelTypes.TEST, Direction.OUTGOING));
assertEquals(1, relArray.length);
assertEquals(rel2, relArray[0]);
relArray = getRelationshipArray(node1.getRelationships(MyRelTypes.TEST, Direction.INCOMING));
assertEquals(1, relArray.length);
assertEquals(rel3, relArray[0]);
relArray = getRelationshipArray(node2.getRelationships(MyRelTypes.TEST, Direction.OUTGOING));
assertEquals(1, relArray.length);
assertEquals(rel3, relArray[0]);
relArray = getRelationshipArray(node2.getRelationships(MyRelTypes.TEST, Direction.INCOMING));
assertEquals(1, relArray.length);
assertEquals(rel2, relArray[0]);
rel2.delete();
rel3.delete();
node1.delete();
node2.delete();
}
Aggregations