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 }
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); }
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); }
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()); }
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. }
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()); }
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); }
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); }
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); }
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); }