Пример #1
0
        public void ON_GetEdgeData_WHEN_Vertices_Exist_But_Edge_Does_Not_Exist_SHOULD_Throw_KeyNotFoundException()
        {
            // Arrange
            var uut = new SymbolGraph <string, string>(40, StringComparer.InvariantCultureIgnoreCase);

            TestEdgesFactory.Define(uut, v => v.Source + v.Destination,
                                    TestEdgesFactory.DefinitionSet.PathA2J);
            // Act
            var _ = uut.GetEdgeData("B", "A");
            // Assert handled by expected exception
        }
Пример #2
0
        public void ON_ContainsVertex_WHEN_SymbolComparer_Set_To_InvariantCulture_AND_Vertex_Lower_Case_SHOULD_Return_False()
        {
            // Arrange
            var uut = new SymbolGraph <string, string>(40, StringComparer.InvariantCulture);

            TestEdgesFactory.Define(uut, v => v.Source + v.Destination, TestEdgesFactory.DefinitionSet.PathA2J);
            // Act
            var res = uut.ContainsVertex("a");

            // Assert
            Assert.IsFalse(res);
        }
Пример #3
0
        public void ON_GetEdgeData_WHEN_Edge_Exists_SHOULD_Return_Edge_Data()
        {
            // Arrange
            var uut = new SymbolGraph <string, string>(40, StringComparer.InvariantCultureIgnoreCase);

            TestEdgesFactory.Define(uut, v => v.Source + v.Destination,
                                    TestEdgesFactory.DefinitionSet.PathA2J);
            // Act
            var data = uut.GetEdgeData("C", "D");

            // Assert
            Assert.AreEqual("CD", data);
        }
Пример #4
0
        public void ON_GetCompacted_WHEN_Edges_Filtered_Out_SHOULD_Return_Graph_With_All_Not_Filtered_Edges_Source_Graph_Edges()
        {
            // Arrange
            var source = new SymbolGraph <string, string>(40, StringComparer.InvariantCultureIgnoreCase);

            TestEdgesFactory.Define(source, v => v.Source + v.Destination,
                                    TestEdgesFactory.DefinitionSet.PathA2J | TestEdgesFactory.DefinitionSet.PathsFromQRS |
                                    TestEdgesFactory.DefinitionSet.SelfT);
            // Act
            var uut = source.GetCompacted().Data;

            // Assert
            CollectionAssert.AreEquivalent(source.GetEdges().ToArray(), uut.GetEdges().ToArray());
        }
Пример #5
0
        public void ON_ConvertPathToEdgeData_WHEN_Path_Does_Not_Exist_SHOULD_Throw_Exception()
        {
            // Arrange
            var uut = new SymbolGraph <string, string>(40, StringComparer.InvariantCultureIgnoreCase);

            TestEdgesFactory.Define(uut, v => v.Source + v.Destination,
                                    TestEdgesFactory.DefinitionSet.PathA2J | TestEdgesFactory.DefinitionSet.JA);

            uut.Freeze();

            // Act
            var _ = uut.ConvertPathToEdgeData("ADJF".AsStrings()).ToArray();
            // Assert handled by expected exception.
        }
Пример #6
0
        public void ON_ConvertPathToEdgeData_WHEN_Path_Exists_SHOULD_Return_Path_Edge_Data()
        {
            // Arrange
            var uut = new SymbolGraph <string, string>(40, StringComparer.InvariantCultureIgnoreCase);

            TestEdgesFactory.Define(uut, v => v.Source + v.Destination,
                                    TestEdgesFactory.DefinitionSet.PathA2J | TestEdgesFactory.DefinitionSet.JA);

            uut.Freeze();

            // Act
            var edges = uut.ConvertPathToEdgeData("ABCD".AsStrings()).ToArray();

            // Assert
            CollectionAssert.AreEqual(EnumerableExtensions.Enumerate("AB", "BC", "CD").ToArray(), edges.ToArray());
        }
Пример #7
0
        public void ON_GetPathTo_WHEN_Single_Path_Exist_SHOULD_Return_Proper_Path()
        {
            // Arrange
            var uut = new SymbolGraph <string, string>(40, StringComparer.InvariantCultureIgnoreCase);

            TestEdgesFactory.Define(uut, v => v.Source + v.Destination, TestEdgesFactory.DefinitionSet.PathA2J);

            uut.Freeze();

            var map = uut.GetSearchMapFrom("A");

            // Act
            var path = map.GetPathTo("J").ToArray();

            // Assert
            CollectionAssert.AreEqual(TestEdgesFactory.VertexSymbolsA2J, path);
        }
Пример #8
0
        public void ON_GetPathTo_WHEN_Vertex_Does_Not_Exist_SHOULD_Return_Empty()
        {
            // Arrange
            var uut = new SymbolGraph <string, string>(40, StringComparer.InvariantCultureIgnoreCase);

            TestEdgesFactory.Define(uut, v => v.Source + v.Destination,
                                    TestEdgesFactory.DefinitionSet.PathA2J);

            uut.Freeze();

            var map = uut.GetSearchMapFrom("@");
            // Act
            var any = map.GetPathTo("!").Any();

            // Assert
            Assert.IsFalse(any);
        }
Пример #9
0
        public void ON_GetPathTo_WHEN_Vertex_Self_Looped_SHOULD_Return_Buckle_Path()
        {
            // Arrange
            var uut = new SymbolGraph <string, string>(40, StringComparer.InvariantCultureIgnoreCase);

            TestEdgesFactory.Define(uut, v => v.Source + v.Destination,
                                    TestEdgesFactory.DefinitionSet.PathA2J | TestEdgesFactory.DefinitionSet.JA | TestEdgesFactory.DefinitionSet.SelfA2J);

            uut.Freeze();

            var map = uut.GetSearchMapFrom("B");
            // Act
            var path = map.GetPathTo("B").ToArray();

            // Assert
            CollectionAssert.AreEqual("BB".AsStrings().ToArray(), path);
        }
Пример #10
0
        public void ON_GetPathTo_WHEN_Multiple_Paths_SHOULD_Return_Shortest_Path()
        {
            // Arrange
            var uut = new SymbolGraph <string, string>(40, StringComparer.InvariantCultureIgnoreCase);

            TestEdgesFactory.Define(uut, v => v.Source + v.Destination,
                                    TestEdgesFactory.DefinitionSet.PathA2J | TestEdgesFactory.DefinitionSet.EMFNBIGD);

            uut.Freeze();

            var map = uut.GetSearchMapFrom("A");
            // Act
            var path = map.GetPathTo("J").ToArray();

            // Assert
            CollectionAssert.AreEqual("ABIJ".AsStrings().ToArray(), path);
        }