def test_sucessors(self): graph = Graph({ "a": set(["b", "d"]), "b": set(["a"]), "c": set([]), "d": set(["a"]), "e": set([]) }) with self.assertRaises(NotDigraphError): graph.sucessors("a")
def test_sucessors(self): graph = Graph({ "a": set(["b", "d"]), "b": set(["a"]), "c": set([]), "d": set([]), "e": set([]) }, digraph=True) self.assertTrue(graph.sucessors("a") == set(["b", "d"])) self.assertEqual(len(graph.sucessors("a")), 2)
def test_disconnect_without_vertices(self): graph = Graph(digraph=True) self.assertFalse(graph.sucessors("a") == set(["c"])) self.assertFalse(graph.predecessors("a") == set(["c"])) self.assertEqual(graph.in_degree("a"), 0) self.assertEqual(graph.out_degree("a"), 0) graph.disconnect("a", "c") self.assertFalse(graph.sucessors("a") == set(["c"])) self.assertFalse(graph.predecessors("a") == set(["c"])) self.assertEqual(graph.in_degree("a"), 0) self.assertEqual(graph.out_degree("a"), 0)
def test_disconnect_with_inexistent_vertex(self): graph = Graph({ "a": set(["b", "d"]), "b": set(["a"]), "c": set([]), "d": set([]), "e": set([]) }, digraph=True) graph.disconnect("a", "z") graph.disconnect("a", "y") graph.disconnect("a", "h") self.assertFalse(graph.sucessors("a") == set([])) self.assertFalse(graph.predecessors("a") == set([])) self.assertNotEqual(graph.in_degree("a"), 0) self.assertNotEqual(graph.out_degree("a"), 0) self.assertTrue(graph.sucessors("a") == set(["b", "d"])) self.assertTrue(graph.predecessors("a") == set(["b"])) self.assertEqual(graph.in_degree("a"), 1) self.assertEqual(graph.out_degree("a"), 2)
def test_disconnect(self): graph = Graph({ "a": set(["b", "d"]), "b": set(["a"]), "c": set([]), "d": set([]), "e": set([]) }, digraph=True) graph.disconnect("a", "b") self.assertTrue(graph.sucessors("a") == set(["d"])) self.assertEqual(graph.in_degree("a"), 1) self.assertEqual(graph.out_degree("a"), 1)