Beispiel #1
0
        public void DfsFindsCorrectNodes()
        {
            // create graph
            AnonymousNode node0 = new AnonymousNode()
            {
                Name = "node0"
            };
            AnonymousNode node1 = new AnonymousNode()
            {
                Name = "node1"
            };
            AnonymousNode node2 = new AnonymousNode(node0)
            {
                Name = "node2"
            };
            AnonymousNode node3 = new AnonymousNode(node0, node1)
            {
                Name = "node3"
            };
            AnonymousNode node4 = new AnonymousNode(node3)
            {
                Name = "node4"
            };
            PipelineGraph graph = new PipelineGraph {
                Nodes = { node0, node1, node2, node3, node4 }
            };

            Assert.Contains <Node>(node0, graph.DepthFirstSearch(node4));
            Assert.Contains <Node>(node1, graph.DepthFirstSearch(node4));
            Assert.DoesNotContain <Node>(node2, graph.DepthFirstSearch(node4));
            Assert.DoesNotContain <Node>(node4, graph.DepthFirstSearch(node3));
        }