Clusterizator.Krab.GraphManager.SearchConnection C# (CSharp) 메소드

SearchConnection() 공개 메소드

Searches connection index for pair of nodes.
public SearchConnection ( GraphElement firstElement, GraphElement secondElement ) : int
firstElement GraphElement /// First node. ///
secondElement GraphElement /// Second node. ///
리턴 int
        public int SearchConnection(GraphElement firstElement, GraphElement secondElement)
        {
            for (int i = 0; i < Connections.Count; i++)
            {
                bool normalOrder = firstElement.Id.Equals(Elements[Connections[i].FirstElementIndex].Id) &&
                                   secondElement.Id.Equals(Elements[Connections[i].SecondElementIndex].Id);

                bool inverseOrder = secondElement.Id.Equals(Elements[Connections[i].FirstElementIndex].Id) &&
                                    firstElement.Id.Equals(Elements[Connections[i].SecondElementIndex].Id);
                if (normalOrder || inverseOrder)
                {
                    return i;
                }
            }

            return -1;
        }

Same methods

GraphManager::SearchConnection ( int index1, int index2 ) : int

Usage Example

 public void SearchConnectionTest()
 {
     var connector = new GraphManager(connectionsList, elementsList);
     Assert.AreEqual(-1, connector.SearchConnection(elementsList[0], elementsList[0]), "Search fault failure");
     Assert.AreEqual(-1, connector.SearchConnection(elementsList[4], elementsList[4]), "Search fault failure");
     Assert.AreEqual(0, connector.SearchConnection(elementsList[0], elementsList[1]), "Search fault failure");
     Assert.AreEqual(0, connector.SearchConnection(elementsList[1], elementsList[0]), "Search fault failure");
     Assert.AreEqual(14, connector.SearchConnection(elementsList[4], elementsList[5]), "Search fault failure");
     Assert.AreEqual(14, connector.SearchConnection(elementsList[5], elementsList[4]), "Search fault failure");
     Assert.AreEqual(0, connector.SearchConnection(elementsList[1], elementsList[0]), "Search fault failure");
 }