public UninformedSearch() { UndirectedSparseGraph <String> graph = new UndirectedSparseGraph <String>(); string[] vertices = new string[] { "a", "b", "c", "d", "e", "f", "g" }; graph.AddVertices(vertices); graph.SetEdge("a", "c", 1); graph.SetEdge("a", "d", 1); graph.SetEdge("b", "c", 1); graph.SetEdge("b", "e", 1); graph.SetEdge("d", "g", 1); graph.SetEdge("e", "f", 1); graph.SetEdge("f", "g", 1); _problem = new GraphProblem <string>(graph, "a", "e"); List <EdgeAction <String> > actionsFromA = _problem.Actions("a").Cast <EdgeAction <String> >().ToList(); List <EdgeAction <String> > actionsFromB = _problem.Actions("b").Cast <EdgeAction <String> >().ToList(); List <EdgeAction <String> > actionsFromC = _problem.Actions("c").Cast <EdgeAction <String> >().ToList(); List <EdgeAction <String> > actionsFromD = _problem.Actions("d").Cast <EdgeAction <String> >().ToList(); List <EdgeAction <String> > actionsFromE = _problem.Actions("e").Cast <EdgeAction <String> >().ToList(); List <EdgeAction <String> > actionsFromF = _problem.Actions("f").Cast <EdgeAction <String> >().ToList(); List <EdgeAction <String> > actionsFromG = _problem.Actions("g").Cast <EdgeAction <String> >().ToList(); Assert.Equal(actionsFromA, new List <EdgeAction <String> > { new EdgeAction <String>(new Edge <String>("a", "c", 1)), new EdgeAction <String>(new Edge <String>("a", "d", 1)) }); Assert.Equal(actionsFromB, new List <EdgeAction <String> > { new EdgeAction <String>(new Edge <String>("b", "c", 1)), new EdgeAction <String>(new Edge <String>("b", "e", 1)) }); Assert.Equal(actionsFromC, new List <EdgeAction <String> > { new EdgeAction <String>(new Edge <String>("c", "a", 1)), new EdgeAction <String>(new Edge <String>("c", "b", 1)) }); Assert.Equal(actionsFromD, new List <EdgeAction <String> > { new EdgeAction <String>(new Edge <String>("d", "a", 1)), new EdgeAction <String>(new Edge <String>("d", "g", 1)) }); Assert.Equal(actionsFromE, new List <EdgeAction <String> > { new EdgeAction <String>(new Edge <String>("e", "b", 1)), new EdgeAction <String>(new Edge <String>("e", "f", 1)) }); Assert.Equal(actionsFromF, new List <EdgeAction <String> > { new EdgeAction <String>(new Edge <String>("f", "e", 1)), new EdgeAction <String>(new Edge <String>("f", "g", 1)) }); Assert.Equal(actionsFromG, new List <EdgeAction <String> > { new EdgeAction <String>(new Edge <String>("g", "d", 1)), new EdgeAction <String>(new Edge <String>("g", "f", 1)) }); }