Clusterizator.Krab.GraphManager.Clone C# (CSharp) Метод

Clone() публичный Метод

Method creates copy of graph.
public Clone ( ) : GraphManager
Результат GraphManager
        public GraphManager Clone()
        {
            var tempConnections = new List<Connection>();
            var tempGraphElements = new List<GraphElement>();
            for (int i = 0; i < Connections.Count; i++)
            {
                tempConnections.Add(Connections[i].Clone());
            }

            for (int j = 0; j < Elements.Count; j++)
            {
                tempGraphElements.Add(Elements[j].Clone());
            }

            return new GraphManager(tempConnections, tempGraphElements);
        }

Usage Example

 public void CloneTest()
 {
     var connector = new GraphManager(connectionsList, elementsList);
     var connector2 = connector.Clone();
     Assert.IsInstanceOf(typeof(GraphManager), connector2);
     Assert.IsInstanceOf(typeof(Connection), connector2.Connections[0]);
     Assert.IsInstanceOf(typeof(GraphElement), connector2.Elements[1]);
     Assert.AreNotSame(connector, connector2);
     Assert.AreNotSame(connector.Elements[0], connector2.Elements[0]);
     Assert.AreNotSame(connector.Connections[1], connector2.Connections[1]);
 }
All Usage Examples Of Clusterizator.Krab.GraphManager::Clone