Пример #1
0
        public void BreadthFirst_Smoke_Test()
        {
            var graph = new Graph <char>();

            graph.AddVertex('A');
            graph.AddVertex('B');
            graph.AddVertex('C');
            graph.AddVertex('D');
            graph.AddVertex('E');

            graph.AddVertex('F');
            graph.AddVertex('G');
            graph.AddVertex('H');
            graph.AddVertex('I');

            graph.AddEdge('A', 'B');
            graph.AddEdge('B', 'C');
            graph.AddEdge('C', 'D');
            graph.AddEdge('D', 'E');
            graph.AddEdge('E', 'F');
            graph.AddEdge('F', 'G');
            graph.AddEdge('G', 'H');
            graph.AddEdge('H', 'I');

            var algorithm = new BreadthFirst <char>();

            Assert.IsTrue(algorithm.Find(graph, 'D'));

            Assert.IsFalse(algorithm.Find(graph, 'M'));
        }
        public void BreadthFirst_AdjacencyListGraph_Smoke_Test()
        {
            var graph = new Advanced.Algorithms.DataStructures.Graph.AdjacencyList.Graph <char>();

            graph.AddVertex('A');
            graph.AddVertex('B');
            graph.AddVertex('C');
            graph.AddVertex('D');
            graph.AddVertex('E');

            graph.AddVertex('F');
            graph.AddVertex('G');
            graph.AddVertex('H');
            graph.AddVertex('I');

            graph.AddEdge('A', 'B');
            graph.AddEdge('B', 'C');
            graph.AddEdge('C', 'D');
            graph.AddEdge('D', 'E');
            graph.AddEdge('E', 'F');
            graph.AddEdge('F', 'G');
            graph.AddEdge('G', 'H');
            graph.AddEdge('H', 'I');

            var algorithm = new BreadthFirst <char>();

            Assert.IsTrue(algorithm.Find(graph, 'D'));

            Assert.IsFalse(algorithm.Find(graph, 'M'));
        }
        public void VertexDoesNotExist()
        {
            // Arrange
            var graph = new Graph <char>();

            graph.AddVertex('A');
            graph.AddVertex('B');

            graph.AddEdge('A', 'B');

            var breadthFirst = new BreadthFirst <char>();

            // Act & Assert
            Assert.False(breadthFirst.Find(graph, 'X'));
        }
        public void Test()
        {
            // Arrange
            var graph = new Graph <char>();

            graph.AddVertex('A');
            graph.AddVertex('B');
            graph.AddVertex('C');
            graph.AddVertex('D');

            graph.AddEdge('A', 'B');
            graph.AddEdge('B', 'C');
            graph.AddEdge('C', 'D');

            var breadthFirst = new BreadthFirst <char>();

            // Act & Assert
            Assert.True(breadthFirst.Find(graph, 'A'));
        }