コード例 #1
0
        public void Test_AddEdge()
        {
            GraphVizProcessor gvp = new GraphVizProcessor();

            gvp.graph = new Graph(GraphType.Digraph, new Stmt_list());

            gvp.AddNode("tn1");
            gvp.AddNode("tn2");
            gvp.AddEdge("tn1", "tn2");
            gvp.AddEdge("tn3", "tn4");
            gvp.AddEdge("tn2", "tn3");
            string tmp = gvp.graph.ToCode();

            if (!tmp.Contains("tn1 -> tn2"))
            {
                Assert.Fail("Edge between existing nodes not found.");
            }
            if (!tmp.Contains("tn2 -> tn3"))
            {
                Assert.Fail("Edge between two other edges not found.");
            }
            if (!tmp.Contains("tn3 -> tn4"))
            {
                Assert.Fail("Edge between new nodes not found.");
            }
        }
コード例 #2
0
        public void Test_AddAttribute()
        {
            GraphVizProcessor gvp = new GraphVizProcessor();

            gvp.graph = new Graph(GraphType.Digraph, new Stmt_list());

            //Graph, Node, Edge attribute
            gvp.AddAttribute(AttrType.Graph, new IDisID("x", "y"));
            string tmp = gvp.graph.ToCode();

            if (!tmp.Contains("graph [x=y;]"))
            {
                Assert.Fail("Attr_stmt type attribute not found.");
            }

            //Specific node attribute
            gvp.AddNode("a");
            gvp.AddAttribute(AttrType.SpecificNode, new IDisID("x", "y"), "a");
            tmp = gvp.graph.ToCode();
            if (!tmp.Contains("a [x=y;]"))
            {
                Assert.Fail("Node attribute not found.");
            }

            //Specific node attribute
            gvp.AddEdge("a", "b");
            gvp.AddAttribute(AttrType.SpecificEdge, new IDisID("x", "y"), "a", "b");
            tmp = gvp.graph.ToCode();
            if (!tmp.Contains("a -> b [x=y;]"))
            {
                Assert.Fail("Edge attribute not found.");
            }
        }
コード例 #3
0
        public void Test_FindNode()
        {
            GraphVizProcessor gvp = new GraphVizProcessor();

            gvp.graph = new Graph(GraphType.Digraph, new Stmt_list());

            gvp.AddNode("a");

            if (gvp.FindNode("a") == null)
            {
                Assert.Fail("Node not found.");
            }
        }
コード例 #4
0
        public void Test_AddNode()
        {
            GraphVizProcessor gvp = new GraphVizProcessor();

            gvp.graph = new Graph(GraphType.Digraph, new Stmt_list());

            gvp.AddNode("testNode");
            string tmp = gvp.graph.ToCode();

            if (!tmp.Contains("testNode"))
            {
                Assert.Fail("Node not found.");
            }
        }
コード例 #5
0
        public void Test_ClearGraph()
        {
            GraphVizProcessor gvp = new GraphVizProcessor();

            gvp.graph = new Graph(GraphType.Digraph, new Stmt_list());

            gvp.AddNode("a");

            gvp.ClearGraph();

            if (gvp.NodeExists("a"))
            {
                Assert.Fail("Node found after clearing graph.");
            }
        }
コード例 #6
0
        public void Test_NodeExists()
        {
            GraphVizProcessor gvp = new GraphVizProcessor();

            gvp.graph = new Graph(GraphType.Digraph, new Stmt_list());

            //Node exists
            gvp.AddNode("a");
            if (!gvp.NodeExists("a"))
            {
                Assert.Fail("Node not found.");
            }

            //Node is part of an edge
            gvp.AddEdge("a", "b");
            if (!gvp.NodeExistsInEdge("a"))
            {
                Assert.Fail("Node in an edge not found.");
            }
        }
コード例 #7
0
        public void Test_RemoveNode()
        {
            GraphVizProcessor gvp = new GraphVizProcessor();

            gvp.graph = new Graph(GraphType.Digraph, new Stmt_list());

            gvp.AddNode("a");
            gvp.RemoveNode("a");
            if (gvp.NodeExists("a"))
            {
                Assert.Fail("Node found after removal.");
            }

            gvp.AddEdge("a", "b");
            gvp.RemoveNode("a");
            if (gvp.NodeExists("a"))
            {
                Assert.Fail("Node found after removal.");
            }
            if (!gvp.NodeExists("b"))
            {
                Assert.Fail("Second node of and edge not found.");
            }
        }