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