Beispiel #1
0
            public void Should_Group_Parallel_Nodes()
            {
                var graph = new CakeGraph();

                graph.Connect("1", "2");
                graph.Connect("1", "3");
                graph.Connect("1", "4");
                graph.Connect("2", "5");
                graph.Connect("3", "5");
                graph.Connect("4", "5");

                var result = graph.TraverseAndGroup("5").ToArray();

                Assert.Equal(3, result.Length);

                Assert.Equal(1, result[0].Count());
                Assert.Equal("1", result[0].First());

                Assert.Equal(3, result[1].Count());
                Assert.Equal("2", result[1].First());
                Assert.Equal("3", result[1].Skip(1).First());
                Assert.Equal("4", result[1].Skip(2).First());

                Assert.Equal(1, result[2].Count());
                Assert.Equal("5", result[2].First());
            }