def test_append_edge_with_ident_set(self): node1 = Vertex(label="NODE") node2 = Vertex(label="NODE") edge = Edge(node1, "knows", node2) edge.ident = 0 self.assertRaises(interfaces.DatabaseException, self.graph.append_edge, edge)
def setUp(self): id_generator = IDGenerator() self.marko = Vertex( "Father", name="Marko", surname="Jones", age=30, ) self.john = Vertex( "Brother", name="John", surname="Jones", age=30 ) self.peter = Vertex( "Uncle", name="Peter", surname="Doe", age=20 ) # add id's to the unbound vertices self.marko.ident = id_generator.get_vertex_id() self.john.ident = id_generator.get_vertex_id() self.peter.ident = id_generator.get_vertex_id() self.container = EntitySet([self.marko, self.john, self.peter])
def test_union_filter_for_labels_with_no_props(self): id_generator = IDGenerator() marko = Vertex( "person", name="Marko", ) josh = Vertex( "person", name="Marko", ) edge = Edge(marko, "father", josh) edge2 = Edge(josh, "son", marko) # attach ID's to the vertices and edges. marko.ident = id_generator.get_vertex_id() josh.ident = id_generator.get_vertex_id() edge.ident = id_generator.get_edge_id() edge2.ident = id_generator.get_edge_id() container1 = EntitySet() container2 = EntitySet() container1.add(edge) container2.add(edge2) container3 = container1 | container2 self.assertEqual(container3.filter("father").sorted(), sorted([edge])) self.assertEqual(container3.filter("son").sorted(), sorted([edge2]))
def test_append_edge(self): node1 = Vertex(label="NODE") node2 = Vertex(label="NODE") edge = Edge(node1, "knows", node2) self.graph.append_edge(edge) self.assertEqual(edge.ident, self.graph._id_tracker.eid - 1) self.assertIn(edge, self.graph) self.assertEqual(edge.is_bound(), True)
def test_filter_for_labels_with_no_props(self): marko = Vertex( "person", name="Marko", ) josh = Vertex( "person", name="Marko", ) edge = Edge(marko, "father", josh) container = EntitySet() container.add(edge) self.assertEqual(container.filter("father").sorted(), sorted([edge]))
def test_add_out_edge_unbound(self): marko = Vertex("person", name="marko") josh = Vertex("person", name="josh") new_edge = marko.add_out_edge(josh, "knows") self.assertIsInstance(new_edge, IEdge) self.assertIn( new_edge, marko.out_edges, ) self.assertEqual( marko.get_both_edges().sorted(), [new_edge], )
def test_bind_to_graph(self): sue = Vertex(100, name="Sue") self.graph.bind_to_graph(sue) self.assertIs( sue.graph, self.graph )
def test_remove_unknown_entity_id(self): sue = Vertex(100, name="sue") self.assertRaises( KeyError, self.container.remove, sue, )
def test_set_property_on_an_unknown_entity(self): dog = Vertex("dog", name="socks") self.assertRaises( interfaces.UnknownEntityError, self.graph.set_property, dog, name="spot" )
def test_append_vertex_with_ident_set(self): node = Vertex(label="NODE") node.ident = 0 self.assertRaises( interfaces.EntityIDError, self.graph.append_vertex, node )
def test_intersection(self): sue = Vertex("Sister", name="Sue") intersection = self.container & EntitySet([self.marko, sue]) self.assertEqual( intersection.sorted(), # pylint: disable=no-member sorted([ self.marko, ]))
def test_add_dup_id(self): sue = Vertex("person", name="dup_vertex_id") sue.ident = 0 self.assertRaises( KeyError, self.container.add, sue )
def test_difference(self): sue = Vertex("Sister", name="Sue") diff = self.container - EntitySet([self.marko, sue]) self.assertEqual( diff.sorted(), # pylint: disable=no-member sorted([ self.john, self.peter, ]))
def test_filter_for_vertex_with_prop_None(self): sue = Vertex( "person", name="sue", age=None, ) self.container.add(sue) self.assertEqual( self.container.filter(name="Marko", age__gt=0).all(), [self.marko], )
def test_union(self): sue = Vertex( "Sister", name="Sue" ) union = self.container | EntitySet([sue, self.marko]) self.assertEqual( union.sorted(), # pylint: disable=no-member sorted( [ self.marko, self.john, self.peter, sue ] ) )
def setUp(self): self.marko = Vertex(label="person", name="marko", age=29) super(TestEdge, self).setUp()
def test_contains_vertex_not_found(self): v = Vertex("person", name="not_in_graph") self.assertEqual(self.graph.__contains__(v), False)
def test_append_vertex(self): node = Vertex(label="NODE") self.graph.append_vertex(node) self.assertEqual(node.ident, self.graph._id_tracker.vid - 1) self.assertIn(node, self.graph) self.assertEqual(node.is_bound(), True)