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)); }