public void CreateNodeIfMissing() { var node1 = Node.CreateNode(); var cypher = new Cypher(); cypher.Start(s => s.Node("node1", node1.Id)); cypher.CreateUnique(l => l.Node("node1").To("likes").Node("node2")); cypher.Return(r => r.Node("node2")); var result = cypher.Execute(); Assert.IsTrue(result.Count() == 1); Assert.IsTrue(result.First().Field<Node>("node2") != null); }
public void CreateNodesWithProperties() { var p = new Properties(); p.SetProperty("name", "jack"); p.SetProperty("age", 12); var node1 = Node.CreateNode(); var cypher = new Cypher(); cypher.Start(s => s.Node("node1", node1.Id)); cypher.CreateUnique(l => l.Node("node1").To("likes").Node("node2", p)); cypher.Return(r => r.Node("node2")); var result = cypher.Execute(); Assert.IsTrue(result.Count() == 1); Assert.IsTrue(result.First().Field<Node>("node2") != null); var n2 = result.First().Field<Node>("node2"); Assert.IsTrue(n2.GetProperty<string>("name") == "jack"); Assert.IsTrue(n2.GetProperty<int>("age") == 12); }
public void CreateRelationshipIfMissing() { var node1 = Node.CreateNode(); var node2 = Node.CreateNode(); var node3 = Node.CreateNode(); var cypher = new Cypher(); cypher.Start(s => s.Node("node1", node1.Id).Node("node2", node2.Id, node3.Id)); cypher.CreateUnique(l => l.Node("node1").To("r", "likes").Node("node2")); cypher.Return(r => r.Relationship("r")); var result = cypher.Execute(); Assert.IsTrue(result.Count() == 2); var r1 = result.First().Field<Relationship>("r"); var r2 = result.ElementAt(1).Field<Relationship>("r"); Assert.IsTrue(r1.StartNode == node1); Assert.IsTrue(r1.EndNode == node2); Assert.IsTrue(r2.StartNode == node1); Assert.IsTrue(r2.EndNode == node3); }
public void CreateRelationshipWithProperties() { var node1 = Node.CreateNode(); var node2 = Node.CreateNode(); var p = new Properties(); p.SetProperty("name", "jack"); p.SetProperty("age", 12); var cypher = new Cypher(); cypher.Start(s => s.Node("n1", node1.Id).Node("n2", node2.Id)); cypher.CreateUnique(l => l.Node("n1").To("r", "like", p).Node("n2")); cypher.Return(r => r.Relationship("r")); var result = cypher.Execute(); Assert.IsTrue(result.Count() == 1); Assert.IsTrue(result.First().Field<Relationship>("r") != null); var rel = result.First().Field<Relationship>("r"); Assert.IsTrue(rel.StartNode == node1); Assert.IsTrue(rel.EndNode == node2); Assert.IsTrue(rel.GetProperty<string>("name") == "jack"); Assert.IsTrue(rel.GetProperty<int>("age") == 12); }