def test_add_subgraph_escape_name(self): fac = PygraphvizFactory() g = fac.get_graph() fac.add_subgraph_to_graph(g, 'graph') self.assertEqual(1, len(g.subgraphs())) self.assertEqual('cluster_graph', g.subgraphs()[0].get_name()) self.assertEqual('graph', g.subgraphs()[0].graph_attr['label'])
def test_add_node_escape_name(self): fac = PygraphvizFactory() g = fac.get_graph() fac.add_node_to_graph(g, 'graph') self.assertEqual(1, len(g.nodes())) self.assertEqual('graph', g.nodes()[0].get_name()) self.assertEqual('graph', g.nodes()[0].attr['label'])
def test_add_edge(self): fac = PygraphvizFactory() g = fac.get_graph() fac.add_node_to_graph(g, 'foo') fac.add_node_to_graph(g, 'bar') fac.add_edge_to_graph(g, 'foo', 'bar') self.assertEqual(2, len(g.nodes())) self.assertEqual(1, len(g.edges())) self.assertEqual('foo', g.edges()[0][0]) self.assertEqual('bar', g.edges()[0][1])
def test_create_dot(self): fac = PygraphvizFactory() g = fac.get_graph() fac.add_node_to_graph(g, 'foo') fac.add_node_to_graph(g, 'edge') fac.add_edge_to_graph(g, 'foo', 'edge') fac.add_subgraph_to_graph(g, 'graph') snippets = [ 'strict digraph {\n\tgraph', 'foo', 'label=foo', '"edge"', 'label="edge"', 'foo -> "edge"' ] result = fac.create_dot(g) for sn in snippets: self.assertTrue(sn in result, '%s \nmissing in\n %s' % (sn, result))
def test_create_dot(self): fac = PygraphvizFactory() g = fac.get_graph() fac.add_node_to_graph(g, 'foo') fac.add_node_to_graph(g, 'edge') fac.add_edge_to_graph(g, 'foo', 'edge') fac.add_subgraph_to_graph(g, 'graph') snippets = ['strict digraph {\n\tgraph', 'foo', 'label=foo', '"edge"', 'label="edge"', 'foo -> "edge"'] result = fac.create_dot(g) for sn in snippets: self.assertTrue(sn in result, '%s \nmissing in\n %s' % (sn, result))
def test_create_dot(self): fac = PygraphvizFactory() g = fac.get_graph() fac.add_node_to_graph(g, 'foo') fac.add_node_to_graph(g, 'edge') fac.add_edge_to_graph(g, 'foo', 'edge') fac.add_subgraph_to_graph(g, 'graph') snippets = [ 'strict digraph { graph', 'foo', 'label=foo', '"edge"', 'label="edge"', 'foo -> "edge"' ] result = fac.create_dot(g) # get rid of version specific quotes / whitespaces result = re.sub('""', ' ', result) result = re.sub('[\n\t ]+', ' ', result) for sn in snippets: self.assertTrue(sn in result, '%s \nmissing in\n %s' % (sn, result))
def test_get_graph(self): fac = PygraphvizFactory() g = fac.get_graph() self.assertEquals('same', g.graph_attr['rank']) self.assertTrue(g.is_directed())