public void Transition_Document_Generates_Graph()
        {
            var document = XDocument.Load(TransitionDocument);
            var builder = new WorkItemStateGraphBuilder();
            var graph = builder.BuildStateGraph(document);

            Assert.IsNotNull(graph);
        }
        public void Transition_Document_Graph_Is_Searchable()
        {
            var document = XDocument.Load(TransitionDocument);
            var builder = new WorkItemStateGraphBuilder();
            var graph = builder.BuildStateGraph(document);

            var node = graph.Find("Failed Testing");

            Assert.IsNotNull(node);
        }
        public void Transition_Document_Graph_Is_Walkable()
        {
            var document = XDocument.Load(TransitionDocument);
            var builder = new WorkItemStateGraphBuilder();
            var graph = builder.BuildStateGraph(document);
            var walker = new GraphWalker<string>(graph);

            var walkingPath = walker.TraverseTo("Closed");

            Assert.IsNotNull(walkingPath);
        }
        public void Search_Result_Is_Walkable()
        {
            var document = XDocument.Load(TransitionDocument);
            var builder = new WorkItemStateGraphBuilder();
            var graph = builder.BuildStateGraph(document);
            var node = graph.Find("Failed Testing");

            var walker = new GraphWalker<string>(node);
            var walk = walker.TraverseTo("Closed");

            Assert.IsNotNull(walk);
        }