public void Reach_CircleGraph_All() { var graphDict = new Dictionary<string, IEnumerable<string>>(); graphDict.Add("a", new List<string> { "b", "c" }); graphDict.Add("b", new List<string> { "d" }); graphDict.Add("c", new List<string> { "d" }); graphDict.Add("d", new List<string> { "a" }); var reach = graphDict.GetReach("a"); Assert.IsTrue(reach.ContainsAllVertices("a", "b", "c", "d")); }
public void Reach_LineGraphFromSecondLast_LastTwoVerticesReached() { var graphDict = new Dictionary<string, IEnumerable<string>>(); graphDict.Add("a", new List<string> { "b" }); graphDict.Add("b", new List<string> { "c" }); graphDict.Add("c", new List<string> { "d" }); graphDict.Add("d", new List<string> { }); var reach = graphDict.GetReach("c"); Assert.IsTrue(reach.ContainsAllVerticesNot("a", "b")); Assert.IsTrue(reach.ContainsAllVertices("c", "d")); }
public void Reach_LineGraphFromSecondLast_LastTwoVerticesReached() { var graphDict = new Dictionary <string, IEnumerable <string> >(); graphDict.Add("a", new List <string> { "b" }); graphDict.Add("b", new List <string> { "c" }); graphDict.Add("c", new List <string> { "d" }); graphDict.Add("d", new List <string> { }); var reach = graphDict.GetReach("c"); Assert.IsTrue(reach.ContainsAllVerticesNot("a", "b")); Assert.IsTrue(reach.ContainsAllVertices("c", "d")); }
public void Reach_CircleGraph_All() { var graphDict = new Dictionary <string, IEnumerable <string> >(); graphDict.Add("a", new List <string> { "b", "c" }); graphDict.Add("b", new List <string> { "d" }); graphDict.Add("c", new List <string> { "d" }); graphDict.Add("d", new List <string> { "a" }); var reach = graphDict.GetReach("a"); Assert.IsTrue(reach.ContainsAllVertices("a", "b", "c", "d")); }